Hàm globals() trong Python

Hàm globals() trong Python trả về một từ điển chứa các biến được định nghĩa trong không gian tên toàn cục. Khi globals() được gọi từ một hàm hoặc phương thức, nó trả về từ điển đại diện cho không gian tên toàn cục của module nơi hàm hoặc phương thức được xác định, không phải từ nơi nó được gọi. Vậy cú pháp của hàm globals() như thế nào, nó có những tham số gì và cách sử dụng ra sao? Mời bạn đọc theo dõi.

Cú pháp hàm globals() trong Python

globals()

Không có tham số và đối số nào nằm trong hàm.

Giá trị trả về từ globals

Hàm globals() trả về từ điển đại diện cho không gian tên toàn cục của module nơi hàm hoặc phương thức được xác định, không phải từ nơi nó được gọi.

Ví dụ : Hàm globals() hoạt động thế nào?

globals()

Chạy chương trình, kết quả trả về là:

{'In': ['', 'globals()'],
'Out': {},
'_': '',
'__': '',
'___': '',
'__builtin__': <module 'builtins' (built-in)>,
'__builtins__': <module 'builtins' (built-in)>,
'__name__': '__main__',
'_dh': ['/tmp/tmpx_16f0vp'],
'_i': '',
'_i1': 'globals()',
'_ih': ['', 'globals()'],
'_ii': '',
'_iii': '',
'_oh': {},
'_sh': <module 'IPython.core.shadowns' from '/usr/local/lib/python3.5/dist-packages/IPython/core/shadowns.py'>,
'exit': <IPython.core.autocall.ExitAutocall at 0x7f6bb9b1f7f0>,
'get_ipython': <bound method InteractiveShell.get_ipython of <IPython.core.interactiveshell.InteractiveShell object at 0x7f6bba3ebf98>>,
'quit': <IPython.core.autocall.ExitAutocall at 0x7f6bb9b1f7f0>}

Ví dụ 2: Sửa đổi biến toàn cục bằng global()

tuoi = 23

globals()['tuoi'] = 25
print('So tuoi la:', tuoi)

Chạy chương trình ta được kết quả là:

So tuoi la: 25

Không gian tên toàn cục lưu trữ tất cả các biến toàn cục, tức là trong ví dụ này, giá trị của biến tuoi có thể được thay đổi bằng cách sử dụng hàm globals(). Từ điển trả về được truy cập và được đổi thành 25.

Bài trước: Hàm getattr() trong Python

Bài tiếp: Hàm locals() trong Python

Thứ Ba, 19/03/2019 13:41
51 👨 100