python基础之内置成员和魔法函数(16)

本文详细介绍了Python中的内置成员,包括dict、doc、name、module、bases等,并探讨了对象方法、类方法、静态方法和绑定类方法的区别。此外,还讲解了如何使用和调用这些方法。接着,文章深入讨论了Python的魔法函数,如__init__、__new__、__del__、__call__等,以及如何利用它们实现单例模式和装饰器。最后,文章提到了与属性相关的魔术方法,如__getattribute__、__getattr__、__setattr__和__delattr__,并展示了如何在访问、修改和删除属性时使用这些方法。
摘要由CSDN通过智能技术生成

内置成员
dict:获取类/对象的所属成员组成的集合 *

自己编写类文档

doc:获取类的文档信息 *

class Human():
‘’’
这是一个人类的类
他有着。。的方法
可以制造出什么样的对象
‘’’
name = “人类”
print(Human.doc)

name:获取类名称的字符串

str1 = tuple.name
print(str1,type(str1))

module:获取当前类所在的文件的名称,如果是当前文件,显示为main(后面会讲其他的)

print(list.module)
结果为builtins

bases:获取当前类的父类列表

class Human():
pass
class Man(Human):
pass
class Woman(Human):
pass
class Child(Man,Woman):
pass
print(Child.bases)
#结果为(<class ‘main.Man’>, <class ‘main.Woman’>)
方法的分类
1.对象方法:该方法中会直接传入当前对象
调用方式:对象.成员方法() #类.成员方法(self)也可以
特征:会将当前对象传入方法中

2.类方法:在方法中会直接传入当前类
@classmethod: 不需要实例化,直接类名.方法名()来调用。
调用方式:类.成员方法() #对象.成员方法()也可以
特征:会将当前类传入方法中

3.绑定类的方法:在方法中不会传入类或者对象的方法
调用方式:类.成员方法()
特征:不会传入类或者对象,只能通过类来调用

4.静态方法:与类和对象无关,但是存在于类结构中的方法
@staticmethod: 返回函数的静态方法。
调用方式:类.成员方法() 或者对象.成员方法()
特征:类或者对象都可以调用

class Human():
# 对象方法
def say(self):
print(self)
print(“人类叫起来很动听”)
# 类方法 在方法中会直接传入当前类
@classmethod
def run(cls):
print(cls)
print(“人类跑起来piapia的”)
# 静态方法:与类和对象无关,但是存在于类结构中的方法
@staticmethod
def move(name,sex,age):
print(“人类之间的迁徙活动是生存本能”)
# 绑定类方法
def eat():
print(“人类能吃的全吃了,不能吃的正在变得能吃”)
wenguang = Human()
wenguang.say()
wenguang.run()
Human.run()

使用对象调用静态方法

wenguang.move(1,2,3)

使用类调用静态方法

Human.move(“人类”,“女”,16)
print(Human.dict)
print(dir(wenguang))
Human.eat()
魔术方法(魔法函数):一种特殊的方法。
特点:不需要人工调用,在特定的时刻自动执行。

1.init 初始化魔术方法 *****
1.触发时机:实例化对象之后触发
2.作用:为实例化的对象添加对象的所属成员。
3.参数:一个self 接受当前对象 其他的参数根据实例化的传参决定
4.返回值:无
5.注意事项:无
例:
class Name():
age = 18
def init(self,head):
s

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值