我感觉我在Python中遇到了一种相当奇怪的行为.自己try 一下:
import inspect
class SomeClass:
def __init__(self):
inspect.getmembers(self, predicate=inspect.ismethod)
def this_is_okay(self):
raise Exception('an error that may be thrown')
@property
def this_is_not_okay(self):
raise Exception('an error that may be thrown')
@property
def but_this_is_okay(self):
if True:
raise Exception('an error that may be thrown')
如果存在用@property
装饰的方法,判断类的方法将导致错误,但前提是它在第一个缩入级别引发错误.
怎么可能?我该如何解决这个问题?
P.S.我这样判断的原因是我试图按照类方法(实际的可调用对象)在类中定义的顺序获取类方法的array.