কোনটির মূল্য কী?


130

আমি পাইথন অধ্যয়ন করছি, এবং আমি একটি অধ্যায় পড়েছি যার Noneমান বর্ণনা করা হয়েছে , তবে দুর্ভাগ্যক্রমে এই বইটি কয়েকটি পর্যায়ে খুব স্পষ্ট নয়। আমি ভেবেছিলাম যে আমি আমার প্রশ্নের উত্তরটি খুঁজে পাব, যদি আমি সেখানে এটি ভাগ করে নিই।

আমি জানতে চাই যে Noneমূল্যটি কী এবং আপনি এটির জন্য কী ব্যবহার করেন?

এবং এছাড়াও, আমি বইয়ের এই অংশটি পাই না:

Noneকোনও ভেরিয়েবলের মান নির্ধারণ করা এটির আসল, খালি অবস্থায় পুনরায় সেট করার এক উপায়।

ওটার মানে কি?

উত্তরগুলি দুর্দান্ত ছিল, যদিও আমি কম্পিউটার জগত সম্পর্কে আমার কম জ্ঞানের কারণে আমি বেশিরভাগ উত্তর বুঝতে পারি নি (আমি ক্লাস, অবজেক্টস ইত্যাদি সম্পর্কে শিখি না)। এই বাক্যটির অর্থ কি?

Noneকোনও ভেরিয়েবলের মান নির্ধারণ করা এটির আসল, খালি অবস্থায় পুনরায় সেট করার এক উপায়।

ফাইনাল:

অবশেষে আমি আমার উত্তর পেয়েছি বিভিন্ন উত্তর খোঁজা থেকে। আমাকে অবশ্যই তাদের সহায়তা করার জন্য তাদের সময় দেওয়ার জন্য সমস্ত লোকের অবশ্যই কৃতজ্ঞতা জানাতে হবে (বিশেষত মার্তিজান পিটারস এবং ডিএসএম), এবং আমি আশা করি যে আমি সমস্ত উত্তর সেরা হিসাবে বেছে নিতে পারি, তবে নির্বাচনটি কেবল একটিতে সীমাবদ্ধ। উত্তরগুলির সমস্ত দুর্দান্ত ছিল।


39
এই বইটি খুব সহায়ক নয়; Noneভেরিয়েবলের জন্য কোনও ডিফল্ট খালি অবস্থা নয়।
মার্টিজন পিটারস

আমার মাথার শীর্ষে পিএইচপি একমাত্র ভাষা যার নাল মান একটি ভেরিয়েবলের জন্য ডিফল্ট খালি রাজ্যের সমতুল্য। এখন আমি ভাবছি যে অন্যান্য ভাষাগুলি এটি কী করে।
কোজিরো

@ কোজিরো পার্ল, যদিও উভয়ই সমতা অপারেটর তুলনার বিষয়ে খুশি নয় undef। যুক্তিযুক্তভাবে জাভাস্ক্রিপ্ট, যদিও এটি উভয়ই nullএবং রয়েছে undefined
ইভি

@ কোজিরো জাভাস্ক্রিপ্ট ভেরিয়েবলের ডিফল্ট মান হ'ল undefinedযদি অবিশ্রুত করা হয় ।
thefourtheye

ডান, যা থেকে পৃথকnull , একটি পয়েন্ট আমি তার উত্তরটিতে @ মার্তিজজনপিটারকে করতে ব্যর্থ হচ্ছি।
কোজিরো

উত্তর:


99

মার্তিজানের উত্তর Noneপাইথনে কী আছে তা ব্যাখ্যা করে এবং সঠিকভাবে জানিয়েছে যে বইটি বিভ্রান্তিকর। যেহেতু নিয়ম হিসাবে পাইথন প্রোগ্রামাররা কখনই এটি বলতে পারে না

Noneকোনও ভেরিয়েবলের মান নির্ধারণ করা এটির আসল, খালি অবস্থায় পুনরায় সেট করার এক উপায়।

ব্রিগস এর অর্থ কীভাবে বোঝায় তা বোঝা শক্ত এবং এখানে কেন কেউ এতে সন্তুষ্ট মনে হচ্ছে না তা ব্যাখ্যা করে। একটি উপমা যা সাহায্য করতে পারে:

পাইথনে, ভেরিয়েবলের নামগুলি বস্তুগুলিতে স্টিকার লাগানোর মতো। প্রতিটি স্টিকারের গায়ে লেখা একটি স্বতন্ত্র নাম রয়েছে এবং এটি একবারে কেবল একটি জিনিসে থাকতে পারে তবে আপনি যদি চান তবে একই জিনিসটিতে আপনি একাধিক স্টিকার লাগাতে পারেন। আপনি যখন লিখুন

F = "fork"

আপনি স্ট্রিং অবজেক্টে স্টিকার "এফ" রেখেছেন "fork"। আপনি যদি তারপর লিখুন

F = None

আপনি স্টিকারটিকে Noneঅবজেক্টে স্থানান্তরিত করুন ।

কি ব্রিগস কল্পনা করতে বলছি যে আপনি করেন নি লিখতে স্টিকার "F", সেখানে ছিল ইতিমধ্যে একটি Fস্টিকার None, এবং সমস্ত আপনি নি সরাতে এটা থেকে Noneথেকে "fork"। সুতরাং যখন আপনি টাইপ F = None, তুমি "রিসেট [Ting] এটি তার মূল, খালি অবস্থায়", যদি আমরা আচরণ করার সিদ্ধান্ত নিয়েছে Noneঅর্থ যেমন empty state

আমি কী দেখতে পাচ্ছি তা দেখতে পাচ্ছি, তবে এটি দেখার পক্ষে এটি খারাপ উপায়। আপনি যদি পাইথন শুরু করেন এবং টাইপ করেন তবে print(F)আপনি দেখতে পাবেন

>>> print(F)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'F' is not defined

এবং এর NameErrorঅর্থ পাইথন নামটি চিনে না F, কারণ এর মতো কোনও স্টিকার নেই । যদি ব্রিগেস সঠিক থাকে এবং তার মূল অবস্থার সাথে F = Noneপুনরায় সেট Fকরে, তবে এটি এখনই থাকা উচিত, এবং আমাদের দেখা উচিত

>>> print(F)
None

যেমন আমরা টাইপ F = Noneকরে স্টিকার লাগানোর পরে করি None


সুতরাং যে যা চলছে। বাস্তবে, পাইথন কিছু স্টিকার ইতিমধ্যে বস্তু (নাম বিল্ট-ইন) যুক্ত থাকে, কিন্তু অন্যরা যদি তুমি তোমার মত লাইনের লিখতে হবে F = "fork"এবং A = 2এবং c17 = 3.14, এবং তারপর আপনি পরে মত অন্যান্য বস্তুর উপর তাদের বিদ্ধ করতে পারেন ( F = 10অথবা F = Noneএটা সব একই ।)

ব্রিগস ভান করছে যে আপনি যে সমস্ত সম্ভাব্য স্টিকার লিখতে চাইতে পারেন তা ইতিমধ্যে Noneবস্তুর সাথে আটকে গিয়েছিল ।


1
দুঃখিত তবে আপনি ব্রিগস বলতে কী বোঝাতে চেয়েছেন? আপনি কি এই বইয়ের লেখককে উল্লেখ করছেন? কারণ তার নাম জেসন আর ব্রিগস।
The_Diver

@ দ্য ডাইভার: হ্যাঁ, তিনিই তিনি।
ডিএসএম

পাইথনের অন্তর্নির্মিত নামগুলি সম্পর্কে আমি আরও তথ্য কোথায় পেতে পারি? ধন্যবাদ
The_Diver

3
এটি একটি নন-প্রোগ্রামারটির জন্য দুর্দান্ত ব্যাখ্যা। আপনাকে অনেক ধন্যবাদ!
ক্রিস্টিনা

67

Noneকেবলমাত্র একটি মান যা সাধারণত 'খালি' বা 'এখানে কোনও মূল্য নেই' বোঝাতে ব্যবহৃত হয়। এটি একটি সংকেত বস্তু ; পাইথন ডকুমেন্টেশনের বলার সাথে এর অর্থ রয়েছে বলে এটির কেবল অর্থ রয়েছে।

প্রদত্ত পাইথন ইন্টারপ্রেটার সেশনে সেই অবজেক্টের কেবল একটি অনুলিপি রয়েছে।

যদি আপনি কোনও ফাংশন লেখেন, এবং সেই ফাংশনটি স্পষ্ট returnবক্তব্য ব্যবহার না করে , Noneপরিবর্তে ফিরে আসে, উদাহরণস্বরূপ। এইভাবে, ফাংশন সহ প্রোগ্রামিং অনেক সরলীকৃত; একটি ফাংশন সর্বদা কিছু ফেরত দেয় , এমনকি যদি এটি কেবলমাত্র একটি Noneবস্তু হয়।

আপনি এর জন্য স্পষ্টভাবে পরীক্ষা করতে পারেন:

if foo is None:
    # foo is set to None

if bar is not None:
    # bar is set to something *other* than None

আরেকটি ব্যবহার হ'ল 'খালি' ডিফল্ট ফাংশনগুলিকে alচ্ছিক পরামিতি দেওয়া:

def spam(foo=None):
    if foo is not None:
        # foo was specified, do something clever!

ফাংশনের spam()একটি optionচ্ছিক যুক্তি রয়েছে; যদি আপনি spam()এটি নির্দিষ্ট না করে কল করেন, ডিফল্ট মান Noneএটি দেওয়া হয়, এটি ফাংশনটি একটি আর্গুমেন্টের সাথে ডাকা হয়েছিল কিনা তা সনাক্ত করা সহজ করে তোলে।

অন্যান্য ভাষায় একই ধারণা রয়েছে। এসকিউএল রয়েছে NULL; জাভাস্ক্রিপ্ট আছে undefined এবং null , ইত্যাদি।

দ্রষ্টব্য যে পাইথনে, ভেরিয়েবলগুলি ব্যবহারের কারণে বিদ্যমান। আপনাকে প্রথমে কোনও ভেরিয়েবল ঘোষণা করার দরকার নেই, তাই পাইথনে সত্যিকারের কোনও খালি ভেরিয়েবল নেই । কোনও ভেরিয়েবল সেট করা Noneডিফল্ট খালি মান সেট করার মতো জিনিস নয়; Noneপ্রায়শই শূন্যতার ইঙ্গিত দেওয়ার জন্য ব্যবহৃত হলেও এটি একটি মান । আপনি যে বইটি পড়ছেন তা সেই দিক থেকে বিভ্রান্ত করছে।


1
আমি মনে করি এর শব্দার্থবিদ্যা শূন্যতা সেই থেকে ভিন্ন undefinedness । সুতরাং আমি নিশ্চিত নই যে জাভাস্ক্রিপ্ট এবং এসকিউএল অংশগুলি স্পষ্ট করছে - তারা সমস্যাটি বিভ্রান্ত করতে পারে। জাভাস্ক্রিপ্ট উভয় undefined এবং আছে null
কোজিরো

@ কোজিরো: undefinedজাভাস্ক্রিপ্টের একটি অবজেক্ট এবং আপনি Noneপাইথনের যেমন ব্যবহার করতে পারেন ঠিক তেমনভাবে আপনি সেই অবজেক্টটি ব্যবহার করতে পারেন । এটি অনেকটা একই অর্থ সহ একটি সিগন্যাল অবজেক্ট।
মার্টিজন পিটারস

@ কোজিরো: এসকিউএল কোনও প্রোগ্রামিং ল্যাঙ্গুয়েজ নয়, তবে NULLএখনও এমন একটি বিষয় যা স্পষ্টভাবে পরীক্ষার জন্য নির্ধারিত ও পরীক্ষা করা যেতে পারে।
মার্টিজন পিটারস

5
@MartijnPieters: এসকিউএল হয় একটি প্রোগ্রামিং ভাষা, শুধু একটি অত্যন্ত সুনির্দিষ্ট উদ্দেশ্য, ঘোষণামূলক করুন।
danielkza

3
@daniel: একটি প্রোগ্রামিং ভাষা হিসেবে খাসি এসকিউএল যোগ্যতা একটি দীর্ঘ বিতর্ক ... দেখুন হয়েছে stackoverflow.com/questions/900055/... আকর্ষণীয় কোণ জন্য।
মার্টিজন পিটারস

23

এই কি পাইথন ডকুমেন্টেশন সম্পর্কে বলার পেয়েছে None:

প্রকারের একমাত্র মান.নোনটাইপ। কোনও ডিফল্ট আর্গুমেন্ট কোনও ফাংশনে পাস না হওয়ার সাথে সাথে কোনও মানের অভাবে প্রতিনিধিত্ব করার জন্য প্রায়শই ব্যবহৃত হয় না।

সংস্করণ ২.৪ এ পরিবর্তিত হয়েছে: কারও কাছে বরাদ্দ দেওয়া অবৈধ নয় এবং একটি সিনট্যাক্সেরর উত্থাপন করুন।

দ্রষ্টব্য নামগুলি কোনও নয় এবং ডিবাগকে পুনরায় নিয়োগ দেওয়া যাবে না (তাদের কাছে অ্যাসাইনমেন্ট, এমনকি একটি বিশিষ্ট নাম হিসাবে, সিন্ট্যাক্সেরর উত্থাপন করুন), যাতে তাদের "সত্য" ধ্রুবক হিসাবে বিবেচনা করা যায়।

  1. আসুন Noneপ্রথম প্রকারটি নিশ্চিত করুন

    print type(None)
    print None.__class__

    আউটপুট

    <type 'NoneType'>
    <type 'NoneType'>

মূলত, NoneTypeশুধু মত একটি ডাটা টাইপ হল int, floatইত্যাদি আপনি পাইথন পাওয়া ডিফল্ট ধরনের তালিকাতে চেক আউট করতে পারেন 8.15। প্রকারভেদ - অন্তর্নির্মিত প্রকারের নাম

  1. এবং, বর্গ Noneউদাহরণ NoneType। সুতরাং আমরা Noneনিজেরাই দৃষ্টান্ত তৈরি করতে চাই । এর চেষ্টা করা যাক

    print types.IntType()
    print types.NoneType()

    আউটপুট

    0
    TypeError: cannot create 'NoneType' instances

সুতরাং পরিষ্কারভাবে, NoneTypeদৃষ্টান্ত তৈরি করতে পারে না । আমাদের মূল্যটির স্বতন্ত্রতা নিয়ে চিন্তা করতে হবে না None

  1. আসুন আমরা কীভাবে Noneঅভ্যন্তরীণভাবে প্রয়োগ করেছি তা পরীক্ষা করে দেখুন ।

    print dir(None)

    আউটপুট

    ['__class__', '__delattr__', '__doc__', '__format__', '__getattribute__', 
     '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__',
     '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']

ব্যতীত __setattr__অন্য সমস্তগুলি কেবল পঠনযোগ্য বৈশিষ্ট্য। সুতরাং, এর বৈশিষ্ট্যগুলিকে পরিবর্তন করার কোনও উপায় নেই None

  1. আসুন চেষ্টা করুন এবং এতে নতুন বৈশিষ্ট্য যুক্ত করুন None

    setattr(types.NoneType, 'somefield', 'somevalue')
    setattr(None, 'somefield', 'somevalue')
    None.somefield = 'somevalue'

    আউটপুট

    TypeError: can't set attributes of built-in/extension type 'NoneType'
    AttributeError: 'NoneType' object has no attribute 'somefield'
    AttributeError: 'NoneType' object has no attribute 'somefield'

উপরের দেখা বিবৃতি যথাক্রমে এই ত্রুটি বার্তা উত্পাদন করে produce এর অর্থ এই যে, আমরা কোনও Noneউদাহরণে গতিশীল বৈশিষ্ট্য তৈরি করতে পারি না ।

  1. আমাদের যখন কিছু অর্পণ করা হয় তখন কী ঘটেছিল তা পরীক্ষা করে দেখি None। ডকুমেন্টেশন অনুসারে এটি একটি নিক্ষেপ করা উচিত SyntaxError। এর অর্থ, আমরা যদি কিছু বরাদ্দ করি Noneতবে প্রোগ্রামটি মোটেই কার্যকর হবে না।

    None = 1

    আউটপুট

    SyntaxError: cannot assign to None

আমরা এটি প্রতিষ্ঠিত করেছি

  1. None একটি উদাহরণ NoneType
  2. None নতুন বৈশিষ্ট্য থাকতে পারে না
  3. এর বিদ্যমান বৈশিষ্ট্যগুলি Noneপরিবর্তন করা যায় না।
  4. আমরা এর অন্যান্য দৃষ্টান্ত তৈরি করতে পারি না NoneType
  5. এমনকি এর Noneমানগুলি নির্ধারণ করে আমরা রেফারেন্সটি পরিবর্তন করতে পারি না ।

সুতরাং, ডকুমেন্টেশনে উল্লিখিত হিসাবে, Noneসত্যই একটি হিসাবে বিবেচনা করা যেতে পারে true constant

খুশি জানা None:)


খুব খুব আকর্ষণীয় !! কারও __setattr__জন্য কী ব্যবহার করা হচ্ছে তা নিয়ে সন্দেহ
গ্রিজেশ চৌহান

9

বই আপনি পড়ুন পরিষ্কারভাবে করার চেষ্টা করছে ব্যাপকভাবে অর্থ প্রক্রিয়া সহজ None। পাইথন ভেরিয়েবল না আছে ইনিশিয়াল, খালি রাষ্ট্র - পাইথন ভেরিয়েবল আবদ্ধ (শুধুমাত্র) যখন তারা সংজ্ঞায়িত করছি । আপনি পাইথন ভেরিয়েবলকে মান না দিয়ে তৈরি করতে পারবেন না।

>>> print(x)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'x' is not defined
>>> def test(x):
...   print(x)
... 
>>> test()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: test() takes exactly 1 argument (0 given)
>>> def test():
...   print(x)
... 
>>> test()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in test
NameError: global name 'x' is not defined

তবে কখনও কখনও আপনি কোনও ভ্যারিয়েবল সংজ্ঞায়িত হয় কি না তার উপর নির্ভর করে কোনও ফাংশনকে বিভিন্ন জিনিস বোঝাতে চান। এর ডিফল্ট মান সহ আপনি একটি যুক্তি তৈরি করতে পারেন None:

>>> def test(x=None):
...   if x is None:
...     print('no x here')
...   else:
...     print(x)
... 
>>> test()
no x here
>>> test('x!')
x!

এই মানটি যে বিশেষ Noneমান তা এই ক্ষেত্রে মারাত্মকভাবে গুরুত্বপূর্ণ নয়। আমি কোনও ডিফল্ট মান ব্যবহার করতে পারতাম:

>>> def test(x=-1):
...   if x == -1:
...     print('no x here')
...   else:
...     print(x)
... 
>>> test()
no x here
>>> test('x!')
x!

… তবে Noneকাছাকাছি থাকা আমাদের দুটি সুবিধা দেয়:

  1. -1যার অর্থ অস্পষ্ট এবং এর মতো আমাদের কোনও বিশেষ মান বাছাই করতে হবে না
  2. আমাদের ফাংশনটি আসলে -1একটি সাধারণ ইনপুট হিসাবে হ্যান্ডেল করার প্রয়োজন হতে পারে ।
>>> test(-1)
no x here

ওহো!

সুতরাং বইটি বেশিরভাগ ক্ষেত্রে পুনরায় সেট করা শব্দটির ব্যবহারের ক্ষেত্রে কিছুটা বিভ্রান্তিকর - Noneএকটি নাম নির্ধারণ করা কোনও প্রোগ্রামারের কাছে একটি সংকেত যে সেই মানটি ব্যবহৃত হচ্ছে না বা ফাংশনটি কোনও ডিফল্ট পদ্ধতিতে আচরণ করা উচিত, তবে একটি মান পুনরায় সেট করতে এর মূল, অপরিজ্ঞাত অবস্থায় আপনাকে delকীওয়ার্ডটি ব্যবহার করতে হবে :

>>> x = 3
>>> x
3
>>> del x
>>> x
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'x' is not defined

5

অন্যান্য উত্তর ইতিমধ্যে অর্থ ব্যাখ্যা কোনটি সুন্দর। যাইহোক, আমি এখনও একটি উদাহরণ ব্যবহার করে আরও আলোকপাত করতে চাই।

উদাহরণ:

def extendList(val, list=[]):
    list.append(val)
    return list

list1 = extendList(10)
list2 = extendList(123,[])
list3 = extendList('a')

print "list1 = %s" % list1
print "list2 = %s" % list2
print "list3 = %s" % list3

এখন উপরের তালিকার আউটপুট অনুমান করার চেষ্টা করুন। ঠিক আছে, উত্তরটি আশ্চর্যজনকভাবে নীচের মত:

list1 = [10, 'a']
list2 = [123]
list3 = [10, 'a']

কিন্তু কেন?

অনেক ভুল করে আশা করবে তালিকা 1 সমান হতে [10] এবং তালিকা 3 সমান হতে [ 'একটি'] , চিন্তা তালিকা যুক্তির তার ডিফল্ট মানে সেট হবে [] প্রতিটি সময় extendList বলা হয়।

যাইহোক, আসলে যা ঘটে তা হ'ল নতুন ডিফল্ট তালিকাটি কেবল তখনই তৈরি করা হয় যখন ফাংশনটি সংজ্ঞায়িত করা হয় , এবং সেই একই তালিকাটি পরে যখন তখন এক্সটেন্ডলিস্টকে তালিকাভুক্ত আর্গুমেন্ট ব্যতীত অনুরোধ করা হয় তখনই ব্যবহৃত হয়। এটি কারণ ডিফল্ট আর্গুমেন্টে এক্সপ্রেশন গণনা করা হয় যখন ফাংশন সংজ্ঞায়িত করা হয়, যখন এটি বলা হয় না

list1 এবং list3 একই ডিফল্ট তালিকায় অপারেটিং করছে , অন্যদিকে list2 এটি তৈরি করা একটি পৃথক তালিকায় কাজ করছে (তালিকার প্যারামিটারের মান হিসাবে নিজস্ব খালি তালিকা পাস করে)।


'কেউ নয়' ত্রাণকর্তা: (পছন্দসই আচরণের জন্য উপরের উদাহরণটি সংশোধন করুন)

def extendList(val, list=None):
    if list is None:
       list = []
    list.append(val)
    return list

list1 = extendList(10)
list2 = extendList(123,[])
list3 = extendList('a')

print "list1 = %s" % list1
print "list2 = %s" % list2
print "list3 = %s" % list3

এই সংশোধিত প্রয়োগের সাথে সাথে আউটপুটটি হবে:

list1 = [10]
list2 = [123]
list3 = ['a']

দ্রষ্টব্য - toptal.com এ উদাহরণ ক্রেডিট


3

কোনওটিই সিঙ্গলটন অবজেক্ট নয় (যার অর্থ কেবলমাত্র একটিই নেই), ভাষা এবং গ্রন্থাগারের অনেক জায়গায় অন্য কোনও মানের অভাবের প্রতিনিধিত্ব করতে ব্যবহৃত হয়।


উদাহরণস্বরূপ:
যদি dঅভিধান হয় তবে এটি উপস্থিত থাকলে d.get(k)ফিরে আসবে d[k], তবে Noneযদি dকোনও কী না থাকে k

একটি দুর্দান্ত ব্লগ থেকে এই তথ্যটি পড়ুন: http://python-history.blogspot.in/


3

এগুলি সবই ভাল উত্তর তবে আমি মনে করি কেন Noneদরকারী তা ব্যাখ্যা করার মতো আরও অনেক কিছুই।

কল্পনা করুন যে আপনি কোনও বিয়ের জন্য আরএসভিপি সংগ্রহ করছেন। প্রতিটি ব্যক্তি উপস্থিত হবে কিনা তা আপনি রেকর্ড করতে চান। যদি তারা উপস্থিত থাকে তবে আপনি সেট করুন person.attending = True। যদি তারা আপনার উপস্থিতিতে উপস্থিত না হয় person.attending = False। আপনি যদি কোনও আরএসভিপি না পেয়ে থাকেন, তবে person.attending = None। আপনি কোনও তথ্য - None- এবং একটি নেতিবাচক উত্তরের মধ্যে পার্থক্য করতে পারেন ।


1

আমি কোড উদাহরণগুলি (পাশাপাশি ফল) পছন্দ করি, তাই আমাকে আপনাকে দেখাতে দিন

apple = "apple"
print(apple)
>>> apple
apple = None
print(apple)
>>> None

কোন কিছুই মানে না, এর কোন মূল্য নেই।

কেউই ভুয়া মূল্যায়ন করে না।


8
print(None)কপি করে প্রিন্ট .. None। এটা আছে না আপনার প্রস্তাবিত, মুদ্রণ কিছুই।
মার্টিজন পিটারস

REPL কেবলমাত্র Noneসর্বশেষ এক্সপ্রেশনের ফলাফল হলে এর জন্য কিছুই দেখায় না । (যা মূলত কোনও মান ফেরত দেওয়ার উদ্দেশ্যে নয় এমন ফাংশনগুলির জন্য বেশিরভাগ ক্ষেত্রে সহায়ক))
eভী

অইউ, আমার ভুল, আমি আইডিএল ব্যবহার করছিলাম এবং আমি ধরে নিয়েছিলাম এটি মুদ্রিত চলক, সম্ভবত এটি repl ব্যবহার করে। আমি বর্তমানে আমার নিজের অজগর / জাভাস্ক্রিপ্ট / কোড পড়ার এবং বোঝার দক্ষতা নিখুঁত করতে এসও ব্যবহার করছি, তাই আমি কিছু ভুল করছি :(
Azeirah

2
আইডিএল, পাইথন ইন্টারেক্টিভ ইন্টারপ্রিটার প্রম্পটের মতো স্পষ্টভাবে লুকিয়ে রাখে None যদি এটি কোনও অভিব্যক্তির ফলাফল হয় তবে বেশিরভাগই আউটপুটটি গোলমাল না করে।
মার্টিজন পিটারস

-5
largest=none
smallest =none 
While True :
          num =raw_input ('enter a number ') 
          if num =="done ": break 
          try :
           inp =int (inp) 
          except:
              Print'Invalid input' 
           if largest is none :
               largest=inp
           elif inp>largest:
                largest =none 
           print 'maximum', largest

          if smallest is none:
               smallest =none
          elif inp<smallest :
               smallest =inp
          print 'minimum', smallest 

print 'maximum, minimum, largest, smallest 
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.