Hướng dẫn python print all attributes - python in tất cả các thuộc tính

Một cách khác là gọi hàm dir() (xem https://docs.python.org/2/l Library/funces.html#dir).

a = Animal()
dir(a)   
>>>
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__',
 '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', 
 '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 
 '__weakref__', 'age', 'color', 'kids', 'legs', 'name', 'smell']

Lưu ý rằng dir() cố gắng đạt được bất kỳ thuộc tính nào có thể đạt được.

Sau đó, bạn có thể truy cập các thuộc tính, ví dụ: Bằng cách lọc với Double nhấn mạnh:

attributes = [attr for attr in dir(a) 
              if not attr.startswith('__')]

Đây chỉ là một ví dụ về những gì có thể làm với dir(), vui lòng kiểm tra các câu trả lời khác để biết cách này.

Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để in các thuộc tính của đối tượng. Lặn vào thế giới thú vị của lập trình hướng đối tượng có vẻ là một nhiệm vụ áp đảo, khi bạn chỉ bắt đầu với Python. Biết cách truy cập các thuộc tính của đối tượng và có thể in tất cả các thuộc tính của đối tượng Python, là một kỹ năng quan trọng để giúp bạn điều tra các đối tượng Python của mình và, có lẽ, thậm chí còn làm một chút khắc phục sự cố.

Nội phân chính

  • Đối tượng Python là gì?
  • Sử dụng Python từ Dir để in các thuộc tính đối tượng
  • Sử dụng python từ vars () để in một thuộc tính đối tượng
  • Làm cách nào để nhận được một danh sách các thuộc tính trong Python?
  • Làm thế nào để bạn in tên biến của một đối tượng trong Python?
  • __ repr __ trong Python là gì?
  • Thuộc tính đối tượng trong Python là gì?

Thuộc tính thể hiện/đối tượng là một biến thuộc về một đối tượng (và chỉ một) đối tượng. Mỗi phiên bản của một lớp trỏ đến các biến thuộc tính của chính nó. Các thuộc tính này được xác định trong hàm tạo __init__.

Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để in các thuộc tính của đối tượng. Lặn vào thế giới thú vị của lập trình hướng đối tượng có vẻ là một nhiệm vụ áp đảo, khi bạn chỉ bắt đầu với Python. Biết cách truy cập các thuộc tính của đối tượng và có thể in tất cả các thuộc tính của đối tượng Python, là một kỹ năng quan trọng để giúp bạn điều tra các đối tượng Python của mình và, có lẽ, thậm chí còn làm một chút khắc phục sự cố.

Nội phân chínhUse the dir() Function

  • Đối tượng Python là gì?
  • Sử dụng Python từ Dir để in các thuộc tính đối tượng
  • Sử dụng Python từ Dir để in các thuộc tính đối tượng
  • Sử dụng python từ vars () để in một thuộc tính đối tượng
  • Làm cách nào để nhận được một danh sách các thuộc tính trong Python?

Đối tượng Python là gì?

Sử dụng Python từ Dir để in các thuộc tính đối tượng

Sử dụng python từ vars () để in một thuộc tính đối tượng

Làm cách nào để nhận được một danh sách các thuộc tính trong Python?

class Dog:
    def __init__(self, name, age, puppies):
        self.name = name
        self.age = age
        self.puppies = puppies

    def birthday(self):
        self.age += 1

    def have_puppies(self, number_puppies):
        self.have_puppies += number_puppies

Làm thế nào để bạn in tên biến của một đối tượng trong Python?

Chúng tôi sẽ kết thúc hướng dẫn bằng cách học cách in ra các thuộc tính ở định dạng đẹp hơn, sử dụng mô -đun

attributes = [attr for attr in dir(a) 
              if not attr.startswith('__')]
2!

teddy = Dog(name='Teddy', age=3, puppies=0)

Hãy cùng xem những gì bạn học được!

Câu trả lời nhanh: Sử dụng hàm Dir ()

Thuộc tính đối tượng Python là gì?

Sự kết luận

Python là một ngôn ngữ hướng đối tượng-vì điều này, phần lớn mọi thứ trong Python là một đối tượng. Để tạo các đối tượng, chúng tôi tạo các lớp, là bản thiết kế cho các đối tượng. Các lớp này xác định những thuộc tính mà một đối tượng có thể có và phương thức nào mà một đối tượng có thể có, tức là, những gì nó có thể làm.

print(teddy.name)

# Returns: Teddy

Hãy để tạo ra một lớp Python khá đơn giản mà chúng ta có thể sử dụng trong suốt hướng dẫn này. Chúng tôi sẽ tạo ra một lớp

attributes = [attr for attr in dir(a) 
              if not attr.startswith('__')]
3, trong đó sẽ một vài thuộc tính và phương thức đơn giản.

Sử dụng Python từ Dir để in các thuộc tính đối tượng

Sử dụng python từ vars () để in một thuộc tính đối tượng

Làm cách nào để nhận được một danh sách các thuộc tính trong Python?

# Printing an object's attributes using the dir() function
attributes = dir(teddy)

# Returns:
# ['__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__', 'age', 'birthday', 'have_puppies', 'name', 'puppies']

Làm thế nào để bạn in tên biến của một đối tượng trong Python?

Chúng tôi sẽ kết thúc hướng dẫn bằng cách học cách in ra các thuộc tính ở định dạng đẹp hơn, sử dụng mô -đun

attributes = [attr for attr in dir(a) 
              if not attr.startswith('__')]
2!

Hãy cùng xem những gì bạn học được!

Câu trả lời nhanh: Sử dụng hàm Dir ()

Sử dụng python từ vars () để in một thuộc tính đối tượng

Làm cách nào để nhận được một danh sách các thuộc tính trong Python?

Làm thế nào để bạn in tên biến của một đối tượng trong Python?

print(vars(teddy))

# Same as print(teddy.__dict__)

# Returns:
# {'name': 'Teddy', 'age': 3, 'puppies': 0}

Chúng tôi sẽ kết thúc hướng dẫn bằng cách học cách in ra các thuộc tính ở định dạng đẹp hơn, sử dụng mô -đun

attributes = [attr for attr in dir(a) 
              if not attr.startswith('__')]
2!

Hãy cùng xem những gì bạn học được!

Câu trả lời nhanh: Sử dụng hàm Dir ()

print(vars(Dog))

# Returns
# {'__module__': '__main__', '__init__': <function Dog.__init__ at 0x7ff59824ad30>, 'birthday': <function Dog.birthday at 0x7ff59824ae50>, 'have_puppies': <function Dog.have_puppies at 0x7ff59824aee0>, '__dict__': <attribute '__dict__' of 'Dog' objects>, '__weakref__': <attribute '__weakref__' of 'Dog' objects>, '__doc__': None}

Chúng ta có thể thấy ở đây rằng điều này thực sự trả về nhiều hơn đáng kể so với việc gọi chức năng trên một thể hiện đối tượng.

Từ điển cũng bao gồm tất cả các phương thức được tìm thấy trong lớp, cũng như các thuộc tính khác được cung cấp bởi phương thức dir().

Nếu chúng tôi muốn in đẹp hơn, chúng tôi có thể sử dụng mô -đun

attributes = [attr for attr in dir(a) 
              if not attr.startswith('__')]
2 in đẹp. Hãy để xem cách chúng ta có thể làm điều này:

import pprint

pprint.pprint(vars(Dog))

# Returns:
# {'__dict__': <attribute '__dict__' of 'Dog' objects>,
              '__doc__': None,
              '__init__': <function Dog.__init__ at 0x7fb4a0152d30>,
              '__module__': '__main__',
              '__weakref__': <attribute '__weakref__' of 'Dog' objects>,
              'birthday': <function Dog.birthday at 0x7fb4a0152e50>,
              'have_puppies': <function Dog.have_puppies at 0x7fb4a0152ee0>}

Bây giờ bạn đã học cách in ra tất cả các thuộc tính của một đối tượng Python ở một định dạng đẹp hơn!

Sự kết luận

Trong bài đăng này, bạn đã học cách in ra các thuộc tính của một đối tượng Python. Bạn đã học cách tạo một lớp Python đơn giản và cách tạo một đối tượng. Sau đó, bạn đã học cách in ra tất cả các thuộc tính của một đối tượng Python bằng cách sử dụng các hàm dir()

class Dog:
    def __init__(self, name, age, puppies):
        self.name = name
        self.age = age
        self.puppies = puppies

    def birthday(self):
        self.age += 1

    def have_puppies(self, number_puppies):
        self.have_puppies += number_puppies
4. Cuối cùng, bạn đã học được cách sử dụng mô -đun
attributes = [attr for attr in dir(a) 
              if not attr.startswith('__')]
2 để in ra các thuộc tính ở định dạng đẹp hơn.

Để tìm hiểu thêm về chức năng dir(), hãy xem tài liệu chính thức ở đây.

Làm cách nào để nhận được một danh sách các thuộc tính trong Python?

Phương pháp 1: Để có được danh sách tất cả các thuộc tính, các phương thức cùng với một số phương thức ma thuật được kế thừa của một lớp, chúng tôi sử dụng tích hợp được gọi là Dir (). Phương pháp 2: Một cách khác để tìm danh sách các thuộc tính là bằng cách sử dụng kiểm tra mô -đun.use a built-in called dir() . Method 2: Another way of finding a list of attributes is by using the module inspect .

Làm thế nào để bạn in tên biến của một đối tượng trong Python?

Làm thế nào để in loại biến trong Python. Để có được loại biến trong Python, bạn có thể sử dụng hàm loại tích hợp (). Trong Python, mọi thứ đều là một đối tượng. Vì vậy, khi bạn sử dụng hàm loại () để in loại giá trị được lưu trữ trong một biến cho bàn điều khiển, nó sẽ trả về loại lớp của đối tượng.use the built-in type() function. In Python, everything is an object. So, when you use the type() function to print the type of the value stored in a variable to the console, it returns the class type of the object.

__ repr __ trong Python là gì?

Chức năng Python __repr __ () trả về biểu diễn đối tượng trong định dạng chuỗi. Phương thức này được gọi khi hàm repr () được gọi trên đối tượng. Nếu có thể, chuỗi được trả về phải là biểu thức Python hợp lệ có thể được sử dụng để tái tạo lại đối tượng.returns the object representation in string format. This method is called when repr() function is invoked on the object. If possible, the string returned should be a valid Python expression that can be used to reconstruct the object again.

Thuộc tính đối tượng trong Python là gì?

Thuộc tính thể hiện/đối tượng là một biến thuộc về một đối tượng (và chỉ một) đối tượng. Mỗi phiên bản của một lớp trỏ đến các biến thuộc tính của chính nó. Các thuộc tính này được xác định trong hàm tạo __init__.a variable that belongs to one (and only one) object. Every instance of a class points to its own attributes variables. These attributes are defined within the __init__ constructor.