Tôi cần phát hiện xem hàm có phải là định nghĩa trống hay không. Nó có thể được như:Phát hiện các định nghĩa hàm trống trong python
def foo():
pass
hay như:
def foo(i, *arg, **kwargs):
pass
hay như:
foo = lambda x: None
cách thanh lịch nhất để phát hiện chúng bằng cách sử dụng 'kiểm tra' module là gì? Có cách nào tốt hơn điều này không:
def isEmptyFunction(func):
e = lambda: None
return func.__code__.co_code == e.__code__.co_code
Bạn có thể sử dụng generate_tokens và kiểm tra xem thẻ bắt đầu với "def" hoặc "lambda". Sau đó, tìm ":" và "vượt qua" hoặc "Không" ngay sau đó. Không sạch sẽ, nhưng tôi đoán điều này sẽ làm việc. – spicavigo
Tuy nhiên, một cách khác là sử dụng mô-đun ast và phân tích cú pháp chuỗi chức năng. Tôi nghĩ rằng bạn có thể làm việc ra các chi tiết. – spicavigo
Cách bạn đang làm nó có vẻ ổn. – BrenBarn