Hướng dẫn python get class variables - python get biến lớp

Trong lập trình hướng đối tượng, khi chúng tôi thiết kế một lớp, chúng tôi sử dụng các biến thể hiện và biến lớp.

Nội dung chính ShowShow

  • Một biến lớp trong Python là gì?
  • Tạo các biến lớp
  • Truy cập các biến lớp
  • Lưu ý: Giống như các biến thông thường, các biến lớp có thể lưu trữ dữ liệu thuộc bất kỳ loại nào. Chúng ta có thể sử dụng danh sách Python, Tuple Python và Dictiony Python như một biến lớp.
  • Truy cập từ bên ngoài lớp bằng cách sử dụng tham chiếu đối tượng hoặc tên lớp.
  • Các biến lớp trong kế thừa
  • Sử dụng sai các biến lớp
  • Ý bạn là gì bởi biến lớp?
  • Có biến lớp trong Python không?
  • Biến lớp và biến thể hiện trong Python là gì?
  • Các ví dụ biến lớp là gì?

Trong lớp, các thuộc tính có thể được xác định thành hai phần:

  • Các biến thể hiện: Nếu giá trị của một biến thay đổi từ đối tượng này sang đối tượng khác, thì các biến đó được gọi là biến thể hiện.: If the value of a variable varies from object to object, then such variables are called instance variables.: If the value of a variable varies from object to object, then such variables are called instance variables.
  • Các biến lớp: Một biến lớp là một biến được khai báo bên trong lớp, nhưng ngoài bất kỳ phương thức thể hiện nào hoặc & nbsp; ________ 19 & nbsp; phương thức.: A class variable is a variable that is declared inside of class, but outside of any instance method or 
    Emma 10 ABC School
    Jessa 20 ABC School 
    9 method.
    : A class variable is a variable that is declared inside of class, but outside of any instance method or 
    Emma 10 ABC School
    Jessa 20 ABC School 
    9 method.

Sau khi đọc bài viết này, bạn sẽ học:::

  • Cách tạo và truy cập các biến lớp
  • Sửa đổi các giá trị của một biến lớp
  • Biến trường hợp so với các biến lớp
  • Hành vi của một biến lớp trong kế thừa

Một biến lớp trong Python là gì?

Tạo các biến lớpvalue of a variable is not varied from object to object, such types of variables are called class variables or static variables.

Truy cập các biến lớpshared by all instances of a class. Unlike instance variable, the value of a class variable is not varied from object to object,

Lưu ý: Giống như các biến thông thường, các biến lớp có thể lưu trữ dữ liệu thuộc bất kỳ loại nào. Chúng ta có thể sử dụng danh sách Python, Tuple Python và Dictiony Python như một biến lớp.

Truy cập từ bên ngoài lớp bằng cách sử dụng tham chiếu đối tượng hoặc tên lớp.

Các biến lớp trong kế thừa

Sử dụng sai các biến lớp

Ý bạn là gì bởi biến lớp?

Tạo các biến lớp

Truy cập các biến lớp

Lưu ý: Giống như các biến thông thường, các biến lớp có thể lưu trữ dữ liệu thuộc bất kỳ loại nào. Chúng ta có thể sử dụng danh sách Python, Tuple Python và Dictiony Python như một biến lớp.

Example:::

class Student:
    # Class variable
    school_name = 'ABC School '
    
    def __init__(self, name, roll_no):
        self.name = name
        self.roll_no = roll_no

# create first object
s1 = Student('Emma', 10)
print(s1.name, s1.roll_no, Student.school_name)
# access class variable

# create second object
s2 = Student('Jessa', 20)
# access class variable
print(s2.name, s2.roll_no, Student.school_name)

Truy cập từ bên ngoài lớp bằng cách sử dụng tham chiếu đối tượng hoặc tên lớp.

Emma 10 ABC School
Jessa 20 ABC School 

Các biến lớp trong kế thừa

Sử dụng sai các biến lớp

Ý bạn là gì bởi biến lớp?: Like regular variables, class variables can store data of any type. We can use Python list, Python tuple, and Python dictionary as a class variable.

Truy cập các biến lớp

Lưu ý: Giống như các biến thông thường, các biến lớp có thể lưu trữ dữ liệu thuộc bất kỳ loại nào. Chúng ta có thể sử dụng danh sách Python, Tuple Python và Dictiony Python như một biến lớp.

Truy cập từ bên ngoài lớp bằng cách sử dụng tham chiếu đối tượng hoặc tên lớp.

  • Các biến lớp trong kế thừa
  • Sử dụng sai các biến lớp
  • Truy cập từ bên ngoài lớp bằng cách sử dụng tham chiếu đối tượng hoặc tên lớp.

Các biến lớp trong kế thừa: Access Class Variable in the constructor

class Student:
    # Class variable
    school_name = 'ABC School '

    # constructor
    def __init__(self, name):
        self.name = name
        # access class variable inside constructor using self
        print(self.school_name)
        # access using class name
        print(Student.school_name)

# create Object
s1 = Student('Emma')

Truy cập từ bên ngoài lớp bằng cách sử dụng tham chiếu đối tượng hoặc tên lớp.

ABC School 
ABC School

Các biến lớp trong kế thừa

Sử dụng sai các biến lớp1 và truy cập nó bằng tên đối tượng và tên lớp.: Access Class Variable in Instance method and outside class

class Student:
    # Class variable
    school_name = 'ABC School '

    # constructor
    def __init__(self, name, roll_no):
        self.name = name
        self.roll_no = roll_no

    # Instance method
    def show(self):
        print('Inside instance method')
        # access using self
        print(self.name, self.roll_no, self.school_name)
        # access using class name
        print(Student.school_name)

# create Object
s1 = Student('Emma', 10)
s1.show()

print('Outside class')
# access class variable outside class
# access using object reference
print(s1.school_name)

# access using class name
print(Student.school_name)

Truy cập từ bên ngoài lớp bằng cách sử dụng tham chiếu đối tượng hoặc tên lớp.

Inside instance method
Emma 10 ABC School 
ABC School 

Outside class
ABC School 
ABC School 

Các biến lớp trong kế thừa

Sử dụng sai các biến lớp

Ý bạn là gì bởi biến lớp?

Truy cập các biến lớp

Chúng ta có thể truy cập các biến tĩnh bằng tên lớp hoặc theo tham chiếu đối tượng, nhưng nên sử dụng tên lớp.: We should change the class variable’s value using the class name only.: We should change the class variable’s value using the class name only.

Trong Python, chúng ta có thể truy cập biến lớp ở những nơi sau

class Student:
    # Class variable
    school_name = 'ABC School '
    
    def __init__(self, name, roll_no):
        self.name = name
        self.roll_no = roll_no

# create first object
s1 = Student('Emma', 10)
print(s1.name, s1.roll_no, Student.school_name)
# access class variable

# create second object
s2 = Student('Jessa', 20)
# access class variable
print(s2.name, s2.roll_no, Student.school_name)
1

Output:::

class Student:
    # Class variable
    school_name = 'ABC School '
    
    def __init__(self, name, roll_no):
        self.name = name
        self.roll_no = roll_no

# create first object
s1 = Student('Emma', 10)
print(s1.name, s1.roll_no, Student.school_name)
# access class variable

# create second object
s2 = Student('Jessa', 20)
# access class variable
print(s2.name, s2.roll_no, Student.school_name)
2

Note:::

Truy cập bên trong hàm tạo bằng cách sử dụng tham số

class Student:
    # Class variable
    school_name = 'ABC School '

    # constructor
    def __init__(self, name):
        self.name = name
        # access class variable inside constructor using self
        print(self.school_name)
        # access using class name
        print(Student.school_name)

# create Object
s1 = Student('Emma')
2 hoặc tên lớp.

Example:::

class Student:
    # Class variable
    school_name = 'ABC School '
    
    def __init__(self, name, roll_no):
        self.name = name
        self.roll_no = roll_no

# create first object
s1 = Student('Emma', 10)
print(s1.name, s1.roll_no, Student.school_name)
# access class variable

# create second object
s2 = Student('Jessa', 20)
# access class variable
print(s2.name, s2.roll_no, Student.school_name)
4

Output:::

class Student:
    # Class variable
    school_name = 'ABC School '
    
    def __init__(self, name, roll_no):
        self.name = name
        self.roll_no = roll_no

# create first object
s1 = Student('Emma', 10)
print(s1.name, s1.roll_no, Student.school_name)
# access class variable

# create second object
s2 = Student('Jessa', 20)
# access class variable
print(s2.name, s2.roll_no, Student.school_name)
5

Truy cập biến lớp bên trong Phương thức thể hiện bằng cách sử dụng tên của lớp

Truy cập từ bên ngoài lớp bằng cách sử dụng tham chiếu đối tượng hoặc tên lớp.

Ví dụ 1: Biến lớp truy cập trong hàm tạo

Ví dụ 2: Biến lớp truy cập trong phương thức ví dụ và lớp bên ngoài

  • Trong ví dụ này, chúng tôi đã truy cập biến lớp
    class Student:
        # Class variable
        school_name = 'ABC School '
    
        # constructor
        def __init__(self, name):
            self.name = name
            # access class variable inside constructor using self
            print(self.school_name)
            # access using class name
            print(Student.school_name)
    
    # create Object
    s1 = Student('Emma')
    1 bằng tên lớp và từ khóa
    class Student:
        # Class variable
        school_name = 'ABC School '
    
        # constructor
        def __init__(self, name):
            self.name = name
            # access class variable inside constructor using self
            print(self.school_name)
            # access using class name
            print(Student.school_name)
    
    # create Object
    s1 = Student('Emma')
    2 bên trong một phương thức.: Instance variable’s value varies from object to object. Instance variables are not shared by objects. Every object has its own copy of the instance attribute
    : Instance variable’s value varies from object to object. Instance variables are not shared by objects. Every object has its own copy of the instance attribute
  • Sửa đổi các biến lớp: A class variable is a variable that is declared inside of class, but outside of any instance method or 
    Emma 10 ABC School
    Jessa 20 ABC School 
    9 method. Class variables are shared by all instances of a class.
    : A class variable is a variable that is declared inside of class, but outside of any instance method or 
    Emma 10 ABC School
    Jessa 20 ABC School 
    9 method. Class variables are shared by all instances of a class.

Nói chung, chúng tôi gán giá trị cho một biến lớp bên trong khai báo lớp. Tuy nhiên, chúng ta có thể thay đổi giá trị của biến lớp trong lớp hoặc bên ngoài lớp.: Instance variables in Python with Examples : Instance variables in Python with Examples

Lưu ý: Chúng ta nên thay đổi giá trị biến lớp chỉ bằng tên lớp.Thí dụ
Đó là thực tiễn tốt nhất để sử dụng tên lớp để thay đổi giá trị của biến lớp. Bởi vì nếu chúng ta cố gắng thay đổi giá trị biến lớp của lớp bằng cách sử dụng một đối tượng, một biến thể hiện mới được tạo cho đối tượng cụ thể đó, trong đó làm mờ các biến lớp. Các biến lớp được chia sẻ bởi tất cả các trường hợp.
Các biến thể hiện được khai báo bên trong hàm tạo, tức là phương thức
Emma 10 ABC School
Jessa 20 ABC School 
9.
Các biến lớp được khai báo bên trong định nghĩa lớp nhưng ngoài bất kỳ phương thức và hàm tạo thể nào.
Nó được tạo ra khi một thể hiện của lớp được tạo. Nó được tạo ra khi chương trình bắt đầu thực thi.
Các thay đổi được thực hiện cho các biến này thông qua một đối tượng sẽ không phản ánh trong một đối tượng khác. Các thay đổi được thực hiện trong biến lớp sẽ phản ánh trong tất cả các đối tượng.
Biến lớp so với các biến thể hiện

Example:::

Hãy cùng xem ví dụ để tạo biến lớp và biến thể hiện.

Emma 10 ABC School
Jessa 20 ABC School 
0

Output:::

Emma 10 ABC School
Jessa 20 ABC School 
1

Các biến lớp trong kế thừa

Như bạn đã biết, chỉ có một bản sao của biến lớp sẽ được tạo và chia sẻ giữa tất cả các đối tượng của lớp đó.

Khi chúng ta sử dụng kế thừa, tất cả các biến và phương pháp của lớp cơ sở có sẵn cho lớp con. Trong những trường hợp như vậy, chúng ta cũng có thể thay đổi giá trị của biến lớp lớp cha trong lớp con.

Chúng ta có thể sử dụng tên lớp cha hoặc lớp con để thay đổi giá trị của biến lớp lớp cha trong lớp con.

Thí dụ

Emma 10 ABC School
Jessa 20 ABC School 
2

Đó là thực tiễn tốt nhất để sử dụng tên lớp để thay đổi giá trị của biến lớp. Bởi vì nếu chúng ta cố gắng thay đổi giá trị biến lớp của lớp bằng cách sử dụng một đối tượng, một biến thể hiện mới được tạo cho đối tượng cụ thể đó, trong đó làm mờ các biến lớp.

Emma 10 ABC School
Jessa 20 ABC School 
3

Các biến lớp được chia sẻ bởi tất cả các trường hợp.child class and parent class has the same class variable name. In this case, the child class will not inherit the class variable of a base class. So it is recommended to create a separate class variable for child class instead of inheriting the base class variable.

Example:::

Emma 10 ABC School
Jessa 20 ABC School 
4

Output:::

Emma 10 ABC School
Jessa 20 ABC School 
5

Các biến thể hiện được khai báo bên trong hàm tạo, tức là phương thức Emma 10 ABC School Jessa 20 ABC School 9.

Các biến lớp được khai báo bên trong định nghĩa lớp nhưng ngoài bất kỳ phương thức và hàm tạo thể nào.

Nó được tạo ra khi một thể hiện của lớp được tạo.

Thí dụ

Emma 10 ABC School
Jessa 20 ABC School 
6

Đó là thực tiễn tốt nhất để sử dụng tên lớp để thay đổi giá trị của biến lớp. Bởi vì nếu chúng ta cố gắng thay đổi giá trị biến lớp của lớp bằng cách sử dụng một đối tượng, một biến thể hiện mới được tạo cho đối tượng cụ thể đó, trong đó làm mờ các biến lớp.

Emma 10 ABC School
Jessa 20 ABC School 
7

Các biến lớp được chia sẻ bởi tất cả các trường hợp.

Các biến thể hiện được khai báo bên trong hàm tạo, tức là phương thức

Emma 10 ABC School
Jessa 20 ABC School 
9.

Các biến lớp được khai báo bên trong định nghĩa lớp nhưng ngoài bất kỳ phương thức và hàm tạo thể nào.

Nó được tạo ra khi một thể hiện của lớp được tạo.

Nó được tạo ra khi chương trình bắt đầu thực thi.

Các thay đổi được thực hiện cho các biến này thông qua một đối tượng sẽ không phản ánh trong một đối tượng khác.

Trong lập trình dựa trên lớp, hướng đối tượng, một biến lớp là một biến được xác định trong một lớp có một bản sao duy nhất tồn tại, bất kể có bao nhiêu trường hợp của lớp tồn tại. Một biến lớp không phải là một biến thể hiện. Đây là một loại thuộc tính lớp đặc biệt (hoặc thuộc tính lớp, trường hoặc thành viên dữ liệu).a variable defined in a class of which a single copy exists, regardless of how many instances of the class exist. A class variable is not an instance variable. It is a special type of class attribute (or class property, field, or data member).a variable defined in a class of which a single copy exists, regardless of how many instances of the class exist. A class variable is not an instance variable. It is a special type of class attribute (or class property, field, or data member).

Các biến lớp được xác định trong xây dựng lớp.Bởi vì chúng thuộc sở hữu của chính lớp, các biến lớp được chia sẻ bởi tất cả các trường hợp của lớp.Do đó, chúng thường sẽ có cùng giá trị cho mọi trường hợp trừ khi bạn đang sử dụng biến lớp để khởi tạo một biến.. Because they are owned by the class itself, class variables are shared by all instances of the class. They therefore will generally have the same value for every instance unless you are using the class variable to initialize a variable.. Because they are owned by the class itself, class variables are shared by all instances of the class. They therefore will generally have the same value for every instance unless you are using the class variable to initialize a variable.

Biến lớp là một biến xác định một thuộc tính hoặc thuộc tính cụ thể cho một lớp.Một biến thể hiện là một biến có giá trị được chỉ định cho thể hiện và được chia sẻ giữa các trường hợp khác nhau.2. Chúng ta có thể chia sẻ các biến này giữa lớp và các lớp con của nó.Chúng tôi không thể chia sẻ các biến này giữa các lớp.