Cách lấy tất cả các đối tượng của một lớp python

Các ví dụ trên là các lớp và đối tượng ở dạng đơn giản nhất và không thực sự hữu ích trong các ứng dụng thực tế

Để hiểu ý nghĩa của các lớp, chúng ta phải hiểu hàm __init__[] tích hợp sẵn

Tất cả các lớp đều có một hàm gọi là __init__[], hàm này luôn được thực thi khi lớp bắt đầu

Sử dụng hàm __init__[] để gán giá trị cho thuộc tính đối tượng hoặc các thao tác khác cần thực hiện khi đối tượng được tạo

Ví dụ

Tạo một lớp tên là Person, sử dụng hàm __init__[] để gán giá trị cho tên và tuổi

lớp Người.
  def __init__[bản thân, tên, tuổi].
    bản thân. tên = tên
    bản thân. tuổi = tuổi

p1 = Người["John", 36]

in[p1. tên]
in[p1. tuổi]

Tự mình thử »

Ghi chú. Hàm

5
10
6 được gọi tự động mỗi khi lớp được sử dụng để tạo một đối tượng mới

Hàm __str__[]

Hàm __str__[] kiểm soát những gì sẽ được trả về khi đối tượng lớp được biểu diễn dưới dạng chuỗi

Nếu hàm __str__[] không được đặt, thì biểu diễn chuỗi của đối tượng được trả về

Ví dụ

Biểu diễn chuỗi của một đối tượng KHÔNG CÓ hàm __str__[]

lớp Người.
  def __init__[bản thân, tên, tuổi].
    bản thân. tên = tên
    bản thân. tuổi = tuổi

p1 = Người["John", 36]

bản in[p1]

Tự mình thử »

Ví dụ

Biểu diễn chuỗi của một đối tượng VỚI hàm __str__[]

lớp Người.
  def __init__[bản thân, tên, tuổi].
    bản thân. tên = tên
    bản thân. tuổi = tuổi

  def __str__[self].
    return f"{self. tên}[{bản thân. tuổi}]"

p1 = Người["John", 36]

bản in[p1]

Tự mình thử »

phương pháp đối tượng

Các đối tượng cũng có thể chứa các phương thức. Các phương thức trong các đối tượng là các chức năng thuộc về đối tượng

Hãy để chúng tôi tạo một phương thức trong lớp Person

Ví dụ

Chèn một hàm in lời chào và thực hiện nó trên đối tượng p1

lớp Người.
  def __init__[bản thân, tên, tuổi].
    bản thân. tên = tên
    bản thân. tuổi = tuổi

  def myfunc[self].
    print["Xin chào tôi tên là " + tự. tên]

p1 = Person["John", 36]
p1. myfunc[]

Tự mình thử »

Ghi chú. Tham số

5
10
7 là tham chiếu đến phiên bản hiện tại của lớp và được sử dụng để truy cập các biến thuộc về lớp

Tham số bản thân

Tham số

5
10
7 là tham chiếu đến phiên bản hiện tại của lớp và được sử dụng để truy cập các biến thuộc về lớp

Nó không nhất thiết phải được đặt tên là

5
10
7 , bạn có thể gọi nó là gì tùy thích, nhưng nó phải là tham số đầu tiên của bất kỳ chức năng nào trong lớp

Ví dụ

Sử dụng các từ mysillyobject và abc thay vì self

lớp Người.
  def __init__[mysillyobject, name, age].
    mysillyobject. name = name
    mysillyobject. tuổi = tuổi

  def myfunc[abc].
    print["Xin chào, tên tôi là " + abc. tên]

p1 = Person["John", 36]
p1. myfunc[]

Tự mình thử »

Sửa đổi thuộc tính đối tượng

Bạn có thể sửa đổi các thuộc tính trên các đối tượng như thế này

Xóa thuộc tính đối tượng

Bạn có thể xóa các thuộc tính trên các đối tượng bằng cách sử dụng từ khóa

class example:
    z=5 
obj1=example[] 
print[obj1.z] 
obj2=example[] 
print[obj1.z+obj2.z] 
print[dir[example]] #By passing the class itself
0

Xóa đối tượng

Bạn có thể xóa các đối tượng bằng cách sử dụng từ khóa

class example:
    z=5 
obj1=example[] 
print[obj1.z] 
obj2=example[] 
print[obj1.z+obj2.z] 
print[dir[example]] #By passing the class itself
0

Tuyên bố vượt qua

Định nghĩa

class example:
    z=5 
obj1=example[] 
print[obj1.z] 
obj2=example[] 
print[obj1.z+obj2.z] 
print[dir[example]] #By passing the class itself
2 không thể để trống, nhưng nếu vì lý do nào đó bạn có định nghĩa
class example:
    z=5 
obj1=example[] 
print[obj1.z] 
obj2=example[] 
print[obj1.z+obj2.z] 
print[dir[example]] #By passing the class itself
2 không có nội dung, hãy đặt câu lệnh
class example:
    z=5 
obj1=example[] 
print[obj1.z] 
obj2=example[] 
print[obj1.z+obj2.z] 
print[dir[example]] #By passing the class itself
4 để tránh bị lỗi

Các lớp Python chủ yếu là các mẫu để tạo các đối tượng mới. Nội dung/thuộc tính của các đối tượng thuộc một lớp được mô tả bởi lớp

Chính xác thì thuộc tính lớp là gì?

Các thuộc tính của lớp không là gì ngoài các biến của một lớp. Điều quan trọng cần lưu ý là các biến này được chia sẻ giữa tất cả các thể hiện của lớp

class example:
z=5
obj1=example[]
print[obj1.z]
obj2=example[]
print[obj1.z+obj2.z]
5
10

Trong mã ví dụ trên, z là một thuộc tính của lớp và được chia sẻ bởi các thể hiện của lớp obj1 và obj2

Trong hướng dẫn này, bạn sẽ học cách tìm nạp danh sách các thuộc tính lớp trong Python

Sử dụng phương thức dir[] để tìm tất cả các thuộc tính của lớp

Nó trả về một danh sách các thuộc tính và phương thức của đối tượng/lớp được truyền. Khi được gọi trên các đối tượng lớp, nó cũng trả về một danh sách tên của tất cả các thuộc tính hợp lệ và thuộc tính cơ sở

cú pháp. dir[object] , trong đó đối tượng là tùy chọn

Tại đây, bạn có thể lấy danh sách các thuộc tính của lớp;

  • Bằng cách tự mình vượt qua lớp
    class example:
        z=5 
    obj1=example[] 
    print[obj1.z] 
    obj2=example[] 
    print[obj1.z+obj2.z] 
    print[dir[example]] #By passing the class itself
    ____3
  • Bằng cách truyền đối tượng của lớp____4
    5
    10
    ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'z']

Tuy nhiên, phương thức dir[] cũng trả về các phương thức kỳ diệu của lớp cùng với các thuộc tính của lớp

Bằng cách sử dụng __dict__ nhận thuộc tính lớp

Nó lưu trữ/trả về một từ điển các thuộc tính mô tả một đối tượng. Hãy để chúng tôi hiểu điều tương tự bằng cách xem xét một ví dụ

cú pháp. vật. __dict__

class fruit[]:
    def __init__[self,fruitname,color]:
        self.name=fruitname
        self.color=color
apple=fruit["apple","red"]
print[apple.name]
print[apple.color] 
print[apple.__dict__]
apple
red
{'name': 'apple', 'color': 'red'}

Ở đây, quả táo là một đối tượng thuộc lớp trái cây. Vì vậy, __dict__ đã trả về một từ điển chứa các thuộc tính của đối tượng tôi. e. , táo

Ngoài ra, bạn có thể chỉ nhận thêm các khóa hoặc giá trị cho đối tượng cụ thể bằng cách sử dụng hệ thống lưu trữ khóa, giá trị của từ điển

class fruit[]:
    def __init__[self,fruitname,color]:
        self.name=fruitname
        self.color=color
apple=fruit["apple","red"]
print[apple.name]
print[apple.color] 
print[apple.__dict__]
print[apple.__dict__.keys[]]
print[apple.__dict__.values[]]
apple
red
{'name': 'apple', 'color': 'red'}
dict_keys[['name', 'color']]
dict_values[['apple', 'red']]

Bằng cách sử dụng getmembers[] của mô-đun kiểm tra

Hàm getmembers[] truy xuất các thành viên của một đối tượng, chẳng hạn như một lớp trong danh sách

5
10
0
5
10
1

Để có danh sách chỉ thuộc tính của đối tượng được truyền, tôi. e. , để xóa tất cả các thuộc tính/phương thức ma thuật dựng sẵn công khai và riêng tư khỏi danh sách;

5
10
2____13

Sử dụng phương thức vars[]

Nó lấy một đối tượng làm tham số và trả về các thuộc tính của nó

cú pháp. lọ [đối tượng]

5
10
4
5
10
5

Tuy nhiên, bạn phải lưu ý rằng hai phương thức trên chỉ trả về các thuộc tính lớp cho lớp cơ sở tương ứng

Bạn có thể có danh sách các đối tượng lớp trong Python không?

Chúng ta có thể tạo danh sách các đối tượng trong Python bằng cách thêm các thể hiện của lớp vào danh sách . Bằng cách này, mọi chỉ mục trong danh sách có thể trỏ đến các thuộc tính và phương thức thể hiện của lớp và có thể truy cập chúng. Nếu bạn quan sát kỹ, một danh sách các đối tượng hoạt động giống như một mảng các cấu trúc trong C.

__ dict __ trong Python là gì?

Tất cả đối tượng trong Python đều có thuộc tính __dict__, là đối tượng từ điển chứa tất cả các thuộc tính được xác định cho chính đối tượng đó . Việc ánh xạ các thuộc tính với các giá trị của nó được thực hiện để tạo từ điển.

Chủ Đề