设为首页 收藏本站
查看: 772|回复: 0

[经验分享] python重观之--OOP

[复制链接]
发表于 2017-4-23 10:31:12 | 显示全部楼层 |阅读模式
wo-03 10-07 dfeixtay original

    python OOP 基础

    今日重观了毕设时匆匆学习的python,发现,正应了高中老师的老话,许多书许多知识,第一遍看,不懂,你把它放下,等过一段时间,等知识积累到一定程度,你再回来看,会发现有意外的收获。
    今天我重看了L.P.C-22,收获颇多。
    一个是,终于了解了什么是工厂类,类是产生实例的工厂。实例是一个独立的命名空间,类可以产生需要多个实例。
    二个是python支持多重继承,搜索顺序是自下而上,自左而右。
    关于类的调用,python有一个特殊的self参数,举例说明,说是:
    I2.w和C3.w(I2)是一样的,其中I2是C3的实例
    三是在python的类树编写中,属性是通过赋值语句添加在类中的,对self做赋值运算添加在实例中的。由于python是动态语言,没有变量和函数的声明,因此,在class中def的方法就有玄机。这就是下一条
    四是在形如:
        class C1(C2,C3):
            def setname(self,who):
                self.name = who
    中,如果进行实例化I2 = C1(),则此时由于没有对name属性赋值,name属性是不存在的,非要当调用的setname方法后,方法对name属性赋值,这个值才存在,才可以调用。这个问题的解决方法就是下一条。
    五是__init__()方法,就好像java中的构造函数,python里叫做构造器么?设置这个函数后,在类实例化时,就会自动调用这个函数,相应的属性就会被创建并赋值。它是运算符重载方法中的常用代表。

    总之,通过重看,将__init__和构造函数结合在了一起;回想了实例调用类的方法时的过程:I2.w相当于传入了默认参数self,而C2.w(I2)中I2对应了self的位置,对应java,记得在java的类调用中,除了set与get方法,好像还有一个getInstance方法,这和python可能不大一样,当然接触的javaOOP类还比较少。



    最后,python在eclipse中开发要用到的PyDev。
    下载:http://pydev.org/download.html for linux?不区分?
    介绍及调试:http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-pydev/

    常用的IDE为IDLE。
    下载:

    另外,还有4本书,Programming Python, Python Pocket Reference, Python in a Nutshell, Python Essential Reference, Python Cookbook 可提供参考和例子,噢5本书。
    记得,不要持续的信息冗余。。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-368080-1-1.html 上篇帖子: python异常捕获try except 下篇帖子: (转载)Python 应用发布技术
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表