Python入门基础篇 No.79 —— object 根类_dir()查看对象属性_重写__str__()方法

Python入门基础篇 No.79 —— object 根类_dir()查看对象属性_重写__str__()方法


前生篇:类成员的继承和重写_查看类的继承层次结构

后世篇:重写__str__()方法_多重继承_MRO()

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


前言

在这里插入图片描述


一、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'>

在这里插入图片描述


总结

以上帮各位总结好了,收藏,关注即可查收。

前生篇:类成员的继承和重写_查看类的继承层次结构

后世篇:重写__str__()方法_多重继承_MRO()

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


关注下方公众号,免费拿Python学习资料!!!

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值