什么是魔法方法?
Python类中的魔法方法(Magic Methods)是特殊的方法,以双下划线(__)开头和结尾的方法。
这些方法在对象的创建、运算符重载、属性访问等方面提供了特定的行为。
都是内置方法,一般方法命名不建议使用这种格式即双下划线开头和结尾的方法
__init__(self, ...)
:构造函数,用于初始化对象
特点:
1. 创建对象时,自动调用即不需要程序员显示调用
2. __init__(self) 中的self参数,不需要开发者传递,python解释器会⾃动把当前的对象引 ⽤传递过去。
__str__(self): 返回对象的字符串表示形式,通过print()或str()调用
__del__方法: 对象删除时自动调用该方法
示例
1 ''' 2 1. 什么是魔法方法? 3 Python类中的魔法方法(Magic Methods)是特殊的方法,以双下划线(__)开头和结尾的方法。 4 这些方法在对象的创建、运算符重载、属性访问等方面提供了特定的行为。 5 都是内置方法,一般方法命名不建议使用这种格式即双下划线开头和结尾的方法 6 2. 常见的魔法方法 7 8 ''' 9 10 ''' 11 1. __init__(self, ...):构造函数,用于初始化对象,注意无参、带参数(含参数不同)的处理方法就是使用默认值 12 ''' 13 14 15 # 无参数 16 class Person: 17 # 为了 person = Person() 和 person = Person('Allen', 30)同时出现,使用了默认值,没有像java一样的重载 18 def __init__(self, name=None, age=None): 19 self.name = name 20 self.age = age 21 22 def __str__(self): 23 return f'name={self.name},age={self.age}' 24 25 def __del__(self): 26 print( 27 f'{self}对象已经被删除,id={id(self)}') # 其实回来了2个对象。name=None,age=None对象已经被删除,id=1914706281616 name=Allen,age=30对象已经被删除,id=1914706290192 28 29 30 # 无参数 31 person = Person() # 执行此句,会自动调__init__方法 32 33 # 带参数的__init__() __init__ 34 person = Person('Allen', 30) 35 36 ''' 37 2. __str__(self): 返回对象的字符串表示形式,通过print()或str()调用。 38 ''' 39 print(person) 40 41 ''' 42 3. __del__方法: 对象删除时自动调用该方法 43 ''' 44 print(id(person)) # 1914706290192 45 del person
标签:__,name,self,魔法,面向对象,init,方法,age From: https://www.cnblogs.com/allenxx/p/17549092.html