zoukankan      html  css  js  c++  java
  • 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 中类与类型是同一个概念,类型就是类。

  • 相关阅读:
    WebSocket使用及优化(心跳机制与断线重连)
    JS案例:触底懒加载
    你知道近来年大火的DDD是如何兴起的吗?以及与微服务的关系
    Sql Server的Cross Apply用法
    跨域信息传递解决方案
    【转】理解字节序
    NATAPP优惠码
    <学习笔记>筛法
    <学习笔记>线性基
    【react + BizCharts】
  • 原文地址:https://www.cnblogs.com/AYxing/p/8993187.html
Copyright © 2011-2022 走看看