python-属性的查找与绑定方法
类的属性:
类中有两种属性:
数据属性:类的数据属性是所有对象共享的。
eg: 在类中定义了一个 school = 'luffycity' #这个称类的数据属性。
当这个类生成了多个对象时,这些对象都享有这个数据属性。
函数属性:类的函数属性是绑定给对象使用的。
eg: 类中定义了一个 函数:
def eat():
print ('is eatting')
当生成一个stu1对象并使用这个eat方法是时,执行结果只影响stu1
注意:当定义了一个对象时它的查找顺序如下:
先由对象的名称空间找属性,当找不到的时候,
就会从类的名称空间找,再找不到,在父类名称空间找,还是找不到,就会报错。
绑定方法:
在类中所定义的函数——是类的函数属性,类自己可以使用,但必须遵守函数的参数规则,有几个参数需要传几个参数。
class OldboyStudent: school='oldboy' def __init__(self,name,age,sex): self.name=name self.age=age self.sex=sex def learn(self): print('%s is learning' %self.name) #新增self.name def eat(self): print('%s is eating' %self.name) def sleep(self): print('%s is sleeping' %self.name) s1=OldboyStudent('李坦克','男',18) print(OldboyStudent.learn(s1)) # 类使用类定义的函数learn ,需要传参。 # 现在把对象s1传进去的意思是 # 可
注意:1、类中定义的函数主要给对象使用的,且是绑定到对象的。
2、类定义的函数功能一样,但类绑定到不同的对象,就是不同的绑定方法。
3、绑定对象的方法的这种自动传值的特征,决定了类中定义的函数都要写一个self参数。
类即类型:
python3 中一切皆对象,且python3 中类与类型是同一个概念,类型就是类。