পাইথনে কিছু ক্ষেত্রে আমরা একক আন্ডারস্কোর (_) ব্যবহার করি এবং কিছু ক্ষেত্রে আমরা ডাবল আন্ডারস্কোর (__) ব্যবহার করি।
পাইথনে নিম্নলিখিত ক্ষেত্রে রয়েছে, যেখানে আমরা আন্ডারস্কোর ব্যবহার করি।
- যদি আমরা ইন্টারপ্রেটারে শেষ এক্সপ্রেশনের মান সংরক্ষণ করতে চাই।
- যদি আমরা কিছু মান উপেক্ষা করতে চাই।
- ভেরিয়েবল বা ফাংশন ঘোষণার জন্য।
- সংখ্যার পার্শ্বীয় মানের ডিজিট আলাদা করতে।
- এটি 'আন্তর্জাতিককরণ (i18n)' বা 'স্থানীয়করণ (l10n)' ফাংশন হিসাবেও ব্যবহৃত হয়৷
এখন প্রতিটি ক্ষেত্রে কিছু উদাহরণ।
দোভাষীতে ব্যবহৃত হয়
পাইথন ইন্টারপ্রেটার '_'-তে শেষ এক্সপ্রেশন মান সংরক্ষণ করে।
>>> 20 20 >>> _ 20 >>> _ + 3 23
মান উপেক্ষা করা
মান উপেক্ষা করার জন্যও আন্ডারস্কোর ব্যবহার করা হয়।
x, _, y = (1, 2, 3)
এখানে x =1, y =3 এবং মান 2 উপেক্ষা করুন।
ভেরিয়েবল এবং ফাংশন ঘোষণা করার জন্য ব্যবহৃত হয়
পাইথন ব্যক্তিগত সমর্থন করে না, তাই আমরা কোনো কিছুর ব্যক্তিগতকে জোর করতে পারি না তবে আমরা অন্য মডিউল থেকে সরাসরি কল করতে পারি।
single_trailing_underscore_
এই রূপান্তরটি সহজেই ব্যবহার করে পাইথন কীওয়ার্ড এবং বিল্ট-ইনগুলির বিরোধ এড়ানো যায়।
__double_leading_underscore
এটি ম্যাঙ্গেল, এটি নামের মধ্যে অ্যাট্রিবিউট নামের দ্বন্দ্ব এড়াতে ব্যবহৃত হয়।
আপনি যদি একটি ক্লাসে একটি পদ্ধতির নাম "__display" লেখেন, তাহলে নামটি "_ClassName__display" আকারে বিভক্ত হয়ে যাবে।
__double_leading_and_trailing_underscore__
কিছু ক্ষেত্রে আমরা এই রূপান্তর ব্যবহার করি। ঠিক _init_ এর মত।
সংখ্যার পার্শ্বীয় মানের সংখ্যাগুলিকে আলাদা করতে
dec_base = 1_000_000 print(dec_base) # 1000000
আন্তর্জাতিককরণ (i18n)/স্থানীয়করণ (l10n) ফাংশন হিসাবে
এটি শুধুমাত্র একটি কনভেনশন নয় এখানে কোন সিনট্যাকটিক ফাংশন আন্ডারস্কোর শুধু i18n/l10n কে আন্ডারস্কোর ভেরিয়েবলে আবদ্ধ করে C কনভেনশন থেকে এসেছে।