Làm thế nào để bạn khai báo một biến công khai trong lớp 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 cục bộ, phạm vi toàn cầu và phi cục bộ

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

def add_numbers():
    sum = 5 + 4

Ở đây, biến sum được tạo bên trong hàm, vì vậy nó chỉ có thể được truy cập bên trong nó (phạm vi cục bộ). Loại biến này 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. Biến cục bộ
  2. Biến toàn cầu
  3. Biến không cục bộ

Biến cục bộ Python

Khi chúng ta khai báo các biến bên trong hàm thì các biến này sẽ có phạm vi cục bộ (trong hàm). Chúng tôi 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 thông báo 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)
1, vì vậy 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 cố gắng truy cập 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)
1

Để khắc phục sự cố này, chúng ta có thể biến biến có tên message thành toàn cầu


Biến toàn cục 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ụ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

Hãy xem một ví dụ về cách một biến toàn cục được tạo 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 thông báo 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)
1. Điều này là do chúng tôi đã tạo biến thông báo làm biến toàn cục

# 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) nào của chương trình


Biến không cục bộ Python

Trong Python, các biến không cục bộ đượ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 nằm trong phạm vi cục bộ cũng như phạm vi toàn cầu

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

def greet():

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

greet()

# try to access message variable 
# outside greet() function
print(message)
1 để tạo các biến không cục bộ. 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

________số 8

Trong ví dụ trên, có một hàm

def greet():

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

greet()

# try to access message variable 
# outside greet() function
print(message)
2 lồng nhau. Chúng tôi đã sử dụng các từ khóa
def greet():

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

greet()

# try to access message variable 
# outside greet() function
print(message)
1 để tạo một biến không cục bộ

Các biến được tạo bên ngoài hàm (như trong tất cả các ví dụ ở trên) được gọi là biến toàn cục

Mọi người đều có thể sử dụng biến toàn cục, cả bên trong và bên ngoài hàm

Thí dụ

Tạo một biến bên ngoài một hàm và sử dụng nó bên trong hàm

x = "tuyệt vời"

def myfunc().
  print("Python la " + x)

myfunc()

Tự mình thử »

Nếu bạn tạo một biến có cùng tên bên trong một hàm, biến này sẽ là cục bộ và chỉ có thể được sử dụng bên trong hàm. Biến toàn cục có cùng tên sẽ vẫn như cũ, toàn cầu và với giá trị ban đầu

Thí dụ

Tạo một biến bên trong một hàm, có cùng tên với biến toàn cục

x = "tuyệt vời"

def myfunc().
  x = "tuyệt vời"
  print("Python la " + x)

myfunc()

print("Trăn là " + x)

Tự mình thử »



Từ khóa toàn cầu

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

def greet():

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

greet()

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

Thí dụ

Nếu bạn sử dụng từ khóa

def greet():

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

greet()

# try to access message variable 
# outside greet() function
print(message)
4 thì biến thuộc phạm vi toàn cục

def myfunc().
  toàn cầu x
  x = "tuyệt vời"

myfunc()

print("Trăn là " + x)

Tự mình thử »

Ngoài ra, hãy sử dụng từ khóa

def greet():

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

greet()

# try to access message variable 
# outside greet() function
print(message)
4 nếu bạn muốn thay đổi một 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

def greet():

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

greet()

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

Biến công khai trong lớp là gì?

Biến công khai, là biến hiển thị cho tất cả các lớp . Biến riêng, là các biến chỉ hiển thị với lớp mà chúng thuộc về. Các biến được bảo vệ, là các biến chỉ hiển thị đối với lớp mà chúng thuộc về và bất kỳ lớp con nào.

Bạn có thể khai báo biến toàn cục trong Python không?

Biến toàn cục trong Python thường được khai báo ở đầu chương trình . Nói cách khác, các biến được khai báo bên ngoài hàm được gọi là biến toàn cục. Bạn có thể truy cập các biến toàn cục trong Python cả bên trong và bên ngoài hàm.

Trường công khai trong Python là gì?

Trong Python, mọi thứ đều công khai. Bất kỳ phương thức nào bạn tạo, bất kỳ thuộc tính nào bạn tạo—tất cả chúng đều có thể được truy cập cả bên trong và bên ngoài lớp . 00. 26 Vì vậy, đề cập đến ví dụ Car quen thuộc của chúng ta, tôi có thể tạo một chiếc Car mới, chiếc Ford Fusion màu bạc của tôi và tôi có thể truy cập trực tiếp vào bất kỳ thuộc tính nào của nó.