Computer >> Máy Tính >  >> Lập trình >> Python

Cách chính xác để xác định biến lớp trong Python là gì?

Biến lớp là các biến được khai báo bên ngoài the__init__method. Đây là các phần tử tĩnh, có nghĩa là, chúng thuộc về lớp hơn là các cá thể của lớp. Các biến lớp này được chia sẻ bởi tất cả các phiên bản của lớp đó. Mã mẫu cho các biến lớp

Ví dụ

class MyClass:
  __item1 = 123
  __item2 = "abc"
  def __init__(self):
    #pass or something else

Bạn sẽ hiểu rõ ràng hơn với nhiều mã hơn -

class MyClass:
    stat_elem = 456
    def __init__(self):
        self.object_elem = 789
c1 = MyClass()
c2 = MyClass()
# Initial values of both elements
>>> print c1.stat_elem, c1.object_elem
456 789
>>> print c2.stat_elem, c2.object_elem
456 789
# Let's try changing the static element
MyClass.static_elem = 888
>>> print c1.stat_elem, c1.object_elem
888 789
>>> print c2.stat_elem, c2.object_elem
888 789
# Now, let's try changing the object element
c1.object_elem = 777
>>> print c1.stat_elem, c1.object_elem
888 777
>>> print c2.stat_elem, c2.object_elem
888 789