Một biến được tạo bên trong một hàm thuộc phạm vi cục bộ của hàm đó và chỉ có thể được sử dụng bên trong hàm đó
Thí dụ
Một biến được tạo bên trong một hàm có sẵn bên trong hàm đó
def myfunc[].
x = 300
print[x]
myfunc[]
Tự mình thử »Chức năng Bên trong Chức năng
Như đã giải thích trong ví dụ trên, biến x
không có sẵn bên ngoài hàm, nhưng nó có sẵn cho bất kỳ hàm nào bên trong hàm
Thí dụ
Biến cục bộ có thể được truy cập từ một hàm bên trong hàm
def myfunc[].
x = 300
def myinnerfunc[].
print[x]
myinnerfunc[]
myfunc[]
Tự mình thử »Phạm vi toàn cầu
Một biến được tạo trong phần thân chính của mã Python là một biến toàn cục và thuộc về phạm vi toàn cầu
Các biến toàn cầu có sẵn từ bên trong bất kỳ phạm vi nào, toàn cầu và cục bộ
Thí dụ
Một biến được tạo bên ngoài một hàm là biến toàn cục và có thể được sử dụng bởi bất kỳ ai
x = 300
def myfunc[].
in[x]
myfunc[]
in[x]
Tự mình thử »Đặt tên biến
Nếu bạn thao tác với cùng một tên biến bên trong và bên ngoài một hàm, Python sẽ coi chúng là hai biến riêng biệt, một biến có sẵn trong phạm vi toàn cục [bên ngoài hàm] và một biến có sẵn trong phạm vi cục bộ [bên trong hàm]
Thí dụ
Hàm sẽ in x
cục bộ, sau đó mã sẽ in x
toàn cầu
x = 300
def myfunc[].
x = 200
print[x]
myfunc[]
in[x]
Tự mình thử »từ khóa toàn cầu
Nếu bạn cần tạo một biến toàn cục, nhưng bị mắc kẹt trong phạm vi cục bộ, bạn có thể sử dụng từ khóa global
Từ khóa global
biến biến thành toàn cầu
Thí dụ
Nếu bạn sử dụng từ khóa global
thì biến thuộc phạm vi toàn cục
def myfunc[].
toàn cầu x
x = 300
myfunc[]
in[x]
Tự mình thử »Ngoài ra, hãy sử dụng từ khóa global
nếu bạn muốn thay đổi biến toàn cục bên trong một hàm
Thí dụ
Để thay đổi giá trị của một biến toàn cục bên trong một hàm, hãy tham chiếu đến biến đó bằng cách sử dụng từ khóa global
Phạm vi là một khối mã trong đó một đối tượng trong Python vẫn có liên quan. Mỗi và mọi đối tượng của hàm python trong phạm vi tương ứng của nó. Vì các không gian tên xác định duy nhất tất cả các đối tượng bên trong một chương trình nhưng những không gian tên này cũng có một phạm vi được xác định cho chúng, nơi bạn có thể sử dụng các đối tượng của chúng mà không cần bất kỳ tiền tố nào. Nó xác định khả năng truy cập và thời gian tồn tại của một biến
Hãy xem phạm vi được tạo khi thực thi mã
- Phạm vi cục bộ đề cập đến các đối tượng cục bộ có trong hàm hiện tại
- Phạm vi toàn cầu đề cập đến các đối tượng có sẵn trong suốt quá trình thực thi mã
- Phạm vi cấp mô-đun đề cập đến các đối tượng toàn cầu được liên kết với mô-đun hiện tại trong chương trình
- Phạm vi ngoài cùng đề cập đến tất cả các tên tích hợp sẵn có thể gọi được trong chương trình
không gian tên. Nó là một thùng chứa nơi các tên được ánh xạ tới các đối tượng. Đây là những hữu ích để tránh nhầm lẫn khi cùng một tên tồn tại trong các không gian tên khác nhau. Chúng được tạo bởi các hàm, mô-đun, lớp, v.v. Ở đây, chúng ta sẽ tìm hiểu về phạm vi trong python cho mục đích khoa học dữ liệu
Phạm vi. Nó xác định thứ tự phân cấp mà chúng ta phải tìm kiếm các không gian tên để có được ánh xạ từ tên-đối tượng [biến]. Các biến tồn tại trong bối cảnh này và từ đó, chúng được tham chiếu. Nó cũng xác định thời gian tồn tại và khả năng truy cập của một biến. Dưới đây là một ví dụ
Độ phân giải phạm vi thông qua quy tắc LEGB
Chúng tôi sử dụng quy tắc LEGB trong Python để quyết định thứ tự các không gian tên được tìm kiếm để giải quyết phạm vi
Dưới đây chúng tôi đã liệt kê các phạm vi theo thứ bậc của chúng [hẹp nhất t rộng nhất]
- Local [L] – Chúng ta có thể định nghĩa nó bên trong lớp chức năng
- Kèm theo [E] – Chúng ta có thể định nghĩa nó bên trong hàm kèm theo [Hàm lồng nhau]
- Toàn cầu [G] – Chúng ta có thể định nghĩa nó ở mức cao nhất
- Tích hợp [B] – Đây là tên dự trữ trong các mô-đun tích hợp sẵn của Python
Phạm vi cục bộ
Nó đề cập đến các biến được định nghĩa trong hàm hiện tại. Một hàm sẽ luôn tìm kiếm tên biến trong phạm vi cục bộ. Trong trường hợp không có gì trong phạm vi cục bộ, các phạm vi khác đang tìm kiếm
Khi chúng ta chạy chương trình trên, hàm bên trong sẽ được thực thi và hàm sẽ in giá trị của biến cục bộ pi như nó có sẵn trong phạm vi cục bộ
Phạm vi địa phương và toàn cầu
Trong trường hợp không tìm thấy biến nào trong phạm vi cục bộ, nó sẽ kiểm tra phạm vi cao hơn tiếp theo, i. e. , phạm vi toàn cầu
Trong trường hợp chức năng bao quanh, chúng ta cần xác định chức năng bên ngoài bao quanh chức năng bên trong. Chúng tôi sẽ nhận xét biến cục bộ pi của hàm bên trong và nó sẽ được tham chiếu đến biến pi bằng cách sử dụng từ khóa không cục bộ
Khi chương trình output[] được thực thi, các hàm inner[] và print sẽ được thực thi, sau đó giá trị chứa trong biến pi được in ra
Phạm vi cục bộ, kèm theo, toàn cầu và tích hợp
Chúng tôi sẽ thực hiện kiểm tra cuối cùng bằng cách nhập pi từ mô-đun toán học, sau đó chúng tôi sẽ nhận xét các biến số pi toàn cục, kèm theo và cục bộ
Vì pi không được xác định trong bất kỳ phạm vi nào nên nó sẽ tra cứu trong phạm vi tích hợp, i. e. , nó sẽ nhập từ mô-đun toán học. Ngoài ra, để tìm hiểu thêm về nó trong python cho khoa học dữ liệu, bạn cũng có thể kiểm tra cái này và cái này