Biến toàn cầu hoạt động như thế nào trong Python? Tôi biết các biến toàn cầu là ác, tôi chỉ đang thử nghiệm.Tại sao tôi không thể đặt biến toàn cục bằng Python?
này không hoạt động trong python:
G = None
def foo():
if G is None:
G = 1
foo()
tôi nhận được một lỗi:
UnboundLocalError: local variable 'G' referenced before assignment
Tôi đang làm gì sai?
s/biến/tên/g s/gán cho/liên kết với/g –
Có, người ta có thể sử dụng thuật ngữ khác, nhưng miễn là Python tự nói về "biến" và "chuyển nhượng" trong thông báo lỗi (như xuất hiện trong câu hỏi ban đầu), tôi nghĩ thuật ngữ như vậy là hoàn toàn có thể chấp nhận được khi giải thích vấn đề. –
Điểm được chụp! Tham chiếu ngôn ngữ không phải lúc nào cũng nhất quán về vấn đề này. –