পাইথন ফাংশন ডেফিনিশনে আর্গামেন্টের ডিফল্ট মান নির্ধারণ করা যায়। কল সময় আর্গামেন্ট দেওয়া না থাকলে ডিফল্ট মানটি ব্যবহার হয়। এতে ফাংশন কল করা আরও ফ্লেক্সিবল হয়।
সিনট্যাক্স
def default_arg(name, foo="Come here!"):
print(name, foo)
default_arg("Joe") # Joe Come here!
default_arg("Joe", "Hi!") # Joe Hi!
ব্যাখ্যা
name— বাধ্যতামূলক আর্গামেন্ট (ডিফল্ট নেই)।foo— ডিফল্ট আর্গামেন্ট (ডিফল্ট: "Come here!")।- কল সময়
fooনা দিলে ডিফল্ট মান আটোকে।
গুরুত্বপূর্ণ নিয়ম: ডিফল্ট আর্গামেন্ট সবসময় শেষে থাকতে হয়
# সঠিক def func(a, b=10, c=20): pass # ভুল — SyntaxError def func(a=10, b, c=20): pass
মিউটেবল ডিফল্ট আর্গামেন্ট সতর্কতা
লিস্ট বা ডিকশনারি ডিফল্ট মান হিসেবে দিলে সব কলের জন্য একই অবজেক্ট শেয়ার হয় (আর্টিকেল ১০০৬১০৮১৯০ দেখুন)। সমাধান: None ডিফল্ট হিসেবে দিয়ে ফাংশন ভেতরে নতুন অবজেক্ট তৈরি করুন।