以下代碼僅在註釋掉初始化程序時纔有效。Python類無法看到方法,除非我註釋掉__init__
class What:
def __init__(self):
pass
def method1(self):
print 'method1'
def main():
b = What()
if hasattr(b,"method1"):
print "b.method1"
b.method1()
main()
如果它沒有被註釋掉我得到錯誤信息......
Traceback (most recent call last):
File "strange.py", line 17, in <module>
main()
File "strange.py", line 15, in main
b.method1()
AttributeError: What instance has no attribute 'method1'
但是,如果我以相同的方法類型,並調用它,也一點問題都沒有......
def method2(self):
print 'method2'
我使用了od -c文件,文本中沒有奇怪的字符 使用Python 2.7.2
還有其他事情正在發生,因爲這工作正常,正如預期的那樣。 – sberry
也許你在混合標籤和空格? – sberry
@sberry正確。我用Python 2.7.3測試了它,它工作正常。 – 2013-09-28 05:26:33