Python中的_new_方法的重写
new方法重写的步骤比较固定,直接上代码吧
# 代码
class MusicPlayer(object):
# new方法的重写,是一个静态方法,必须主动传递cls参数
def __new__(cls, *args, **kwargs):
# 1.创建对象时,new方法会被自动调用
print("创建对象,分配空间")
# 2.为对象分配空间
instance = super().__new__(cls)
# 3.返回对象的引用
return instance
def __init__(self):
print("111")
player = MusicPlayer()
print(player)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 运行结果
创建对象,分配空间
111
<__main__.MusicPlayer object at 0x0000000003A0D128>
1
2
3
2
3
1
2
3
2
3
编辑 (opens new window)
上次更新: 2022/12/31, 16:52:27
- 01
- SpringCache基本配置类05-16
- 03
- Rpamis-security-原理解析12-13