ฟังก์ชั่น globals() locals() ในไพทอน
ฟังก์ชั่น globals(), locals() จะคืนค่า จะคืนค่า global และ local namespaces ซึ่งจะขึ้นอยู่กับตำแหน่งที่เรียก
ถ้าฟังก์ชั่น locals() ถูกเรียก ภายในฟังก์ จะคืนค่าชื่อทั้งหมดที่สามารถเรียกใช้ได้ภายในฟังก์ชั่น
ถ้าฟังก์ชั่น globals() ถูกเรียก ภายในฟังก์ จะคืนค่าชื่อทั้งหมดที่สามารถเรียกใช้ได้ภายในฟังก์ชั่นนั้น
ตัวอย่างไฟล์ function_locals_globals.py
# ตัวอย่าง สอน Python ในเว็บ Mindphp.com
# การใช้งาน locals และ globals เพื่อหา namespaces
varpython = 2000
def Addvarmindpython():
# Uncomment the following line to fix the code:
global varpython
b = 'test'
g = globals()
print(g)
print('--------------------------------------------')
l = locals()
print(l)
varpython = varpython + 1
print (varpython)
Addvarmindpython ()
print (varpython)
ผลที่ได้
2000
{'__builtins__': <module 'builtins' (built-in)>, '__file__': 'D:\\function_locals_globals.py', 'Addvarmindpython': <function Addvarmindpython at 0x0000000002677248>, '__package__': None, 'varpython': 2000, '__cached__': None, '__name__': '__main__', '__doc__': None}
--------------------------------------------
{'b': 'test', 'g': {'__builtins__': <module 'builtins' (built-in)>, '__file__': 'D:\\function_locals_globals.py', 'Addvarmindpython': <function Addvarmindpython at 0x0000000002677248>, '__package__': None, 'varpython': 2000, '__cached__': None, '__name__': '__main__', '__doc__': None}}
2001