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

পাইথনে এস্টারিস্ক (*) এবং ডাবল এস্টারিস্ক (**) এর ব্যবহার


পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজ বিভিন্ন কন্টেক্সটে * এবং ** দুটোই ব্যবহার করে। এই আর্টিকেলে আমরা দেখব এই দুটি কীভাবে ব্যবহার হয় এবং কী কী উপযোগী পরিস্থিতিতে।

ইনফিক্স অপারেটর হিসেবে

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

উদাহরণ

# ইন্টিজার
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-
  1. পাইথনে প্যাটার্ন প্রিন্ট করার পদ্ধতি

  2. পাইথনে ডিভিশন অপারেটর

  3. পাইথন ক্লোজার (Closures): নেস্টেড ফাংশন এবং এনক্যাপসুলেশনের ধারণা

  4. Python-এ লিস্ট প্রিন্ট করা