Hướng dẫn local and global scope in python - phạm vi cục bộ và toàn cầu trong python


Một biến chỉ có sẵn từ bên trong khu vực nó được tạo ra. Đây được gọi là phạm vi.scope.


Phạm vi địa phương

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 chức năng đó:

def myfunc (): & nbsp; x = 300 & nbsp; in (x)
  x = 300
  print(x)

myfunc()

Hãy 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ỳ chức năng nào 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 chức năng đó:

def myfunc (): & nbsp; x = 300 & nbsp; in (x)
  x = 300
  def myinnerfunc():
    print(x)
  myinnerfunc()

myfunc()

Hãy 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ỳ chức năng nào bên trong hàm:

Biến cục bộ có thể được truy cập từ một hàm 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 chức năng đó:

def myfunc (): & nbsp; x = 300 & nbsp; in (x)

Hãy tự mình thử »
  print(x)

myfunc()

print(x)

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ỳ chức năng nào bên trong hàm:

Biến cục bộ có thể được truy cập từ một hàm 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 chức năng đó:

def myfunc (): & nbsp; x = 300 & nbsp; in (x)

Hãy tự mình thử »
  x = 200
  print(x)

myfunc()

print(x)

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ỳ chức năng nào bên trong hàm:

Biến cục bộ có thể được truy cập từ một hàm trong hàm:

def myfunc (): & nbsp; x = 300 & nbsp; def myinnerfunc (): & nbsp; & nbsp; in (x) & nbsp; myinnerfunc ()

Thí dụ

Một biến được tạo bên trong một hàm có sẵn bên trong chức năng đó:

def myfunc (): & nbsp; x = 300 & nbsp; in (x)
  global x
  x = 300

myfunc()

Hãy 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ỳ chức năng 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 trong hàm:

def myfunc (): & nbsp; x = 300 & nbsp; in (x)

Hãy tự mình thử »
  global x
  x = 200

myfunc()

Hãy tự mình thử »

Hãy tự mình thử »




Phạm vi toàn cầu

Một biến được tạo ra trong phần chính của mã Python là một biến toàn cầu và thuộc phạm vi toàn cầu.

Các biến toàn cầu có sẵn từ trong bất kỳ phạm vi, toàn cầu và địa phương.

Thí dụ

Một biến được tạo ra bên ngoài chức năng là toàn cầu và có thể được sử dụng bởi bất kỳ ai:

x = 300

def myfunc (): & nbsp; in (x)
  print(x)

myfunc()

print(x)

Hãy tự mình thử »

Đặt tên biến

Nếu bạn hoạt động với cùng một tên biến bên trong và bên ngoài 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ầu (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ụ

Một biến được tạo ra bên ngoài chức năng là toàn cầu và có thể được sử dụng bởi bất kỳ ai:

x = 300

def myfunc (): & nbsp; in (x)
  x = 200
  print(x)

myfunc()

print(x)

Hãy tự mình thử »




Trong hướng dẫn này, chúng ta sẽ tìm hiểu về các biến toàn cầu Python, các biến cục bộ và các biến không thuộc địa điểm với sự trợ giúp của các ví dụ.

VIDEO: Các biến số địa phương và toàn cầu của Python

Trong Python, chúng ta có thể khai báo các biến trong ba phạm vi khác nhau: phạm vi địa phương, phạm vi toàn cầu và không thuộc địa.

Một phạm vi biến chỉ định khu vực nơi chúng ta có thể truy cập một biến. Ví dụ,

def add_numbers():
    sum = 5 + 4

Ở đây, biến tổng được tạo bên trong hàm, do đó nó chỉ có thể được truy cập trong nó (phạm vi cục bộ). Loại biến này được gọi là biến cục bộ.

Dựa trên phạm vi, chúng ta có thể phân loại các biến Python thành ba loại:

  1. Các biến cục bộ
  2. Biến toàn cầu
  3. Biến không thuộc địa điểm

Python biến cục bộ

Khi chúng ta khai báo các biến bên trong một hàm, các biến này sẽ có phạm vi cục bộ (trong hàm). Chúng ta không thể truy cập chúng bên ngoài chức năng.

Các loại biến này được gọi là biến cục bộ. Ví dụ,

def greet():

    # local variable
    message = 'Hello'
    
    print('Local', message)

greet()

# try to access message variable 
# outside greet() function
print(message)

Đầu ra

Local Hello
NameError: name 'message' is not defined

Ở đây, biến tin nhắn là cục bộ của hàm

def greet():

    # local variable
    message = 'Hello'
    
    print('Local', message)

greet()

# try to access message variable 
# outside greet() function
print(message)
8, do đó nó chỉ có thể được truy cập trong hàm.

Đó là lý do tại sao chúng tôi gặp lỗi khi chúng tôi cố gắng truy cập nó bên ngoài chức năng

def greet():

    # local variable
    message = 'Hello'
    
    print('Local', message)

greet()

# try to access message variable 
# outside greet() function
print(message)
8.

Để khắc phục vấn đề này, chúng tôi có thể làm cho biến có tên là thông báo toàn cầu.


Biến toàn cầu Python

Trong Python, một biến được khai báo bên ngoài hàm hoặc trong phạm vi toàn cầu được gọi là biến toàn cầu. Điều này có nghĩa là một biến toàn cầu có thể được truy cập bên trong hoặc bên ngoài hàm.

Hãy xem một ví dụ về cách một biến toàn cầu được tạo ra trong Python.

# declare global variable
message = 'Hello'

def greet():
    # declare local variable
    print('Local', message)

greet()
print('Global', message)

Đầu ra

Local Hello
Global Hello

Lần này chúng ta có thể truy cập biến tin nhắn từ bên ngoài hàm

def greet():

    # local variable
    message = 'Hello'
    
    print('Local', message)

greet()

# try to access message variable 
# outside greet() function
print(message)
8. Điều này là do chúng tôi đã tạo biến tin nhắn là biến toàn cầu.

# declare global variable
message = 'Hello'

Bây giờ, tin nhắn sẽ có thể truy cập được từ bất kỳ phạm vi (khu vực) của chương trình.


Python các biến không thuộc địa

Trong Python, các biến không thuộc địa được sử dụng trong các hàm lồng nhau có phạm vi cục bộ không được xác định. Điều này có nghĩa là biến có thể không ở trong địa phương cũng như phạm vi toàn cầu.

Chúng tôi sử dụng từ khóa

Local Hello
NameError: name 'message' is not defined
1 để tạo các biến không thuộc địa. Ví dụ, ví dụ,

# outside function 
def outer():
    message = 'local'

    # nested function  
    def inner():

        # declare nonlocal variable
        nonlocal message

        message = 'nonlocal'
        print("inner:", message)

    inner()
    print("outer:", message)

outer()

Đầu ra

inner: nonlocal
outer: nonlocal

Lần này chúng ta có thể truy cập biến tin nhắn từ bên ngoài hàm

def greet():

    # local variable
    message = 'Hello'
    
    print('Local', message)

greet()

# try to access message variable 
# outside greet() function
print(message)
8. Điều này là do chúng tôi đã tạo biến tin nhắn là biến toàn cầu.

Bây giờ, tin nhắn sẽ có thể truy cập được từ bất kỳ phạm vi (khu vực) của chương trình.

Python các biến không thuộc địa : If we change the value of a nonlocal variable, the changes appear in the local variable.

Phạm vi địa phương và toàn cầu trong Python là gì?

Các biến được xác định bên trong một cơ thể chức năng có phạm vi cục bộ và những biến được xác định bên ngoài có phạm vi toàn cầu. Điều này có nghĩa là các biến cục bộ chỉ có thể được truy cập bên trong hàm mà chúng được khai báo, trong khi các biến toàn cầu có thể được truy cập trên toàn bộ cơ thể chương trình bởi tất cả các chức năng.. This means that local variables can be accessed only inside the function in which they are declared, whereas global variables can be accessed throughout the program body by all functions.

Phạm vi địa phương và phạm vi toàn cầu là gì?

Một biến toàn cầu có phạm vi toàn cầu. Một biến toàn cầu có thể truy cập từ bất cứ nơi nào trong mã. Phạm vi cục bộ - Phạm vi cục bộ chứa những thứ được xác định bên trong các khối mã. Một biến cục bộ có phạm vi cục bộ. Một biến cục bộ chỉ có thể truy cập được khi được khai báo.Local scope contains things defined inside code blocks. A local variable has local scope. A local variable is only accessible where it's declared.

Phạm vi địa phương trong Python là gì?

Phạm vi cục bộ (hoặc chức năng) là khối mã hoặc phần thân của bất kỳ chức năng Python hoặc biểu hiện lambda nào.Phạm vi Python này chứa các tên mà bạn xác định bên trong hàm.Những tên này sẽ chỉ hiển thị từ mã của hàm.the code block or body of any Python function or lambda expression. This Python scope contains the names that you define inside the function. These names will only be visible from the code of the function.

Các biến địa phương và toàn cầu trong Python với ví dụ là gì?

Các biến toàn cầu là các biến được khai báo bên ngoài một hàm. Biến số là các biến được khai báo bên trong một hàm.Mặc dù các biến toàn cầu không thể được thay đổi trực tiếp trong một hàm, bạn có thể sử dụng từ khóa toàn cầu để tạo hàm sẽ thay đổi giá trị của biến toàn cầu. Local variables are variables declared inside a function. While global variables cannot be directly changed in a function, you can use the global keyword to create a function that will change the value of a global variable.