Computer >> Máy Tính >  >> Lập trình >> Python

Phạm vi biến hoạt động như thế nào trong hàm Python?

Một biến trong Python được định nghĩa khi chúng ta gán một số giá trị cho nó. Chúng tôi không khai báo trước, giống như chúng tôi làm trong ngôn ngữ C và các ngôn ngữ khác. Chúng tôi chỉ bắt đầu sử dụng nó.

x = 141

Bất kỳ biến nào chúng tôi khai báo ở cấp cao nhất của tệp hoặc mô-đun đều nằm trong phạm vi toàn cầu. Chúng ta có thể truy cập nó vào các chức năng bên trong.

Một biến phải có phạm vi hẹp nhất mà nó cần để thực hiện công việc của mình.

Ví dụ

Trong mã đã cho

x = 141
def foo():
    x = 424 #local variable
    print x
foo()
print x

Đầu ra

424
141

Giải thích

Khi chúng ta gán giá trị 424 cho x bên trong foo, chúng ta thực sự khai báo một biến cục bộ mới được gọi là x trong phạm vi cục bộ của hàm đó. X đó hoàn toàn không có quan hệ gì với x trong phạm vi toàn cục. Khi hàm kết thúc, biến có giá trị 424 không tồn tại nữa. Vì vậy, khi câu lệnh print x thứ hai được thực thi, giá trị toàn cục của x sẽ được in ra.

Nếu giá trị toàn cục của một biến được duy trì trong phạm vi cục bộ, thì từ khóa toàn cục sẽ được sử dụng như sau trong mã.

Ví dụ

x = 141
def foo():
    global x
    x = 424
    print(x)
foo()
print(x)

Đầu ra

424
424