TL; DR:包含スコープを検索するlocals()が必要です。
こんにちは、みんな。
私は何人かの化学者の友人にPythonプログラミングのコースを教えています、そして私は私がスコープを本当に理解していることを確認したいと思います。
検討:
def a():
x = 1
def b():
print(locals())
print(globals())
b()
ローカルは空の環境を出力し、グローバルは通常のグローバルを出力します。xが保存されている環境にアクセスするにはどうすればよいですか?私がそれを参照できるので、明らかに通訳はそれについて知っています。
関連:スコープはいつ発生しますか?x = 3が含まれている場合にのみ、a = x+2で次のnameErrorsが発生します。
def a():
x = 1
def b():
a = x+2
x = 3
b()
x = 3をコメントアウトすると、コードは機能します。これは、Pythonがコードを解釈する前に字句スコープがコードを通過させることを意味しますか?