フォーマット影響の参照やPythonでのグローバル変数の変更

次のコードの実行と結果を初めて目:

a = 1
b = [2,3]
def nums():
    a = 2
    b[0] = 0
    print(a)
    print(b)
print(a)
print(b)
nums()
print(a)
print(b)

結果:

1
[2, 3]
2
[0, 3]
1
[0, 3]
在学习过程中有什么不懂得可以加我的
python学习交流扣扣qun,784758214
群里有不错的学习视频教程、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容

上記の結果の分析:

機能NUMS()変数aが再定義され、これはローカル変数、外部のグローバル変数とは何の関係も、直接変更を行うために呼び出されたグローバル変数のリストBであり、また、なぜグローバル変数は違いでしょうか?

  このようなリストは、辞書は、変更とその書き込み完全に異なるフォーマットを作成するように曖昧さに起因する問題、データのコンテナ型のフォーマットは、奇妙な、と数につながることはありませんので、トリガ、=リンクを定義し、文字列型の変数を変更使用されていますインタプリタは、「= 2」形式のPython関数を検出したとき、または「グローバル変数が2修正するために使用される」わからないので、その形式上の曖昧さ、その結果、「変数の定義は、2に等しいです」グローバル変数は、全体のコード上の他の未知の影響をもたらす変更を避けるために、変数を再定義する - グローバル変数が2番目のコードの残りの部分、Pythonのデフォルトに小さな影響を生じ確保するためには、あいまいさにつながります。

要約すると:

エッセンス:フォーマットによって引き起こされる曖昧

アプリケーションは:;参照の不一致を作成するときの数字のために、文字列は、Pythonインタプリタのデフォルトは新しい変数を作成するだけで欲しい作成したくない場合は、問題の形式ではなく、彼はので、辞書の場合、リストにはあいまいさにつながることはありませんグローバル変数、追加するグローバルステートメント必要性、加えて、もし単にグローバル変数への参照を変更し、それはグローバル変数、B = + 5のためであるとして、曖昧させずに、ここで使用するのは簡単である、フォーマットを生成しません曖昧さの問題は、またそれは、世界的な必要がありません。

おすすめ

転載: blog.51cto.com/14568144/2454896