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() আরও পাওয়ারফুল এবং পাইথন ৩-এ প্রস্তাবিত।