天天看點

Python入門基礎篇 No.79 —— object 根類_dir()檢視對象屬性_重寫__str__()方法Python入門基礎篇 No.79 —— object 根類_dir()檢視對象屬性_重寫__str__()方法前言一、object 根類二、dir()檢視對象屬性總結

Python入門基礎篇 No.79 —— object 根類_dir()檢視對象屬性_重寫__str__()方法

文章目錄

  • Python入門基礎篇 No.79 —— object 根類_dir()檢視對象屬性_重寫__str__()方法
  • 前言
  • 一、object 根類
  • 二、dir()檢視對象屬性
  • 總結

前生篇:類成員的繼承和重寫_檢視類的繼承層次結構

後世篇:重寫__str__()方法_多重繼承_MRO()

小白不看都能懂:Python之真功夫系列(全章)

前言

Python入門基礎篇 No.79 —— object 根類_dir()檢視對象屬性_重寫__str__()方法Python入門基礎篇 No.79 —— object 根類_dir()檢視對象屬性_重寫__str__()方法前言一、object 根類二、dir()檢視對象屬性總結

一、object 根類

object 類是所有類的父類,是以所有的類都有 object 類的屬性和方法。我們顯然有必要深入研究一下 object 類的結構。對于我們繼續深入學習 Python 很有好處。

二、dir()檢視對象屬性

  • 為了深入學習對象,我們先學習内置函數 dir(),他可以讓我們友善的看到指定對象所有的屬性。
  • 檢視對象所有屬性以及和 object 進行比對:

代碼示範:

# coding=utf-8

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

    def say_age(self):
        print(self.name, '的年齡是:', self.age)


obj = object()
print(dir(obj))

s1 = Person('Offer', 18)
print(dir(s1))
----------------------------------
['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']
['__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', 'name', 'say_age']
           
  • 從上面我們可以發現這樣幾個要點:
  • 1.Person 對象增加了六個屬性:
__ dict__ / __ module__ / __ weakref__ / age / name / say_age
  • 2.object 的所有屬性,Person 類作為 object 的子類,顯然包含了所有的屬性。
  • 3.我們列印 age、name、say_age,發現 say_age 雖然是方法,實際上也是屬性。隻不過,這個屬性的類型是“method”而已。

代碼示範:

print(type(s1.age))

print(type(s1.name))

print(type(s1.say_age))
--------------------------
age <class 'int'>
name <class 'str'>
say_age <class 'method'>
           
Python入門基礎篇 No.79 —— object 根類_dir()檢視對象屬性_重寫__str__()方法Python入門基礎篇 No.79 —— object 根類_dir()檢視對象屬性_重寫__str__()方法前言一、object 根類二、dir()檢視對象屬性總結

總結

以上幫各位總結好了,收藏,關注即可查收。

前生篇:類成員的繼承和重寫_檢視類的繼承層次結構

後世篇:重寫__str__()方法_多重繼承_MRO()

小白不看都能懂:Python之真功夫系列(全章)

關注下方公衆号,免費拿Python學習資料!!!

Python入門基礎篇 No.79 —— object 根類_dir()檢視對象屬性_重寫__str__()方法Python入門基礎篇 No.79 —— object 根類_dir()檢視對象屬性_重寫__str__()方法前言一、object 根類二、dir()檢視對象屬性總結