class Person(object):
left_hand = '左手'
right_hand = '右手'
def __new__(cls, *args, **kwargs):
print('__new__方法cls参数地址:', id(cls))
obj = super(Person, cls).__new__(cls)
print('__new__方法创建了一个新对象:', id(obj))
return obj
def __init__(self, name):
print('__init__方法self的地址:', id(self))
self.name = name
def sleep(self):
print(self.name + '睡着了')
def eat(self):
print(self.name + '吃饭了')
def to_wc(self):
print(self.name + '去厕所了')
print('类地址:', id(Person))
p1 = Person('张三')
print('p1的地址:', id(p1))
p1.sleep()
p1.to_wc()
p1.eat()
print(p1.name, p1.left_hand, '拿刀', p1.right_hand, '拿叉', sep='')
类地址: 6541992
__new__方法cls参数地址: 6541992
__new__方法创建了一个新对象: 35863240
__init__方法self的地址: 35863240
p1的地址: 35863240
张三睡着了
张三去厕所了
张三吃饭了
张三左手拿刀右手拿叉