类,类对象和实例对象

Python 的类定义写完之后就成了一个类对象,而引用这个类对象的就是实例对象。

类中定义的属性和方法都是静态属性,不会随着实例对象的属性和方法的改变而改变。

class C:

       count = 0

>> a = C()

>> b = C()

>> c = C()

>> a.count 

0

>> b.count 

0

>> c.count 

0

>> c.count += 10   ######此时类实例对象的count属性改变,覆盖了类C的count,它的改变不会引起C的count改变,只会影响它自身

>> c.count

10

>>C.count +==100

>> a.count 

100

>> b.count 

100

>> c.count    # c的count属性已经覆盖了C的count属性

10


如果属性和方法的名字 相同时,方法会被属性覆盖。

class C:

       def x(self): 

             print 'x-man'

>> c = C()

>> c.x()

x-man

>> c.x = 1  ###### python 的变量赋值不需要 声明

>> c.x

1

>> c.x()

报错,属性c.x已经将 c.x()覆盖了。

类 少吃多餐。不要试图在一个类中定义所有想到的属性和方法, 尽量利用类的组合和继承

属性名用名词;

方法名用动词。

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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,080评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,802评论 18 399
  • 苹果官方文档翻译 《Objective-C语言编程》(Programming with Objective-C) ...
    fever105阅读 25,965评论 19 130
  • 一个有追求的歌手(或企划团队),在已经做出一张成熟稳重、又具生命力的专辑之后,其下一步会是怎样走?或许可以...
    PandaPandaGo阅读 1,055评论 0 0
  • 我今儿个 专门履行承诺 上这来抱怨了 我想我有病 或许是属于喵类的蛇精质 其实我有些讨厌喵 有次我问个男孩 让他猜...
    陈逗逗阅读 245评论 0 0