Hướng dẫn how many types of attributes are there in python? - Có bao nhiêu loại thuộc tính trong python?

Nâng cao kỹ năng Python của bạn

Hiểu rõ hơn về Python như một ngôn ngữ OOP độc đáo.

Ảnh của Federico Tasin trên unsplash

Trong thế giới lập trình hiện đại, các ngôn ngữ lập trình hướng đối tượng [OOP] đã đóng một vai trò tiến hóa trong việc thay đổi các mô hình thiết kế và thực hiện trong phát triển phần mềm. Là một thành viên quan trọng của gia đình OOP, Python có

Bất kỳ ngôn ngữ lập trình hướng đối tượng nào cũng có các thuộc tính và hành vi đặc trưng. Các thuộc tính đặc trưng trong bất kỳ ngôn ngữ nào giống như các thuộc tính trong Python. Tất cả các thuộc tính của một lớp Python có thể vượt quá với hàm dir [] và vars [].

Program:

class attr:
    x = "class attribute"
    def __init__[self,y]:
        self.y = y
print["Output:"]
obj = attr["instance attribute"]
print[attr.x]
print[obj.y]

Explanation:

Ở đây, chúng tôi tạo biến X dưới dạng chuỗi là thuộc tính lớp và chuỗi Y là thuộc tính thể hiện. Ở cuối cùng in các giá trị của cả hai biến.

Các loại thuộc tính:

Thuộc tính theo hai loại:

  1. Thuộc tính lớp
  2. Thuộc tính thể hiện

Thuộc tính lớp:

Các thuộc tính được xác định bên ngoài phương thức trong đối tượng lớp Python được gọi là thuộc tính lớp. Các thuộc tính này có thể được truy cập bởi các đối tượng lớp và thể hiện. Họ thuộc về lớp học.

Syntax:

class name:

 

Program:

class attr:
    x="class attribute” 
print["Output:"]
obj=attr[]
print[obj.x]

Explanation:

Ở đây, chúng tôi tạo ra một biến x bên cạnh lớp attr. Biến X là một thuộc tính lớp. Tạo một OBJ tiêm của lớp attr và bằng thể hiện lớp in giá trị của x.

Thuộc tính thể hiện:

Thuộc tính thể hiện là các thuộc tính được xác định bên trong phương thức __init__. Các thuộc tính này có thể được truy cập bởi một thể hiện của lớp. Chúng thuộc về các trường hợp của các đối tượng.__init__ method. These attributes can be accessed by an instance of the class. They belong to instances of objects.

Syntax:

class name:
	def __init__[self, ..]
        
         

Program:

class attr:
    x = "class attribute"
    def __init__[self,y]:
        self.y = y   
print["Output:"]
obj = attr["instance attribute"]
print[obj.y]

Explanation:

Ở đây, chúng tôi tạo một biến y bên trong phương thức __init__ .y là một thuộc tính thể hiện. Tạo một lớp đối tượng o obj và in giá trị của y.

Sử dụng các thuộc tính lớp:

Thuộc tính lớp được sử dụng trong nhiều trường hợp. Một số trường hợp sử dụng Khu vực:

  1. Để tạo một biến giá trị không đổi
  2. & nbsp; liệt kê đối tượng/dữ liệu trên tất cả các trường hợp
  3. Để đưa ra một giá trị mặc định

Các thuộc tính lớp được khởi tạo trên tất cả các trường hợp của lớp. Vì vậy, các thuộc tính lớp có thể được sử dụng để tạo các biến giá trị không đổi trong lớp. Các biến này có thể được sử dụng trong phương pháp. Vì vậy, các thuộc tính chiếm không gian thấp trong bộ nhớ và ít thời gian hơn để khởi tạo.

Program:

class pro:
    pi = 3.14
    def __init__[self,r]:
        self.r = r
    def area[self]:
        print["A ="]
        print[2 * self.pi * self.r]
        
    print["Output:"]
obj=pro[10]
print[obj. area[]]

Explanation:

Ở đây, chúng tôi tạo một PI biến có giá trị không đổi. Pi là một thuộc tính lớp. Tạo một khu vực phương pháp tính toán khu vực. Tạo một đối tượng của lớp và in khu vực của một vòng tròn.

Trong trường hợp chúng tôi muốn vượt quá một số thuộc tính của tất cả các trường hợp của lớp. Nó rất tốn thời gian cho các thuộc tính dư thừa bằng cách gọi cho mỗi đối tượng. & nbsp; Vì vậy, tất cả các trường hợp có thể được sắp xếp trong một biến duy nhất bằng cách sử dụng các thuộc tính lớp.

Program:

class first:
    ids = []
    def __init__[self, stuid, name]:
        self.stuid = stuid
        self.name = name
        first.ids.append[stuid]
print["Output:"]
s1 = first[1,"a"]
s1= first[2,"b"]
s1= first[3,"c"]
print[first.ids]

Explanation:

Ở đây, chúng tôi tạo một danh sách IDS làm thuộc tính lớp được sử dụng bên trong phương thức INIT để nối tất cả ID của học sinh trong danh sách tất cả các trường hợp của lớp. Chúng tôi tạo ba đối tượng cho lớp. Ở cuối cùng in danh sách.

Với các thuộc tính lớp, một giá trị mặc định có thể được cung cấp cho thuộc tính trong lớp tùy chỉnh. Bằng cách vượt quá các thuộc tính theo lớp hoặc giá trị thể hiện có thể được thay đổi.

Program:

class vote:
    age = 18
    c = 0
    def __init__[self, age, name]:
        self.age = age
        self.name = name
    def votting[self]:
        if [self.age < vote.age]:
            return
        vote.c += 1
        
print["Output:"]
p=vote[19, "a"]
p.votting[]
print[vote.c]

Explanation:

Ở đây, chúng tôi tạo ra một tuổi thuộc tính lớp được sử dụng bên trong phương pháp Betting để so sánh độ tuổi của phiên bản của lớp.

Thuộc tính lớp cho phiên bản:

  1. Một thuộc tính lớp có thể được thay đổi thành thuộc tính thể hiện bằng cách thay đổi giá trị của thuộc tính lớp với thể hiện của lớp.
  2. Đây không phải là trong trường hợp thuộc tính lớp là một đối tượng có thể thay đổi như danh sách, v.v.

Program:

class pro:
    x="a"
    def __init__[self, y, z]:
        self.y = y
        self.z = z
    def fun[self]:
        print["method called"]
    print["Output:"]
obj=pro["b", "c"]
obj2=pro["b", "c"]
obj.x="instance var a"
print[obj.x]
print[pro.x]
print[obj2.x]
print["---------"]
print[dir[obj]]

Explanation:

Ở đây chúng tôi tạo một biến x là thuộc tính lớp. Giá trị của X được thay đổi bởi OBJ [ví dụ của lớp]. In giá trị của X bằng OBJ, Class Pro và một đối tượng OBJ2 khác. Kiểm tra các thuộc tính của OBJ bằng cách in DIR của OBJ.

Không gian tên trong các thuộc tính:

  1. Một không gian tên là một từ điển trong Python lưu trữ các khóa dưới dạng đối tượng của lớp và các giá trị là thuộc tính. Một không gian tên được chia trong trường hợp này thành hai phần không gian tên đối tượng và không gian tên lớp.
  2. Khi một thể hiện lớp truy cập bất kỳ thuộc tính nào, trước tiên nó sẽ tìm kiếm vào không gian tên đối tượng thì không gian tên lớp. Thuộc tính thể hiện ưu tiên so với các thuộc tính lớp. Trong chi phí lập trình của việc truy cập các thuộc tính lớp theo thể hiện của lớp sẽ tốn thời gian.
  3. Khi một lớp truy cập vào bất kỳ thuộc tính nào, nó được tìm kiếm trong thuộc tính lớp và nếu không thì ném lỗi.

Hàm và thuộc tính: & nbsp;

  1. Trong Python, các chức năng được coi là thuộc tính của lớp. Tất cả các phương thức tĩnh, lớp, thể hiện là các thuộc tính thuộc về lớp.
  2. Các phương thức tĩnh và lớp được liên kết với lớp trong khi phương thức thể hiện được liên kết với thể hiện của lớp.
  3. Trong các phương thức cá thể Python cũng có thể được cấp bởi bản thân lớp bằng cách truyền các trường hợp của một đối tượng trong phương thức. Nó lưu bộ nhớ trong chương trình Python.

Program:

class pro:
    x="a"
    def __init__[self, y, z]:
        self.y = y
        self.z = z
    @classmethod
    def funclmethod[cls, f]:
        y = f["y"]
        z=f["z"]
        print["classmethod called"]
        return cls[y, z]
    @staticmethod
    def funstmethod[]:
        print["staticmethod called"]
    
    def funinstmethod[self]:
        print["instance method called"]
print["Output:"]
obj=pro["b", "c"]
obj.funinstmethod[]
pro.funinstmethod[obj]

Explanation:

Ở đây, chúng tôi tạo ba chức năng FunClMethod, FunStmethod, FunInstMethod với trang trí @ClassMethod, @staticmethod. Tạo một đối tượng của lớp Pro là OBJ và gọi phương thức phiên bản funinstmethod.secondly, hãy gọi phương thức phiên bản bằng cách chuyển thể hiện theo phiên bản của lớp.

Thuộc tính so với các thuộc tính:

Trong Python, các thuộc tính hoàn toàn khác với các thuộc tính. Thuộc tính là phương pháp với công cụ trang trí @properies. Chúng được sử dụng để truy cập các thuộc tính riêng của một lớp và hoạt động như các chức năng của getter-setter trong một lớp Python.

Program:

class name:

 
0

Explanation:

Ở đây, chúng tôi tạo các phương thức thú vị với Trình trang trí @Property, @fun.setter được sử dụng để có được và đặt các giá trị của biến x.

Conclusion:

Chúng tôi hy vọng bài viết này đã cung cấp cho bạn tất cả một ý tưởng rõ ràng về các thuộc tính, loại thuộc tính [thuộc tính lớp và thuộc tính thể hiện], sử dụng các thuộc tính lớp, thuộc tính của lớp để thể hiện, không gian tên trong các thuộc tính, hàm và thuộc tính, thuộc tính so với thuộc tính .class attribute and instance attribute], use of class attributes, class to instance attribute, the namespace in attributes, functions, and attributes, properties vs. attributes.

Đối với các lập trình viên hướng đối tượng trong Python, việc xử lý các thuộc tính của lớp là điều cần thiết để biết. Do đó, rất khuyến khích sử dụng các thuộc tính Python trong khi lập trình vì nó tiêu thụ ít bộ nhớ hơn và tuân theo phương pháp lập trình hướng đối tượng.

Các thuộc tính trong ngôn ngữ lập trình Python là gì?

Chức năng và thuộc tính: Trong Python, các hàm được coi là thuộc tính của lớp.Tất cả các phương thức tĩnh, lớp, thể hiện là các thuộc tính thuộc về lớp.Các phương thức tĩnh và lớp được liên kết với lớp trong khi phương thức thể hiện được liên kết với thể hiện của lớp.functions are treated as attributes of the class. All the static, class, instance methods are attributes that belong to the class. Static and class methods are associated with class whereas the instance method is associated with the instance of the class.

Các thuộc tính dữ liệu trong lớp Python là gì?

Các thuộc tính lớp là các biến được xác định trực tiếp trong lớp được chia sẻ bởi tất cả các đối tượng của lớp.Thuộc tính thể hiện là thuộc tính hoặc thuộc tính được gắn vào một thể hiện của một lớp.Các thuộc tính thể hiện được xác định trong hàm tạo.Được xác định trực tiếp bên trong một lớp.the variables defined directly in the class that are shared by all objects of the class. Instance attributes are attributes or properties attached to an instance of a class. Instance attributes are defined in the constructor. Defined directly inside a class.

Các lớp thuộc tính là gì?

Các thuộc tính lớp là các thuộc tính thuộc sở hữu của chính lớp.Họ sẽ được chia sẻ bởi tất cả các trường hợp của lớp.Do đó, chúng có cùng giá trị cho mọi trường hợp.Chúng tôi xác định các thuộc tính lớp bên ngoài tất cả các phương thức, thông thường chúng được đặt ở trên cùng, ngay bên dưới tiêu đề lớp.attributes which are owned by the class itself. They will be shared by all the instances of the class. Therefore they have the same value for every instance. We define class attributes outside all the methods, usually they are placed at the top, right below the class header.

Bài Viết Liên Quan

Chủ Đề