は、我々がグローバル配置する必要があります。このシナリオでは、この変数のみを読み込むにはグローバル変数を宣言する必要がありますか?
# global variable
i_am_global = {}
def get_global():
global i_am_global # declare 1
if i_am_global is not None:
return i_am_global
global i_am_global # declare 2
i_am_global = do_something()
return i_am_global
def main():
get_global()
if __name__ == "__main__":
main()
を検討しますか? #宣言1または#宣言2で?なぜ?
これは、グローバルでメモリオーバーヘッドが発生すると聞いた(私はこの質問をしています)からです。
はあなたしか変数を読めば、あなたはglobal
を使用する必要はありませんが、個人的に私はドキュメンタリー的な目的で行うあなた
"* global原因メモリオーバーヘッド*" - 間違って聞いた。 Pythonの 'global'ステートメントはメモリオーバーヘッドを引き起こさない。 –
両方の場所を試したとき、あなたは何を観察しましたか?あなたが 'global'ステートメントなしでそれを試したとき、あなたは何を観察しましたか? –
#2では必要ですが、#1では必要ありません。この質問を見て:http://stackoverflow.com/questions/9366212/correct-use-of-global-variables-in-python-3 –