কম্পিউটার টিউটোরিয়াল

পাইথনে আন্ডারস্কোর (_) এর ব্যবহার


আন্ডারস্কোর (_) এর ৫টি প্রধান ব্যবহার

১. ইন্টারপ্রেটারে শেষ এক্সপ্রেশনের ভ্যালু স্টোর


>>> 20
20
>>> _
20
>>> _ + 3
23

পাইথন REPL-এ শেষ এক্সপ্রেশনের রেজাল্ট অটোমেটিক্যালি _-এ সংরক্ষিত হয়।

২. মান উপেক্ষা করা (Unpacking-এ)


x, _, y = (1, 2, 3)
print(x, y)  # 1 3  (২ উপেক্ষা করা হয়েছে)

# লুপে ইনডেক্স প্রয়োজন নাই
for _ in range(5):
    print("Hello")

# এক্সটেন্ডেড আনপ্যাকিং
first, *_, last = [1, 2, 3, 4, 5]
print(first, last)  # 1 5

৩. ভেরিয়েবল/ফাংশন নামকরণ কনভেনশন

৪. সংখ্যার লিটারেলে ডিজিট সেপারেটর (পাইথন ৩.৬+)


million = 1_000_000
hex_val = 0xFF_FF_FF
binary = 0b1010_0011
print(million)  # 1000000

বড় সংখ্যা পড়তে সহজ করে।

৫. Ін্টারন্যাশনালাইজেশন (i18n) / লোকালাইজেশন (l10n)


import gettext
_ = gettext.gettext  # কনভেনশনালি _ ফাংশনকে বাইন্ড করা হয়

print(_("Hello, world!"))  # অনুবাদিত স্ট্রিং রিটার্ন

C প্রথা অনুযায়ী _() ফাংশনকে ট্রান্সলেশন ফাংশন হিসেবে ব্যবহার করা হয়।

সারসংক্ষেপ টেবিল

প্যাটার্নঅর্থউদাহরণ
_nameইন্টারনাল ব্যবহার (কনভেনশন, এনফোর্সড নয়)_internal_var
name_পাইথন কিওয়ার্ডের সাথে конфликтуয়াল এড়াতেclass_, def_
__nameনেম मैंگلিং (ক্লাসে প্রাইভেট-এর মতো)__private_attr
__name__ম্যাজিক/ডান্ডার মেথড (পাইথন রিজার্ভড)__init__, __str__
ব্যবহারউদাহরণনোট
REPL লাস্ট রেজাল্ট_শুধু ইন্টারেক্টিভ মোডে
উপেক্ষাx, _, y = ...পাঠযোগ্যতা বাড়ায়
প্রাইভেট কনভেনশন_varএনফোর্সড নয়
নেম मैंگلিং__varক্লাসে _ClassName__var হয়ে যায়
ম্যাজিক মেথড__init__পাইথন রিজার্ভড
ডিজিট সেপারেটর1_000_000পাইথন ৩.৬+
i18n ফাংশন_ = gettext.gettextকনভেনশন
  1. পাইথনে issuperset() ফাংশন

  2. পাইথনে callable() ফাংশন

  3. পাইথনে Quine প্রোগ্রাম (স্ব-প্রजनনকারী কোড)

  4. পাইথনে আন্ডারস্কোর (_) এর ব্যবহার ও অর্থ