Python None Keyword

Python None Keyword



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

পাইথনে 'কোনটি নয়' কীওয়ার্ড কি?

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







বেশিরভাগ ভাষায়, একটি ভেরিয়েবলের জন্য একটি বস্তুকে বরাদ্দ করার ফলে মেমরিতে বস্তুর সম্পূর্ণ নতুন উদাহরণ তৈরি হয়। এটি বোঝায় যে 'কোনটিই নয়' অবজেক্টের অসংখ্য উদাহরণ আপনার প্রোগ্রামের সঞ্চালনের সময় ম্যানিপুলেট এবং তৈরি করা হয়েছে।



কোনটির সিনট্যাক্স: কোনোটিই নয়



পাইথন শব্দটি 'কিছুই নয়' বোঝায় 'কিছুই নয়'। বেশ কিছু প্রোগ্রামিং ল্যাঙ্গুয়েজে, None কে null, Nil, বা undefined হিসেবে উল্লেখ করা হয়। কোনো ফাংশনের রিটার্ন ক্লজ না থাকলে ডিফল্ট আউটপুট হবে না।






উপরের কোডটি বোঝায় যে কোনটিই শূন্য বা মিথ্যা বা শূন্য নয়, এবং যদি দুটি মানকে 'কোনটি নয়' হিসাবে বরাদ্দ করা হয় তবে তারা সমান।

পাইথনে কোনটি বনাম নাল

নাল কীওয়ার্ডটি C, C++, জাভা ইত্যাদি সহ বেশ কয়েকটি প্রোগ্রামিং ভাষায় উপস্থিত রয়েছে। তবে পাইথনের একটি নাল মানের জায়গায় None কীওয়ার্ড রয়েছে। কিছু প্রোগ্রামিং ল্যাঙ্গুয়েজে, 'Null' কীওয়ার্ডটি এমন একটি পয়েন্টার নির্দেশ করতে ব্যবহৃত হয় যা কিছুই নির্দেশ করে না, একটি খালি ভেরিয়েবল বা একটি মান যা প্রায়শই 0 হিসাবে ঘোষণা করা হয়। পাইথন None কীওয়ার্ডকে 0 বা কোনো র্যান্ডম মান হিসাবে সংজ্ঞায়িত করে না। পাইথনে, একটি বস্তু বা একটি শূন্য মান 'কোনও নয়' ব্যবহার করে সংজ্ঞায়িত করা হয়।



পাইথনে, আমরা শনাক্তকারী এবং ধ্রুবক উভয় হিসাবে None ব্যবহার করতে পারি। কেউই আপনাকে “is” বা “==” অপারেটর ব্যবহার করে এর অস্তিত্ব পরীক্ষা করতে দেয় না। উপরন্তু, এটির দুটি বাক্য গঠন রয়েছে: একটি যেটি শুধুমাত্র None কীওয়ার্ড ব্যবহার করে এবং অন্যটি এটির চারপাশে বন্ধনী অন্তর্ভুক্ত করে (কোনটিই নয়)।

একটি ইনপুট হিসাবে একটি ভেরিয়েবলে কোন মান নেই

input() ফাংশন ব্যবহারকারীর ইনপুট নেয়। 'সংখ্যা' পরিবর্তনশীলটিকে নির্দিষ্ট মান দেওয়া হবে যা ব্যবহারকারী কনসোলে প্রবেশ করে। ইনপুট পদ্ধতি একটি নাল স্ট্রিং প্রদান করে যদি কিছুই প্রবেশ করা না হয়। পাইথন একটি খালি স্ট্রিংকে ফলসে মূল্যায়ন করে। ফলস্বরূপ, অপারেটর 'বা' 'সংখ্যা' এ None অবজেক্টের একটি মান প্রদান করে।

যখন কোন মান প্রবেশ করা হয়:


আমরা মান 2 প্রবেশ করিয়েছি, এবং type() ফাংশন টাইপটিকে 'str' ​​হিসাবে ফেরত দিয়েছে।

এখন কোন মান প্রবেশ করানো হয় না তা পরীক্ষা করা যাক:


এবার টাইপ() ফাংশন দ্বারা অবজেক্ট টাইপ “None” রিটার্ন করা হয়েছে।

পাইথনে কোনটিই পরীক্ষা করা হচ্ছে না

আমরা নিচের পদ্ধতিগুলি ব্যবহার করে কিছু কিছু নেই বা না তা পরীক্ষা করতে পারি।

assertIsNone() ফাংশন ব্যবহার করে নিশ্চিত করুন যে একটি মান নেই

ইউনিটটেস্ট লাইব্রেরিতে একটি অন্তর্নির্মিত ফাংশন হল assertIsNone()। assertIsNone() ফাংশনের জন্য দুটি ইনপুট প্রয়োজন: একটি পরীক্ষা পরিবর্তনশীল এবং একটি বার্তা স্ট্রিং। ফাংশনটি নির্ধারণ করে যে পরীক্ষার ভেরিয়েবলটি কোনটির সমান নয় কিনা। যে ভেরিয়েবলটি পরীক্ষা করা হবে সেটি কোনটির সমান না হলে, একটি স্ট্রিং বার্তা দেখানো হয়।


আমরা একটি দাবী ত্রুটি পেয়েছি কারণ val2 'XYZ' হিসাবে নির্দিষ্ট করা হয়েছে, যা কোনটি নয়।

একটি if স্টেটমেন্টের সাথে None কীওয়ার্ড ব্যবহার করা

কীওয়ার্ড 'কোনটিই নয়' কিছু বিবৃতির জন্য একটি মিথ্যা মান হিসাবে বিবেচিত হয়। False মান হল সেইগুলি যেগুলির False-এর মূল্যায়ন আছে৷ একটি If বিবৃতিতে None কীওয়ার্ডের ব্যবহার নিম্নলিখিত উদাহরণে প্রদর্শিত হয়।


যদিও None মানকে কখনও কখনও False হিসাবে ব্যাখ্যা করা হয়, এর মানে এই নয় যে None এর সমতুল্য। তারা একে অপরের থেকে পৃথক. আমরা None মান সহ ভেরিয়েবল সংখ্যা নির্দিষ্ট করেছি। আমরা যেমন উল্লেখ করেছি, কোনোটিই মিথ্যা মান হিসাবে বিবেচিত হয় না, তাই if বিবৃতিটি কার্যকর হয় না এবং আমরা else স্টেটমেন্টে লেখা বিবৃতিটি পেয়েছি।

কীওয়ার্ড None-কে অন্য মানের সাথে তুলনা করা

পাইথনে তুলনা (সমতা) করার সময়, 'is' বা '==' কীওয়ার্ডটি সাধারণত ব্যবহার করা হয়। এই দুটিই এই বিভাগে ব্যবহার করা হবে অন্য মানের সাথে 'কোনটি নয়' তুলনা করতে। None-এর মানের সঙ্গে None-এর মানের তুলনা করে শুরু করা যাক।


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


আপনি দেখতে পাচ্ছেন, এবারের আউটপুটটি False কারণ 'None' মান একটি খালি স্ট্রিং থেকে আলাদা।

একটি ভেরিয়েবল নেই কিনা তা পরীক্ষা করতে টাইপ() পদ্ধতি ব্যবহার করে

টাইপ() ফাংশন ব্যবহার করে অবজেক্টের ধরন ফেরত দেওয়া হয়। উদাহরণে, আমরা নির্ধারণ করি যে ভেরিয়েবলের ধরনটি None অবজেক্টের প্রকারের সাথে মেলে কিনা। যদি ভেরিয়েবলটি None হয় বা ভেরিয়েবলের ধরনটি 'NoneType' হয় তবে নির্দিষ্ট শর্তটি সত্য হবে এবং if স্টেটমেন্টের ভিতরে লেখা পাঠ্যটি আমরা পাব।


তাই var এর অবজেক্ট টাইপ None এর অবজেক্ট টাইপের সমান।

একটি ভেরিয়েবল নেই কিনা তা পরীক্ষা করতে isinstance() পদ্ধতি ব্যবহার করে

একটি বুলিয়ান মান isinstance() পদ্ধতি দ্বারা একটি বস্তু একটি নির্দিষ্ট ধরনের একটি উদাহরণ কিনা তা নির্ধারণ করার পরে ফেরত দেওয়া হয়। isinstance() পদ্ধতির সিনট্যাক্স নিচে দেওয়া হল।

সিনট্যাক্স:  isinstance (অবজেক্ট, টাইপ)

নীচের উদাহরণে, isinstance() পদ্ধতি নির্ধারণ করে যে 'v' ভেরিয়েবলটি NoneType-এর একটি অবজেক্ট কিনা এবং হ্যাঁ হলে একটি বুলিয়ান ফলাফল সত্য প্রদান করে।

একটি সেট, তালিকা এবং অভিধানে কোনটিই সংরক্ষণ করা

ঘোষণার সময় অন্যান্য ডেটা স্ট্রাকচারের মধ্যে তালিকা, টিপল, সেট এবং অভিধানে কোনোটিই সংরক্ষণ করা যাবে না।


আমরা append() ফাংশন ব্যবহার করে তালিকার ভিতরে None যোগ/সন্নিবেশ করতে পারি।


add() ফাংশনটি ইতিমধ্যে তৈরি করা সেটে None যোগ করতে ব্যবহার করা যেতে পারে।


একটি সূচী কী ব্যবহার করে, আমরা ইতিমধ্যেই তৈরি পাইথন অভিধানে None যোগ করতে পারি।

Python Iterables-এ None-এর উপস্থিতি নির্ধারণ করা

পাইথনের 'ইন' অপারেটর নির্ধারণ করে যে একটি মান একটি অনুক্রমে (স্ট্রিং, টিপল, তালিকা, সেট, অভিধান) উপস্থিত আছে কিনা। যদি মানটি অনুক্রমের মধ্যে থাকে, তাহলে আউটপুটটি 'সত্য' হিসাবে ফেরত দেওয়া হবে; অন্যথায়, এটি 'মিথ্যা' হিসাবে ফিরে আসে।


উপরের স্ক্রিপ্টের মতোই, আমরা অন্য পুনরাবৃত্তির জন্য None চেক করতে পারি।

উপসংহার

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