python是动态语言,在创建对象之后,可以动态的绑定属性和方法
动态绑定属性
class Student:
def __init__(self,name,age): #定义一个初始化方法
self.name=name #局部变量赋值给实例变量
self.age=age
def eat(self): #定义一个方法eat()
print(self.name+'在吃西瓜')
#创建完类,然后创建类的对象
stu1=Student('小仙女',18)
stu2=Student('小宋',28)
#1)为stu2绑定性别动态属性
stu1.gender='女'
print(stu1.name,stu1.age,stu1.gender) #小仙女 18 女
print(stu2.name,stu2.age) #小宋 28
分析图:
动态绑定方法
class Student:
def __init__(self,name,age): #定义一个初始化方法
self.name=name #局部变量赋值给实例变量
self.age=age
def eat(self): #定义一个方法eat()
print(self.name+'在吃西瓜')
#创建完类,然后创建类的对象
stu1=Student('小仙女',18)
stu2=Student('小宋',28)
#1)为stu1绑定性别动态属性
stu1.gender='女'
print(stu1.name,stu1.age,stu1.gender) #小仙女 18 女
print(stu2.name,stu2.age) #小宋 28
#2)绑定动态方法
def show():
print('定义在类之外的,称为函数')
stu1.show=show() #把定义的show()函数绑定在stu1这个对象上
stu1.show() #stu1去调用show方法
#stu2.show() #stu2并没有绑定show方法