day11の名前空間スコープ

day11の名前空間スコープ

 

A. 三項演算子
デフFUNC(a、b)は:
    他のB b>を返す場合
 
印刷(FUNC(44,66))
II:関数のコメント
デフFUNC(a、b)は:
    「」」
    この関数は、計算、Bに使用され、
    :PARAM:最初のデータ
    :のParam B:第二のデータ
    :リターン:2つの数の復帰
    「」」
    + bを返します
 
(FUNC .__ doc__内の例題)#document文書を印刷します
III。ネーム(名前空間)
    ビルトイン名前空間:ストアは、名前のpythonを提供してくれます
    グローバル名前空間:PYファイル、関数、変数の外
    ローカル名前空間:PYファイル、関数内の変数
= 10
 
DEF FN():#は、fnは、グローバルネームスペースあり、それがグローバルでトップグリッド書き込みと考えられています
    関数が呼び出されたときのみ、B = 20#の変数b、それが使用されます
    プリント(A)
デフ)(GN:
    プリント(A)
FN()
GN()
ロードオーダー#名前空間:内蔵 - >グローバル - >ローカル
四つスコープ:範囲は範囲有効で割った値であります
    グローバルスコープ:グローバルおよび構築されました
    ローカルスコープ:ローカル
        グローバル()    ローカル()
= 10
DEFキー():
    B = 20
    デフ)(中:
        C = 30
印刷(グローバル())#グローバルスコープの内容を表示することができます
スコーププリント(地元の人々())#ビューコンテンツの現在のスコープ、および地元の人々()ここで、関係
 
= 10
DEFキー():
    B = 20
    デフ)(中:
        印刷する印刷が行われていない、#en呼び出されない(グローバル())、FN()は結果
        印刷(地元の人々())
FN()
V.ネストされた関数
def outer():
    print('i am in outer')
    def inner():
        print('i am in inner')      #可以无限的往下套
    inner()
outer()
六.global和nonlocal关键字
    global 改全局
a = 10        #全局变量本身不安全, 不能随意修改(闭包可解决此事)
 
def func():
    global a    #不写global, 可以使用a, 但是不能改a 的值, 否则报错
    a = 20      #在调用func()之后,  1.把全局的a 改成 20    2.创建全局变量 a
func()
 
print(a)
    nonlocal 改上一层,还要有这个变量, 若没有,再往上找, 直到找最后一层, 找不到报错(但是不找全局)
a = 30
def outer():
    a = 10        #找的这个,没有则报错
    def inner():
        nonlocal a
        a = 20
    inner()
    print(a)
outer()
print(a)            #全局的不找
 
 
 
 
 
 

おすすめ

転載: www.cnblogs.com/aiaii/p/11872105.html