1.动态给对象添加属性: 在对象创建完毕后,单独为其添加需要的属性;可以理解为:私人定制 【注意】: 添加的属性只有此对象能够使用,别的对象如果用了,直接报错; 2.构造函数/构造方法/构造器: 格式:__init__(self,...): 作用: 1).创建对象 2).为对象的属性赋值 【注意】: 1).构造函数也是函数,同样没有函数重载之说, 也就意味着,如果在一个类中出现多个同名的构造函数,最后一个覆盖之前所有的 2).如果人为不显示的定义构造函数,那么系统会默认提供给类一个空参数的构造, 如果显示的定义了(不管几个)、系统就不会提供了 演示构造函数的使用: 作用: 1).为创建对象做准备(创建对象一定会调用构造函数) 2).为对象的属性赋值
代码语言:javascript复制class Person:
#定义三个参数的构造函数:self不算在内
def __init__(self,name,age,address):
print('我是三个参数的构造...')
self.name=name
self.age=age
self.address=address
'''
回顾:
在python中没有函数重载,如果在同一个作用域中定义了多个重名函数;
最后一个会覆盖前面所有的,构造函数也是如此;
'''
def ini__(self):
print('我是空参数的构造...')
def details(self):
print('名字:' self.name ',年龄:' str(self.age) ',籍贯:' self.address )
#创建Person对象
p1=Person('李白',30,'上海')
p1.details()
p2=Person('杜甫',25,'深圳')
p2.details()
p3=Person()
print(p3)