Sử dụng class_name dot variable_name để truy cập một biến lớp từ một phương thức lớp trong Python. Sử dụng thể hiện để truy cập các biến bên ngoài lớp
Ví dụ truy cập một biến lớp trong Python
Mã ví dụ đơn giản
Biến lớp là một biến được chia sẻ bởi tất cả các đối tượng của cùng một lớp
class Employee:
branch = 'IT Branch' # Class Variable
def a_class_method[]:
print[Employee.branch]
Employee.a_class_method[]
đầu ra
Cách truy cập các biến từ một lớp trong python
In giá trị biến
class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
đầu ra
Xin chào
Xin chào
Truy cập các biến lớp bên ngoài lớp trong Python
Đầu tiên, bạn cần tạo một thể hiện của lớp, sau đó bạn có thể sử dụng thể hiện đó để truy cập vào biến thể hiện và hàm của nó
class Example[object]:
var_msg = "Welcome"
var_num = 100
obj_example = Example[]
print[obj_example.var_msg]
print[obj_example.var_num]
đầu ra
Chào mừng
100
Hãy bình luận nếu bạn có bất kỳ nghi ngờ hoặc đề xuất nào về hướng dẫn biến Python này
Ghi chú. IDE. PyCharm 2021. 3. 3 [Phiên bản cộng đồng]
cửa sổ 10
Trăn 3. 10. 1
Tất cả các Ví dụ về Python đều nằm trong Python 3, vì vậy có thể nó khác với python 2 hoặc các phiên bản nâng cấp
Rohit
Bằng cấp về Khoa học Máy tính và Kỹ sư. Nhà phát triển ứng dụng và có kinh nghiệm về nhiều ngôn ngữ lập trình. Đam mê công nghệ & thích học hỏi kỹ thuật
Khi bạn định nghĩa một lớp bằng từ khóa
3, Python sẽ tạo một đối tượng có tên giống với tên của lớp. Ví dụ
print[type[HtmlDocument]] #
Code language: Python [python]
Code language: Python [python]
class HtmlDocument: pass
Ví dụ này định nghĩa lớp
4 và đối tượngCode language: Python [python]
print[type[HtmlDocument]] #
4. Đối tượngCode language: Python [python]
print[type[HtmlDocument]] #
4 có thuộc tínhCode language: Python [python]
print[type[HtmlDocument]] #
7Code language: Python [python]
print[type[HtmlDocument]] #
Code language: Python [python]
print[HtmlDocument.__name__] # HtmlDocument
Và
8 có loạiCode language: Python [python]
print[type[HtmlDocument]] #
9Code language: Python [python]
print[type[HtmlDocument]] #
Code language: Python [python]
print[type[HtmlDocument]] #
Nó cũng là một thể hiện của lớp
9Code language: Python [python]
print[type[HtmlDocument]] #
class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
4Các biến lớp được liên kết với lớp. Chúng được chia sẻ bởi tất cả các phiên bản của lớp đó
Ví dụ sau thêm các biến lớp
class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
41 và class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
42 vào lớp 4Code language: Python [python]
print[type[HtmlDocument]] #
class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
8Cả
class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
41 và class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
42 đều là các biến lớp của lớp 4. Họ bị ràng buộc với lớpCode language: Python [python]
print[type[HtmlDocument]] #
4Code language: Python [python]
print[type[HtmlDocument]] #
Lấy giá trị của các biến lớp
Để lấy giá trị của các biến lớp, bạn sử dụng ký hiệu dấu chấm [
class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
48]. Ví dụclass Example[object]:
var_msg = "Welcome"
var_num = 100
obj_example = Example[]
print[obj_example.var_msg]
print[obj_example.var_num]
4Nếu bạn truy cập một biến lớp không tồn tại, bạn sẽ nhận được một ngoại lệ
class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
49. Ví dụclass Example[object]:
var_msg = "Welcome"
var_num = 100
obj_example = Example[]
print[obj_example.var_msg]
print[obj_example.var_num]
6Lỗi
class Example[object]:
var_msg = "Welcome"
var_num = 100
obj_example = Example[]
print[obj_example.var_msg]
print[obj_example.var_num]
7Một cách khác để lấy giá trị của biến lớp là sử dụng hàm
class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
80. Hàm class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
80 chấp nhận một đối tượng và một tên biến. Nó trả về giá trị của biến lớp. Ví dụ0Code language: Python [python]
print[type[HtmlDocument]] #
Nếu biến lớp không tồn tại, bạn cũng sẽ nhận được một ngoại lệ
class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
49. Để tránh ngoại lệ, bạn có thể chỉ định giá trị mặc định nếu biến lớp không tồn tại như thế này2Code language: Python [python]
print[type[HtmlDocument]] #
Đặt giá trị cho các biến lớp
Để đặt giá trị cho biến lớp, bạn sử dụng ký hiệu dấu chấm
0Code language: Python [python]
print[HtmlDocument.__name__] # HtmlDocument
hoặc bạn có thể sử dụng chức năng tích hợp sẵn của
class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
831Code language: Python [python]
print[HtmlDocument.__name__] # HtmlDocument
Vì Python là một ngôn ngữ động, bạn có thể thêm một biến lớp vào một lớp trong thời gian chạy sau khi bạn đã tạo nó. Ví dụ: phần sau thêm biến lớp
class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
84 vào lớp 4Code language: Python [python]
print[type[HtmlDocument]] #
2Code language: Python [python]
print[HtmlDocument.__name__] # HtmlDocument
Tương tự, bạn có thể sử dụng hàm
class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
863Code language: Python [python]
print[HtmlDocument.__name__] # HtmlDocument
Xóa các biến lớp
Để xóa một biến lớp trong thời gian chạy, bạn sử dụng hàm
class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
874Code language: Python [python]
print[HtmlDocument.__name__] # HtmlDocument
Hoặc bạn có thể sử dụng từ khóa
class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
885Code language: Python [python]
print[HtmlDocument.__name__] # HtmlDocument
Lưu trữ biến lớp
Python lưu trữ các biến lớp trong thuộc tính
class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
89. class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
89 là một proxy ánh xạ, là một từ điển. Ví dụ6
print[HtmlDocument.__name__] # HtmlDocument
Code language: Python [python]
đầu ra
7Code language: Python [python]
print[HtmlDocument.__name__] # HtmlDocument
Như được hiển thị rõ ràng trong đầu ra,
class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
89 có ba biến lớp. class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
41, class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
84 và class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
42 bên cạnh các biến lớp được xác định trước khácPython không cho phép bạn thay đổi trực tiếp
class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
89. Ví dụ: sau đây sẽ dẫn đến lỗi8Code language: Python [python]
print[HtmlDocument.__name__] # HtmlDocument
đầu ra
9Code language: Python [python]
print[HtmlDocument.__name__] # HtmlDocument
Tuy nhiên, bạn có thể sử dụng hàm
class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
86 hoặc ký hiệu dấu chấm để gián tiếp thay đổi thuộc tính class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
89Ngoài ra, khóa của
class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
89 là các chuỗi sẽ giúp Python tăng tốc độ tra cứu biếnMặc dù Python cho phép bạn truy cập các biến lớp thông qua từ điển
class Example[object]:
msg = "Hello"
obj = Example[]
print[obj.msg]
print[Example.msg]
89, nhưng đó không phải là một cách thực hành tốt. Ngoài ra, nó sẽ không hoạt động trong một số trường hợp. Ví dụ0Code language: Python [python]
print[type[HtmlDocument]] #
Thuộc tính lớp có thể gọi
Thuộc tính lớp có thể là bất kỳ đối tượng nào, chẳng hạn như hàm
Khi bạn thêm một hàm vào một lớp, hàm đó sẽ trở thành một thuộc tính của lớp. Vì một chức năng có thể gọi được, nên thuộc tính lớp được gọi là thuộc tính lớp có thể gọi được. Ví dụ
1Code language: Python [python]
print[type[HtmlDocument]] #
đầu ra
2Code language: Python [python]
print[type[HtmlDocument]] #
Trong ví dụ này,
class Example[object]:
var_msg = "Welcome"
var_num = 100
obj_example = Example[]
print[obj_example.var_msg]
print[obj_example.var_num]
60 là một thuộc tính lớp của lớp 4. Giá trị của nó là một hàmCode language: Python [python]
print[type[HtmlDocument]] #