পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজ বিভিন্ন কন্টেক্সটে * এবং ** দুটোই ব্যবহার করে। এই আর্টিকেলে আমরা দেখব এই দুটি কীভাবে ব্যবহার হয় এবং কী কী উপযোগী পরিস্থিতিতে।
ইনফিক্স অপারেটর হিসেবে
* ইনফিক্স অপারেটর হিসেবে ব্যবহৃত হলে মূলত সংখ্যাগুলোর গাণিতিক গুণফল দেয়। নিচের উদাহরণে আমরা ইন্টিজার, ফ্লোট এবং কমপ্লেক্স নম্বর গুণ করে ফলাফল পাচ্ছি।
উদাহরণ
# ইন্টিজার x = 20 y = 10 z = x * y print(z, "\n") # ফ্লোট x1 = 2.5 y1 = 5.1 z1 = x1 * y1 print(z1, "\n") # কমপ্লেক্স নম্বর x2 = 4 + 5j y2 = 5 + 4j z2 = x2 * y2 print(z2, "\n")
আউটপুট
উপরোক্ত কোডটি রান করলে নিচের ফলাফল পাবেন:
200 12.75 41j
স্ট্রিং বাড়ানোর জন্যও আমরা এটিকে ইনফিক্স অপারেটর হিসেবে ব্যবহার করতে পারি।
উদাহরণ
str = "Point-" print(str * 4, "\n") List = [4, 5, 6] print(List * 3, "\n") Tuple = (9, 8, 7) print(Tuple * 2)
আউটপুট
উপরোক্ত কোডটি রান করলে নিচের ফলাফল পাবেন:
Point-Point-Point-Point- [4, 5, 6, 4, 5, 6, 4, 5, 6] (9, 8, 7, 9, 8, 7)
প্রিফিক্স অপারেটর হিসেবে
আমরা সিঙ্গল এস্টারিস্ককে প্রিফিক্স হিসেবে ব্যবহার করতে পারি। নিচের উদাহরণগুলো বর্ণনা করছে কীভাবে প্রিফিক্স হিসেবে ব্যবহার করা যায়।
ইটেরেবল এক্সপ্যান্ড করা
লিস্ট বা টাপলের মতো একটি ইটেরেবলকে শুধু এর নামের আগে একটি এস্টারিস্ক দিয়ে এক্সপ্যান্ড করা যায়।
উদাহরণ
week_days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] print(*week_days)
আউটপুট
উপরোক্ত কোডটি রান করলে নিচের ফলাফল পাবেন:
Mon Tue Wed Thu Fri
ভেরিয়েবল সংখ্যক আর্গুমেন্ট নেওয়া
একটি ফাংশনে ভেরিয়েবল সংখ্যক আর্গুমেন্ট দেওয়ার জন্য সিঙ্গল এস্টারিস্ক সিম্বল ব্যবহার করা হয়। নিচের প্রোগ্রামে তা দেখানো হলো।
উদাহরণ
def many_sums(*args):
res = 0
# পাইথন args টাপলের ওপর ইটারেশন
for x in args:
res = res + x
return res
print(many_sums(1, 2))
print(many_sums(11, 21, 30))
print(many_sums(5.5, 0))
আউটপুট
উপরোক্ত কোডটি রান করলে নিচের ফলাফল পাবেন:
3 62 5.5
** (ডাবল এস্টারিস্ক) ব্যবহার
ডাবল এস্টারিস্ক কীওয়ার্ড-ভিত্তিক আর্গুমেন্টের জন্য ব্যবহার হয়। এখানে আর্গুমেন্ট ডিকশনারি হিসেবে পাস হয়, ইনডিভিজুয়াল ভ্যালু হিসেবে নয়।
উদাহরণ
def join_keys(**kwargs):
result = ""
# kwargs ডিকশনারির কীগুলোর ওপর ইটারেশন
for arg in kwargs.keys():
result += arg
return result
def join_values(**kwargs):
result = ""
# kwargs ডিকশনারির ভ্যালুগুলোর ওপর ইটারেশন
for arg in kwargs.values():
result += arg
return result
print(join_keys(day1="Mon-", day2="Tue-", day3="Wed-", day4="Thu-"))
print(join_values(day1="Mon-", day2="Tue-", day3="Wed-", day4="Thu-"))
আউটপুট
উপরোক্ত কোডটি রান করলে নিচের ফলাফল পাবেন:
day1day2day3day4 Mon-Tue-Wed-Thu-