Python是一種高級編程語言,它可以使用類來封裝相關數據和方法。在Python中,類的成員包括屬性和方法。如果你想查看類的成員,可以使用Python提供的內置函數dir()。
dir()函數可以列出任何對象的成員,包括模塊、函數、類以及實例對象。當你傳入一個類,它會列出類的所有成員,包括類屬性、實例屬性、類方法、實例方法、靜態方法等。
class Person: species = 'human' # 類屬性 def __init__(self, name, age): self.name = name # 實例屬性 self.age = age # 實例屬性 def say_hello(self): # 實例方法 print('Hello, my name is ' + self.name) @classmethod # 類方法 def from_birth_year(cls, name, birth_year): age = datetime.date.today().year - birth_year return cls(name, age) @staticmethod # 靜態方法 def is_adult(age): return age >= 18 # 使用dir()函數查看類的成員 print(dir(Person))
以上代碼定義了一個Person類,包括一個類屬性、兩個實例屬性、一個實例方法、一個類方法和一個靜態方法。使用dir()函數輸出Person類的所有成員,包括:
- '__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'
- 'from_birth_year'
- 'is_adult'
- 'name'
- 'say_hello'
- 'species'
從結果中可以看出,dir()函數列出了所有的成員,包括內置方法和自定義方法。你可以使用這個函數來查看你定義的類的所有成員,以便更好地理解和使用。