Làm thế nào để bạn sử dụng các biến bên ngoài chức năng trong python?

Nói chung, một biến được xác định trong một khối chỉ khả dụng trong khối đó. Nó không thể truy cập bên ngoài khối. Biến như vậy được gọi là biến cục bộ. Định danh đối số chính thức cũng hoạt động như các biến cục bộ

Ví dụ sau đây sẽ nhấn mạnh điểm này. Nỗ lực in một biến cục bộ bên ngoài phạm vi của nó sẽ làm tăng ngoại lệ

>>> greet()                            
Hello Steve
>>> name
Traceback (most recent call last):
File "", line 1, in  name
NameError: name 'name' is not defined
0

Thí dụ. Biến cục bộ

Sao chép

def greet():
    name = 'Steve'
    print('Hello ', name)

Ở đây,

>>> greet()                            
Hello Steve
>>> name
Traceback (most recent call last):
File "", line 1, in  name
NameError: name 'name' is not defined
1 là một biến cục bộ cho hàm
>>> greet()                            
Hello Steve
>>> name
Traceback (most recent call last):
File "", line 1, in  name
NameError: name 'name' is not defined
2 và không thể truy cập được bên ngoài nó

Thí dụ. Biến cục bộ

Sao chép

>>> greet()                            
Hello Steve
>>> name
Traceback (most recent call last):
File "", line 1, in  name
NameError: name 'name' is not defined

Bất kỳ biến nào có mặt bên ngoài bất kỳ khối chức năng nào được gọi là biến toàn cục. Giá trị của nó có thể truy cập từ bên trong bất kỳ chức năng nào. Trong ví dụ sau, biến

>>> greet()                            
Hello Steve
>>> name
Traceback (most recent call last):
File "", line 1, in  name
NameError: name 'name' is not defined
1 được khởi tạo trước khi định nghĩa hàm. Do đó, nó là một biến toàn cầu

Thí dụ. Biến toàn cầu

Sao chép

name='John'
def greet():
    print ("Hello ", name)

Bây giờ, bạn có thể truy cập biến toàn cục

>>> greet()                            
Hello Steve
>>> name
Traceback (most recent call last):
File "", line 1, in  name
NameError: name 'name' is not defined
1 vì nó đã được định nghĩa ngoài hàm

________số 8

Tuy nhiên, nếu chúng ta gán một giá trị khác cho một biến được khai báo toàn cầu bên trong hàm, thì một biến cục bộ mới sẽ được tạo trong không gian tên của hàm. Phép gán này sẽ không làm thay đổi giá trị của biến toàn cục. Ví dụ

Thí dụ. Biến cục bộ và biến toàn cầu

Sao chép

name = 'Steve'
def greet():
    name = 'Bill'
    print('Hello ', name)

Bây giờ, việc thay đổi giá trị của biến toàn cục

>>> greet()                            
Hello Steve
>>> name
Traceback (most recent call last):
File "", line 1, in  name
NameError: name 'name' is not defined
1 bên trong một hàm sẽ không ảnh hưởng đến giá trị toàn cục của nó

def greet():
    name = 'Steve'
    print('Hello ', name)
1

Nếu bạn cần truy cập và thay đổi giá trị của biến toàn cục từ bên trong một hàm, quyền này được cấp bởi từ khóa

>>> greet()                            
Hello Steve
>>> name
Traceback (most recent call last):
File "", line 1, in  name
NameError: name 'name' is not defined
6

Thí dụ. Truy cập các biến toàn cầu

Sao chép

def greet():
    name = 'Steve'
    print('Hello ', name)
3

Ở trên sẽ hiển thị đầu ra sau trong trình bao Python

def greet():
    name = 'Steve'
    print('Hello ', name)
4

Cũng có thể sử dụng đồng thời biến toàn cục và biến cục bộ có cùng tên. Hàm tích hợp

>>> greet()                            
Hello Steve
>>> name
Traceback (most recent call last):
File "", line 1, in  name
NameError: name 'name' is not defined
7 trả về một đối tượng từ điển của tất cả các biến toàn cục và các giá trị tương ứng của chúng. Sử dụng tên của biến làm khóa, giá trị của nó có thể được truy cập và sửa đổi

Thí dụ. Biến toàn cục

Sao chép

def greet():
    name = 'Steve'
    print('Hello ', name)
6

Kết quả của đoạn mã trên cho thấy xung đột giữa các biến toàn cục và biến cục bộ có cùng tên và cách giải quyết

Các hàm Python có thể sử dụng các biến bên ngoài hàm không?

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ục được gọi là biến toàn cục . Điều này có nghĩa là một biến toàn cục có thể được truy cập bên trong hoặc bên ngoài hàm.

Làm thế nào một biến được sử dụng bên ngoài một chức năng có thể được truy cập bởi chức năng?

Biến toàn cục . Các biến này có thể được truy cập ở bất cứ đâu trong chương trình. Để truy cập biến toàn cục trong một hàm, hãy sử dụng từ khóa GLOBAL trước biến .

Bạn có thể sử dụng một biến trong hàm Python không?

Thông thường, khi bạn tạo một biến bên trong một hàm, biến đó là cục bộ và chỉ có thể được sử dụng bên trong hàm đó . Để tạo một biến toàn cục bên trong một hàm, bạn có thể sử dụng từ khóa toàn cầu.