gpt4 book ai didi

python - 测试 Python 类中的特定方法

转载 作者:行者123 更新时间:2023-11-28 19:40:48 25 4
gpt4 key购买 nike

测试类是否定义了特定方法的最佳(或“Pythonic”)方法是什么?

这两个都有效,但在第二个中感觉不“正确”,我只是尝试访问它并在它不存在时捕获异常。

有没有更好/更正确的方法?

class TestClass(object):
def TestFunc(self):
pass



if 'TestFunc' in dir(TestClass):
print 'yes'
else:
print 'No'



try:
if TestClass.__getattribute__(TestClass, 'TestFunc'):
print 'yes'

except:
print 'No'

最佳答案

使用hasattr :

class Foo(object):
def bar():
pass

assert hasattr(Foo, 'bar')

如果你真的想测试属性是否是一个方法,你可以这样做:

assert hasattr(Foo, 'bar') and callable(getattr(Foo, 'bar'))

关于python - 测试 Python 类中的特定方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6254586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com