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