Hôm nay mình có học tới bài biến toàn cục và biến cục bộ trong python. Mình có xem qua các ví dụ thể hiện sự thay đổi về biến trong các hàm thì tự nhiên bị rối não chỗ này.Dưới đây là 2 bài code:
g=5
def increment():
g=2
g+=1
increment()
print(g)
kết quả trên thì g=5
Hàm increment() không tác động vào được biến toàn cục
#----------------------------------------------
g=5
for i in range(10):
g=2
g+=1
print(g)
kết quả cho ra bằng 3. Ở đây vì sao g ở trong không phải là biến toàn cục nhưng giá trị của nó vẫn được đưa ra ngoài. sao hàm for tác động được vào giá trị trong biến toàn cục được trong khi không hề có từ khóa “global g” vậy ạ.