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ó.

Chủ đề