[PYTHON] Globale und lokale Variablen 2

1


player = 'Taro'

def f():
    player = 'Jiro'
    print('local:', locals())

f()
print(player)

Ausführungsergebnis von 1


local: {'player': 'Jiro'}
Taro

Ohne lokale Variablen zu deklarieren Wenn Sie local () ausführen,

2


player = 'Taro'

def f():
    print('local:', locals())

f()
print(player)

Ausführungsergebnis von 2


local: {}
Taro

Ein leeres Wörterbuch wird zurückgegeben.

Wenn ich auch globals () starte,

3


player = 'Taro'

def f():
    print('local:', locals())

f()
print('global:', globals())

Ausführungsergebnis von 3


local: {}
global: {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7efff584a2b0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'Main.py', '__cached__': None, 'player': 'Taro', 'f': <function f at 0xxxxxxxxxxxxx>}

Viele kommen heraus, 'Spieler': Es heißt 'Taro'.

Außerdem ist __name__`` __main__, __doc__ ist None ohne irgendetwas drin Etwas, das im Voraus deklariert wurde, wird herauskommen.

Wenn Sie hier ein Dokument für diese Funktion schreiben,

4


"""
test ##################
"""

player = 'Taro'

def f():
    print('local:', locals())

f()
print('global:', globals())

Ausführungsergebnis von 4


local: {}
global: {'__name__': '__main__', '__doc__': '\ntest ##################\n', '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f73121652b0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'Main.py', '__cached__': None, 'player': 'Taro', 'f': <function f at 0x7f7312236e18>}

__doc__ ist jetzt '\ ntest #################### \ n.

Wenn Sie in der Funktion auch __name__ und __doc__ betrachten,

5


player = 'Taro'

def f():
    """Test func doc"""
    print(f.__name__)
    print(f.__doc__)

f()
print('global:', __name__)

Ausführungsergebnis von 5


f
Test func doc
global: __main__

Zuerst, print(f.__name__) Gibt den Namen der Funktion f mit aus Nächster, Das Dokument der Funktion f wird von print (f .__ doc __) ausgegeben. Schließlich, Mit print ('global:', __name __) Der Name der gesamten Funktion wird nach dem String 'global:' ausgegeben.

Recommended Posts

Globale und lokale Variablen 2
Globale und lokale Variablen 1
Eine Geschichte, die von Go's globalen Variablen und ihrem Umfang abhängig ist
Python: Klassen- und Instanzvariablen
Informationen zu Python-Variablen und -Objekten
Python-Klassen- und Instanzvariablen
Python-Variablen und Objekt-IDs
Deklaration globaler Variablen der C-Sprache
Initialisierung globaler Variablen mit Python-Dekoratoren
[Linux] [C / C ++] Operation prüft Memo von Fork, Thread und Thread-lokalen Variablen
Verwendung globaler Variablen in Python-Funktionen
[Python3] Definieren Sie globale Variablen in einer Funktion dynamisch
[Python] Verwenden Sie und und oder beim Erstellen von Variablen
Beispiel für die Verwendung von Klassenvariablen und Klassenmethoden
Unterschied zwischen nicht lokal und global in Python
Die Geschichte der Manipulation globaler Python-Variablen
Korrelationsvisualisierung der Merkmalsmenge und der Zielvariablen