三九宝宝网宝宝百科宝宝知识

如何深入理解Python中的面向对象的思维

01月23日 编辑 39baobao.com

[数学数与式的数的思维导图怎么画]你可以把思维导图和一幅城市地图相比较。你的思维导图的中心就像城市的中心,它代 表你最重要的思想;从城市中心发散出来的主要县级代表你思维过程中的主要想法;二级县级或分支...+阅读

ython使用类(class)和对象(object),进行面向对象(object-oriented programming,简称OOP)的编程。面向对象的最主要目的是提高程序的重复使用性。我们这么早切入面向对象编程的原因是,Python的整个概念是基于对象的。了解OOP是进一步学习Python的关键。下面是对面向对象的一种理解,基于分类。相近对象,归为类 在人类认知中,会根据属性相近把东西归类,并且给类别命名。

比如说,鸟类的共同属性是有羽毛,通过产卵生育后代。任何一只特别的鸟都在鸟类的原型基础上的。对这方面感兴趣,想要学习python或者想要了解python可以加群:623715703 面向对象就是模拟了以上人类认知过程。在Python语言,为了听起来酷,我们把上面说的“东西”称为对象(object)。面向对象的基本思想是封装,继承,多态。首先是继承:定义一个类:复制代码 代码如下:class Bird(object):have_feather = True way_of_reproduction = 'egg' 调用这个类:summer = Bird() print summer.way_of_reproduction 与Java不同是,Python是不需要new来实例化类的。

同样,Python的类下面是可以定方法的:def say(self,):print 'i say :' + word 注意一点,所有类的函数,必须至少带有一个参数,这个参数必须是self。类以外的函数没有这一个限制。chk = Chicken() print chk.have_feather print chk.sat('hello') __init__()方法 __init__()是一个特殊方法(special method)。Python里会有一些特殊方法,Python会以特别的方式处理它们。特殊方法的名字的特点是前后都有两个下划线。

__init__()方法的特殊在于,如果你在类中定义了这个方法,一旦你根据这个类建立对象,Python就会自动调用这个方法(这个过程也叫初始化)。如:class happyBird(Bird):def __init__(self,more_words):print 'We are happy birds.',more_words hb = happyBird('Happy,Happy!') 父类方法的重载:class Hello(object):name = 'hello' def __init__(self):self.name='my name is hello'#类中的参数必须带有self参数 def sayhi(self):print 'hi you' class World(Hello):#这里访问的是父类初始化的变量名 print 'before:',Hello.name super(World,self).__init__()#由于调用了父类的初始化构造函数,继承了父类的变量的改变 print 'after:',self.name#近似于方法重载 def sayhi(self,word='baby'):#调用父类sayhi方法 super(World,self).sayhi() print 'hi '+word def sayWorld(self):print 'hi,hello world' if __name__ == '__main__':c = World() c.sayhi() c.sayWorld() 另外,python是允许多继承的,但是这个是个非常危险的操作,建议不要随便使用。

关于Python的多态,就像JavaScript一样,直接访问对象的属性,不需要使用接口,没有类型转换。对于类型的判断,有抓们的type()函数,和isinstance()函数判断是否某个函数的子类。isinstance(object, classinfo) 判断实例是否是这个类或者object是变量 classinfo 是类型(tuple,dict,int,float) 判断变量是否是这个类型 class objA:pass A = objA() B = 'a','v' C = 'a string' print isinstance(A, objA) print isinstance(B, tuple) print isinstance(C, basestring) 输出结果:True 将东西根据属性归类 ( 将object归为class ) 方法是一种属性,表示动作 用继承来说明父类-子类关系。

子类自动具有父类的所有属性。self代表了根据类定义而创建的对象。建立对一个对象: 对象名 = 类名() 引用对象的属性: object.attribute 希望小伙伴们早日成为大牛!

以下为关联文档:

如何更好的利用思维导图文字对于事物的表达起了描述的作用,思维导图做了进一步的简化和演绎,自然会加入个人的信息,而且这个过程我个人认为是非常重要的一个环节,只有相关的我们才会更好的去认识和了解...

浅谈科学课如何放飞学生的思维一、兴趣教学,设计情景 兴趣是一个人最好的老师,只有对学习具有兴趣才能提高学生的学习积极性,让其感受到学习的快乐。因此在小学科学教学中,教师应充分考虑到这一点,结合学生的...

高中数学需要哪些逻辑思维发散思维我个人感觉最主要,其次要有足够的专注度去保证每一步步骤的切实准确性,高中数学学的不算很深,只要理解每一个公式的逻辑推导过程,顺藤摸瓜就能凭直觉答好大部分试题了,比...

数学更需要的是聚集性思维还是发散性思维在研究的初期和中期,尤其是 在攻克瓶颈期,发散性思维特别 重要!当你的研究感觉到走进死 胡同里,心情非常压抑的时候, 发散思维很可能帮你打开一扇天 窗,使得研究工作走向“山重水...

高中数学需要的思维二维:平面图,三维:立体图!!! 1、公式代换熟练 2、高中数学多数要画图,画图要精确点,比较简单的题用想象的方法把图画在大脑里。 3、无聊时研究一些公式直接求得结果的公式,如:需求结果...

如何培养数学的思维我自认为数学学得还不错!..... 在学习一个新的内容之前,你得先预习,把教材上的知识点看懂,如果实在不懂, 可以看一些辅导书,或者问老师。 等老师上课了,那你的思维就会很敏捷,跟得上...

如何理解iso90012015标准中的基于风险的思维新标准修订的关键点之一就是用系统的方法关注风险,而不仅是质量管理体系中的一个单独条款(4.4.1f) 、5.1.1d)、5.1.2b)、6.1.2、9.1.3e)、9.3.2f);新标准自始至终贯穿基于风险的方法...

怎么理解哲学思维的基本特征哲学思维分为三类型:一、形式逻辑。二、辩证法。三、其他(卜卦、占星术、凭空预言、灵感等)。 形式逻辑思维的特征:按规定的标准将事物细分为类、科、目等,先分析,后综合,以此得出...

如何理解创新思维原发布者:Chastin0_0 答: (1).我对创新思维的认识当今社会已经不能一成不变,还按着老套路来走了。特别是在设计师行业,无论你从事的是什么设计,都要求新求变,也就是所谓的创新,创造性...

推荐阅读
图文推荐