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

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

inspect মডিউল ব্যবহার করে রানটাইমে ফাংশনের প্যারামিটার নাম ও সংখ্যা বের করা যায়।

উদাহরণ

# qux.py
def aMethod1(arg1, arg2):
    pass

def aMethod2(arg1, arg2, arg3, arg4, arg5):
    pass
# fubar.py
import qux
import inspect

x = inspect.getargspec(qux.aMethod1)
y = inspect.getargspec(qux.aMethod2)

print(len(x.args))   # 2
print(len(y.args))   # 5

ব্যাখ্যা

  • inspect.getargspec(func) — ArgSpec(args, varargs, keywords, defaults) নেমড টাপল রিটার্ন করে (পাইথন ৩.০+ এ ডিপ্রিকেটেড)।
  • .args বা [0] — নরমাল পজিশনাল আর্গামেন্ট নামের লিস্ট।
  • len() দিয়ে সংখ্যা বের করা যায়।

আধুনিক পদ্ধতি (Python 3.3+): inspect.signature()

import inspect

sig = inspect.signature(qux.aMethod2)
params = sig.parameters
print(len(params))           # 5
print(list(params.keys()))   # ['arg1', 'arg2', 'arg3', 'arg4', 'arg5']

signature() আরও পাওয়ারফুল এবং পাইথন ৩-এ প্রস্তাবিত।

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

  2. পাইথন ফাংশনে আর্গামেন্ট ভ্যালু দিয়ে পাস করার পদ্ধতি

  3. পাইথনে ফাংশন আর্গামেন্টগুলো লোয়ারকেসে কনভার্ট করা

  4. পাইথন ফাংশন থেকে ফাংশন রিটার্ন করা