2016-12-18 5 views
0

Pythonのリストとローカルリスト宣言明示的には、中に宣言された関数を除いて、どこからでも触れることができないローカル変数としてリストを宣言する方法

はdoesntの仕事

+5

関数内のリストは関数 –

+0

に対してローカルです。クロージャを調べる必要があるかもしれません。http://stackoverflow.com/questions/4020419/whyarent-python-nested-functions-called-closures – Nevermore

+1

この[回答](http://stackoverflow.com/a/292502/4788274)から... –

答えて

0

Pythonはインタプリタ言語であり、それは、そのような文がありません

LOCAL variable = [] 

を試してみました。ここで

は、ドキュメントからです:

オブジェクトの内部以外からアクセスすることができない「プライベート」のインスタンス変数は、Pythonには存在しません。しかし、大部分のPythonコードの後に​​は、アンダースコア(_spamなど)を前に付けた名前は、APIの非公開部分として扱われるべきです(関数、メソッド、データメンバーのいずれであっても) 。

あなたが気づくことができ予告なく変更する実装の詳細と対象と見なされるべきで、そのような、それはちょうどあなたがこの変数に触れSHOUDN'Tいますが、変更することができますちょうど大会伝えている_pseudo_private_var(1アンダースコア)naming.It同時にこの1つの値。これはPythonです)。 __dynamic_obj_relative_namingも同様です(2つのアンダースコア)。スコープと名前空間に関する

より多くのあなたがここにClasses, namespace and scope rulesを見つけることができるルール。あなたが興味を持っている興味深い声明はおそらくglobalnonlocalです。彼らはあなたのもののようなものです。

関連する問題