1.动态给对象添加属性:
在对象创建完毕后,单独为其添加需要的属性;可以理解为:私人定制
【注意】:
添加的属性只有此对象能够使用,别的对象如果用了,直接报错;
2.构造函数/构造方法/构造器:
格式:__init__(self,...):
作用:
1).创建对象
2).为对象的属性赋值
【注意】:
1).构造函数也是函数,同样没有函数重载之说,
也就意味着,如果在一个类中出现多个同名的构造函数,最后一个覆盖之前所有的
2).如果人为不显示的定义构造函数,那么系统会默认提供给类一个空参数的构造,
如果显示的定义了(不管几个)、系统就不会提供了
演示构造函数的使用:
作用:
1).为创建对象做准备(创建对象一定会调用构造函数)
2).为对象的属性赋值
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)
返回目录