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

পাইথনে যেকোনো সংখ্যক আর্গুমেন্ট গ্রহণকারী ফাংশন লিখা

সমস্যা

আপনি এমন একটি ফাংশন লিখতে চান যা যেকোনো সংখ্যক ইনপুট আর্গুমেন্ট গ্রহণ করতে পারে।

সমাধান

পাইথনে * আর্গুমেন্ট যেকোনো সংখ্যক পজিশনাল আর্গুমেন্ট গ্রহণ করতে পারে।

উদাহরণ: গড় বের করা


def define_average(first_arg, *rest_arg):
    average = (first_arg + sum(rest_arg)) / (1 + len(rest_arg))
    print(f"Output \n *** The average for the given numbers {average}")

define_average(1, 2)        # 1.5
define_average(1, 2, 3, 4)  # 2.5

এখানে rest_arg হল অতিরিক্ত আর্গুমেন্টগুলোর টাপল।

কিওয়ার্ড আর্গুমেন্টের জন্য **


def player_stats(player_name, player_country, **player_titles):
    print(f"Type of player_titles - {type(player_titles)}")
    titles = ' AND '.join('{} : {}'.format(key, value) for key, value in player_titles.items())
    stats = 'The player - {name} from {country} has {titles}'.format(name=player_name, country=player_country, titles=titles)
    return stats

player_stats('Roger Federer', 'Switzerland', Grandslams=20, ATP=103)

আউটপুট


Type of player_titles - 
The player - Roger Federer from Switzerland has Grandslams : 20 AND ATP : 103

player_titles হল পাস করা কিওয়ার্ড আর্গুমেন্টগুলোর ডিকশনারি।

দভিভাবে একসাথে: *args এবং **kwargs


def func_anyargs(*args, **kwargs):
    print(args)  # টাপল
    print(kwargs)  # ডিকশনারি

এই ফাংশনে সব পজিশনাল আর্গুমেন্ট args টাপলে এবং সব কিওয়ার্ড আর্গুমেন্ট kwargs ডিকশনারিতে সংগ্রহ হয়।

  1. পাইথন রেগুলার এক্সপ্রেশন লিখে ফ্লোটিং পয়েন্ট নাম্বার ম্যাচ করবেন?

  2. পাইথন রেগুলার এক্সপ্রেশন লিখে নাম্বার ভ্যালিডেট করবেন?

  3. পাইথন কীভাবে র‍্যান্ডম সংখ্যা জেনারেট করে

  4. পাইথন ফাংশনের আর্গামেন্ট সংখ্যা বের করার পদ্ধতি