পাইথনে আমি কীভাবে বুলিয়ান ব্যবহার করব?


109

পাইথনে আসলে কোনও বুলিয়ান মান থাকে? আমি জানি যে আপনি এটি করতে পারেন:

checker = 1
if checker:
    #dostuff

তবে আমি বেশ পেডেন্টিক এবং জাভাতে বুলিয়ান দেখতে উপভোগ করছি। এই ক্ষেত্রে:

Boolean checker;
if (someDecision)
{
    checker = true;
}
if(checker)
{
    //some stuff
}

পাইথনে বুলিয়ান বলে কিছু আছে কি? আমি ডকুমেন্টেশনে এর মতো কিছু খুঁজে পাচ্ছি না।


1
মনে রাখবেন ... ভেরিয়েবল তৈরি করার সময় আপনার প্রকারগুলি ঘোষণা করার দরকার নেই। কেবল 'পরীক্ষক = মিথ্যা' যথেষ্ট হবে।
ডোমিনিক বউ-সামরা

10
@ ডমিনিক বউ-সাম্রা: "আপনাকে প্রকারের ঘোষণা দেওয়ার দরকার নেই"? এটি বেশ সত্য নয়। আমি মনে করি আপনার বলা উচিত "আপনি একটি ভেরিয়েবলের জন্য কোনও প্রকারের ঘোষণা সম্ভবত করতে পারবেন না"।
এসলট

2
@ এস.লট "আপনি সম্ভবত কোনও ভেরিয়েবলের জন্য কোনও প্রকারের ঘোষণা করতে পারবেন না" ... এখনও সত্য নয় কারণ আপনি টাইপকাস্ট করতে পারেন some_var = int("1234")... সেই লাইনটি স্পষ্টভাবে সেট করে some_var=>int
কলব ক্যানিয়ন

উত্তর:


142
checker = None 

if some_decision:
    checker = True

if checker:
    # some stuff

[সম্পাদনা]

আরও তথ্যের জন্য: http://docs.python.org/library/function.html#bool

আপনার কোডটিও কার্যকর হয়, যেহেতু যখন প্রয়োজন 1হয় Trueতখন রূপান্তরিত হয় । আসলে পাইথনের দীর্ঘ সময়ের জন্য বুলেট জাতীয় ধরণ ছিল না (পুরানো সি এর মতো), এবং কিছু প্রোগ্রামার এখনও বুলিয়ানগুলির পরিবর্তে পূর্ণসংখ্যা ব্যবহার করে।


17
সাধারণত 'যদি' এর পরিবর্তে চেকার = (কিছু_ বিচক্ষণ) (যেমন পরীক্ষক = (একটি <বি)) ব্যবহার করা সহজ হয়।
এমএকে

11
এই স্নিপেটটি কিছুটা বিভ্রান্তিকর ... এটি পরীক্ষা করার আগে আপনাকে "পরীক্ষক" সংজ্ঞায়িত করতে হবে। ওপি আগে এটি সংজ্ঞায়িত করার সময়, আপনার উদাহরণে পরীক্ষক = কোনওটিই একেবারে প্রয়োজনীয় নয় বা আপনি একটি আনবাউন্ডলোক্যাল এরির পাবেন
dprogramz

পাইথন বুলিয়ানগুলি পূর্ণসংখ্যা হয়। Trueএবং ওভারডেন এবং এর সাথে Falseবর্ধিত intবস্তুর রেফারেন্স । __str____repr__
ম্যাড পদার্থবিদ

পাইথন বুলিয়ানগুলি পূর্ণসংখ্যা নয়; 1 is not True, কিন্তু 1 == True
বলপয়েন্টবেন

@ বালপয়েন্টপেন: এগুলি উদাহরণস্বরূপ, উদাহরণ অনুসারে সাধারণ অর্থে পূর্ণসংখ্যা int, যেমন দেখানো হয়েছে isinstance(True, int)
বস্টিয়েন লোনার্ড

93

বুলিয়ান বিল্টিনগুলি মূলধনযুক্ত: Trueএবং False

আপনি যে checker = bool(some_decision)কিছুটা শর্টহ্যান্ড হিসাবে করতে পারেন তাও নোট করুন - boolকেবল কখনও ফিরে আসবে Trueবা False

ভবিষ্যতের রেফারেন্সের জন্য জেনে রাখা ভাল যে ক্লাসগুলি__nonzero____len__ সেই ফাংশনগুলির ফলাফলের উপর নির্ভর করে বা হবে Trueবা এর Falseউপর নির্ভর করে তবে কার্যত প্রতিটি অন্যান্য বস্তুর বুলিয়ান ফলাফল হবে True( Noneঅবজেক্ট, খালি সিকোয়েন্সগুলি এবং সংখ্যাযুক্ত শূন্যগুলি ব্যতীত)।


1
অন্তর্দৃষ্টি জন্য আপনাকে অনেক ধন্যবাদ। যেহেতু জনপ্রিয় ভোটার অন্যান্য উত্তরে সাফল্য পেয়েছে, আমি বাস্তিনকে 'স্বীকৃত উত্তর' দিয়েছি। তবে আপনার সবচেয়ে সহায়ক ছিল! :)
ফেডারার

23
সাহসী: উত্তরটি আপনি সবচেয়ে সহায়ক বলে মনে করছেন না তা কী? যদি অন্য উত্তরটি আরও বেশি করে আপলোড করা হয় তবে এটি সম্পূর্ণ অপ্রাসঙ্গিক।
tzot

2
এবং জনপ্রিয় ভোটও এই উত্তর সহ। আপনার ভোট পরিবর্তন করার বিষয়টি বিবেচনা করুন।
অ্যালাস্টার মুডি

12

True... এবং Falseস্পষ্টতই।

অন্যথায়, Noneমিথ্যাটিকে যেমন পূর্ণসংখ্যা 0এবং ভাসমানকেও মূল্যায়ন করে 0.0(যদিও আমি এর মতো ভাসা ব্যবহার করব না)। এছাড়াও, খালি তালিকা [], খালি টিপলেট ()এবং খালি স্ট্রিং ''বা ""মিথ্যাতে মূল্যায়ন করুন।

ফাংশনটি দিয়ে নিজে চেষ্টা করে দেখুন bool():

bool([])
bool(['a value'])
bool('')
bool('A string')
bool(True)  # ;-)
bool(False)
bool(0)
bool(None)
bool(0.0)
bool(1)

ইত্যাদি ..


5

বুলিয়ান প্রকারগুলি ডকুমেন্টেশনে সংজ্ঞায়িত করা হয়েছে:
http://docs.python.org/library/stdtypes.html# বুলেটিয়ান মূল্যসমূহ

ডক থেকে উদ্ধৃত:

বুলিয়ান মানগুলি দুটি ধ্রুবক বস্তু মিথ্যা এবং সত্য। এগুলি সত্য মানের প্রতিনিধিত্ব করতে ব্যবহৃত হয় (যদিও অন্যান্য মানগুলিও মিথ্যা বা সত্য হিসাবে বিবেচিত হতে পারে)। সংখ্যার প্রসঙ্গে (উদাহরণস্বরূপ যখন একটি গণিত অপারেটরের যুক্তি হিসাবে ব্যবহৃত হয়), তারা যথাক্রমে 0 এবং 1 এর পূর্ণসংখ্যার মতো আচরণ করে ve বিল্ট-ইন ফাংশন বুল () ব্যবহার করা যেতে পারে কোনও বুলিয়ানকে কোনও মান দেওয়ার জন্য, যদি মানটিকে সত্যের মান হিসাবে ব্যাখ্যা করা যায় (উপরের অংশে সত্যের মান পরীক্ষা করা দেখুন)।

সেগুলি যথাক্রমে মিথ্যা এবং সত্য হিসাবে লেখা হয়।

সুতরাং জাভা কোডে বন্ধনীগুলি সরান, এতে পরিবর্তন trueকরুন Trueএবং আপনি ঠিক থাকবেন :)


4

হ্যাঁ, এখানে একটি boolডেটা টাইপ রয়েছে (যা উত্তরাধিকার সূত্রে প্রাপ্ত intএবং এর দুটি মাত্র মান রয়েছে: Trueএবং False)।

তবে পাইথনের boolean-ableপ্রতিটি বস্তুর ধারণা রয়েছে যা ফাংশন bool([x])বলা হলে ব্যবহৃত হয়।

আরও দেখুন: অবজেক্ট পাইজারে ননজেরো এবং বুলিয়ান-মান-অবজেক্ট


x = bool (0) # মিথ্যা && x = bool (1) # সত্য
জুলিয়ান

0

জাভা থেকে আলাদা যেখানে আপনি ঘোষণা করবেন boolean flag = True, পাইথনে আপনি কেবল ঘোষণা করতে পারেনmyFlag = True

পাইথন এটি বুলিয়ান ভেরিয়েবল হিসাবে ব্যাখ্যা করবে

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