2012-04-13 8 views
1

ファンクションまたはメソッドでattrの存在を確認する方法hasattr(またはなし)? 私はそれをチェックしてみてくださいどのような方法ではFalseです:hasattr with functions

>>> def f(): 
     at = True 


>>> hasattr(f, 'at') 
False 
>>> hasattr(f(), 'at') 
False 
+0

この情報をどうすればよいですか? –

答えて

5

ローカル変数は、属性ではありません。 *attr()は使用できません。

+0

+1。 @ I159:あなたが本当に*関数が使用しているローカル変数を見たいと思っているなら、[this code](http://stackoverflow.com/questions/1360721/how-to-get-set-local-variables-of- a-function-from-in-python)がそこにありますが、あなたのユースケースはどういうものでしょうか? –

0

以下の例を参照してください。

>>> def f(): 
... f.at = True 
... 
>>> hasattr(f, 'at') 
False 
>>> f() 
>>> hasattr(f, 'at') 
True