পাইথনে প্যারামিটার কম্বিনেশন
একই ফাংশনে একই সাথে
নামযুক্ত এবং অবস্থানগত প্যারামিটার
পাস করা যায়।
এটি * চিহ্ন ব্যবহার করে করা হয়,
যা বোঝায় যে এর ডানদিকে উল্লিখিত প্যারামিটারগুলি
নামযুক্ত হিসাবে বিবেচনা করা উচিত,
যদি তাদের ডিফল্ট মান ব্যবহার করার
প্রয়োজন না হয়।
আসুন একটি ফাংশন তৈরি করি যা
কনসোলে সমস্ত প্যারামিটার প্রিন্ট করবে। ভেরিয়েবল
data একটি সাধারণ
অবস্থানগত প্যারামিটার বোঝাবে। তারপর চিহ্নের পরে
* দুটি ভেরিয়েবল start
এবং end ডিফল্ট মান সহ সেট করা হয়।
যাইহোক, ফাংশন কল করার সময় আমরা এই
ভেরিয়েবলগুলিকে নামযুক্ত করব:
def func(data, *, start=0, end=100):
print(data, start, end)
func(1, start=2, end=3)
কোড এক্সিকিউশনের ফলাফল:
1 2 3
যদি start ভেরিয়েবলের ডিফল্ট মান সরিয়ে ফেলা হয়
এবং একই সময়ে এটিকে নামযুক্ত প্যারামিটার হিসাবে সরিয়ে ফেলা হয়,
তবে একটি ত্রুটি দেখাবে।
এটি ঘটে কারণ * চিহ্ন
ইতিমধ্যেই start কে একটি নামযুক্ত
ভেরিয়েবল হিসাবে সংজ্ঞায়িত করেছে:
def func(data, *, start, end=100):
print(data, start, end)
func(1, 2, end=3) # ত্রুটি দেখাবে
নিচের কোড এক্সিকিউট করার ফলাফল কী হবে:
def func(num1, num2, *, num3):
return (num1 + num2) * num3
print(func(2, 4, num3=3))
নিচের কোড এক্সিকিউট করার ফলাফল কী হবে:
def func(num1, *, num2, num3):
return (num1 - num2) / num3
print(func(12, 4, num3=5))
নিচের কোড এক্সিকিউট করার ফলাফল কী হবে:
def func(*, name='user1', age='18'):
return 'Username is ' + name + ' age is ' + age
print(func(name='john'))