ホームページ >バックエンド開発 >Python チュートリアル >Python の名前空間とスコープとは何ですか?その機能は何ですか?

Python の名前空間とスコープとは何ですか?その機能は何ですか?

乌拉乌拉~
乌拉乌拉~オリジナル
2018-08-15 17:32:452018ブラウズ

この記事では、Python プログラミング言語の 名前空間とスコープを見てみましょう。この記事では、python 名前空間、 および 名前空間とスコープについて見ていきます。 彼らについて学びましょう。

名前空間とスコープ:

変数は、一致するオブジェクトを保持する名前 (識別子) です。名前空間は、変数名 (キー) とそれに対応するオブジェクト (値) を含む辞書です。

Python 式は、ローカル名前空間とグローバル名前空間の変数にアクセスできます。ローカル変数がグローバル変数と同じ名前を持つ場合、ローカル変数はグローバル変数をオーバーライドします。

各関数には独自の名前空間があります。クラスメソッドのスコープ規則は、通常の関数の場合と同じです。


#Python は、関数内で値が割り当てられた変数がローカルであると仮定して、変数がローカルであるかグローバルであるかをインテリジェントに推測します。

したがって、関数内のグローバル変数に値を代入する場合は、global ステートメントを使用する必要があります。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
Money = 2000            
def AddMoney():
   # 想改正代码就取消以下注释:
   # global Money
   Money = Money + 1
 
print Money
AddMoney()
print Money

グローバル VarName 式は、VarName がグローバル変数であることを Python に伝えるため、Python はローカル名前空間でこの変数を検索しません。

たとえば、変数 Money をグローバル名前空間に定義します。次に、関数内の変数 Money に値を代入すると、Python は Money がローカル変数であると想定します。ただし、アクセスする前にローカル変数 Money を宣言していないため、結果は UnboundLocalError になります。グローバル ステートメントのコメントを解除すると、この問題を解決できます。

今日説明したいのは、名前空間とスコープです。私の説明を読むだけでは、机上の話をしているだけです。学んだことを確認するには、実際に実践することが最善の方法です。最後に、この記事が Python を学習しているあなたの助けになれば幸いです。

関連知識の詳細については、php 中国語 Web サイトの Python チュートリアル 列を参照してください。

以上がPython の名前空間とスコープとは何ですか?その機能は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。