目录
一、什么是魔法方法?
在Python中,__xx__() 的函数叫做魔法方法,指的是具有特殊功能的函数
在Python中,魔法方法(Magic Methods)也被称为双下方法(Dunder Methods),因为它们通常以两个下划线(__)开始和结束
这些方法是Python内置的特殊方法,用于定义对象的内置操作的行为
通过重写这些魔法方法,可以自定义对象的行为,使它们表现得像Python的内置类型一样
二、常见的魔法方法
1. __new__(): 在内存中为对象分配空间并返回对象的引用
2. __init__(): 初始化对象或给属性赋值(构造函数)
3. __doc__(): 类的描述信息
4. __module__(): 表示当前操作对象所在模块
5. __class__(): 表示当前操作对象所在的类
6. __str__(): 对象的描述信息
7. __del__(): 删除对象(析构函数)
8. __cal__(): 使一个实例对象成为一个可调用对象
9. __dict__() : 返回对象具有的属性和方法
三、魔法方法&魔法属性
3.1 __doc__()
__doc__:类、函数的描述信息
eg:
class Person(object):
"""人类——类的描述信息""" # 只能使用多行注释,单行注释无效
pass
print(Person.__doc__)
# 人类——类的描述信息
3.2 __module__()
__module__():表述当前操作对象所在的模块
这个属性在动态导入模块、调试、或者当你需要基于对象的来源模块做一些处理时非常有用
例如,你可以通过检查 __module__ 属性来判断一个函数是从哪个模块导入的,或者是在当前脚本中定义的
下面是一个简单的例子来说明 __module__ 的用法:
# 假设这是