Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để tìm số đối số của một hàm Python?

Giả sử có một tập lệnh qux.py như sau

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

Giả sử bạn không có quyền truy cập vào nội dung của tập lệnh này, bạn có thể tìm số lượng đối số trong hàm đã cho như sau

Để tìm danh sách các tên tham số bên trong một hàm python, chúng tôi nhập mô-đun kiểm tra và cũng nhập tập lệnh đã cho qux.py

Chúng tôi nhận được danh sách tất cả các đối số của một hàm foo () bằng cách sử dụng verify.getargspec (foo). Đầu tiên của danh sách này lại là danh sách các đối số bình thường. Nếu x =verify.getargspec (foo), số đối số được tìm thấy bởi len (x [0]).

#fubar.py
import qux
import inspect
x=inspect.getargspec(qux.aMethod1)
y=inspect.getargspec(qux.aMethod2)
print(llen(y[0]))

Chạy tập lệnh này tại thiết bị đầu cuối

$ python fubar.py

Chúng tôi nhận được kết quả sau

5