python学习笔记2

python方法,在python语言中,任何一个方法定义中的第一个参数都是变量self,它表示调用此方法的实例对象。

self是什么:self变量用于在类实例方法中引用方法所绑定的实例。因为方法的实例在任何地方调用中总是作为第一个参数传递的,self被选中用来代表实例。你必须在方法声明中放上self(你可能已经注意到了这点),但可以在方法中不使用实例(self)。如果你的方法中没有用到self,那么请考虑创建一个常规函数,除非你有特别的原因。毕竟,你的方法代码没有使用实例,没有与类关联其功能,这使得它看起来更像一个常规函数。在其他面向对象语言中,self可能被称为this。

python调用绑定方法,即一个类实例一个对象后,通过实例对象来调用方法:

class C(object):
    """docstring for C"""
    foo = 100

    def testFun(self,name):
        self.name = name

cObject = C()

cObject.testFun("Elwin")

print("C name is %s" %cObject.name)

python支持类的多继承,java语言不支持类的多继承。在python语言中多继承需要特别注意方法解释顺序(MRO)。经典类中,使用深度优先算法。新式类继承来自object,新的菱形类集成结构出现,问题也就接着而来,所以必须新建一个MRO.

#经典类
class P1:
    """docstring for P1"""
    def foo(self):
        print "called P1-foo()"

class P2:
    """docstring for P2"""
    def foo(self):
        print "called P2-foo()"

class C1(P1,P2):
    pass

#新式类
class P1(object):
    """docstring for P1"""
    def foo(self):
        print "called P1-foo()"

class P2(object):
    """docstring for P2"""
    def foo(self):
        print "called P2-foo()"

class C1(P1,P2):
    pass

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 要点: 函数式编程:注意不是“函数编程”,多了一个“式” 模块:如何使用模块 面向对象编程:面向对象的概念、属性、...
    victorsungo阅读 5,511评论 0 6
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 7,975评论 2 9
  • 写在前面的话 代码中的# > 表示的是输出结果 输入 使用input()函数 用法 注意input函数输出的均是字...
    FlyingLittlePG阅读 8,136评论 0 9
  • property、魔法属性和魔法方法、多重继承和多继承 1.5 property 学习目标 1. 能够说出什么要...
    Cestine阅读 4,208评论 0 1
  • 抽象类 什么是抽象类 与java一样,python也有抽象类的概念但是同样需要借助模块实现,抽象类是一个特殊的...
    go以恒阅读 3,878评论 0 3