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传进去的意思是
                               #
View Code

     注意:1、类中定义的函数主要给对象使用的,且是绑定到对象的。

        2、类定义的函数功能一样,但类绑定到不同的对象,就是不同的绑定方法。

        3、绑定对象的方法的这种自动传值的特征,决定了类中定义的函数都要写一个self参数。

类即类型:

python3 中一切皆对象,且python3 中类与类型是同一个概念,类型就是类。

原文地址:https://www.cnblogs.com/AYxing/p/8993187.html