Python中类的定义其实就是执行代码块:

class cc:
a=0
print '+++++',
print a

会直接执行print语句而不是在实例化cc时执行。执行后会生成对应的类的命名空间。

可以用"类名.属性"来访问或者修改此空间的属性。如cc.a每次实例化一个对象就是继承上述属性。

class cc:
a=0
print '+++++',
print a
def init(self):
cc.a=cc.a+1#修改类的a,下一次实例化时a将发生改变 def init1(self):
self.a=self.a+1#修改自身的a,不影响类的a cc1=cc()
cc1.init()
print cc.a
print cc1.a
cc2=cc()
cc2.init1()
print cc.a
print cc2.a

比较如下代码:

class cc:
print '+++++',
def __init__(self):
self.a=1#创建时自动添加属性a c=cc()
print c.a
print cc.a#出错,cc没有属性a

也可以看出,类的命名空间中的属性实在第一次执行时生成的。

可以在类的定义中设置共享属性

Python 类的命名空间的更多相关文章

  1. python类:属性

    http://blog.csdn.net/pipisorry/article/details/50708616 Python 中的 property 属性 Python中有个很赞的概念,叫做prope ...

  2. 类的命名空间&组合

    类的命名空间◆类中的静态变量可以被类调用也可以被对象调用◆对不可变数据类型来说,类变量最好用类名操作 class Person: money = 0 mother = Person() father ...

  3. 九. Python基础(9)--命名空间, 作用域

    九. Python基础(9)--命名空间, 作用域 1 ● !a 与 not a 注意, C/C++可以用if !a表示if a == 0, 但是Python中只能用if not a来表示同样的意义. ...

  4. Python类对象

    python类对象 python类对象支持两种操作:属性引用和实例化. 属性引用 使用 Python 中所有属性引用所使用的标准语法: obj.name. 有效的属性名称是类对象被创建时存在于类命名空 ...

  5. python类学习以及mro--多继承属性查找机制

    版权声明:本文为博主原创文章,未经博主允许不得转载. 还记得什么是新式类和旧式类吗? Python中,一个class继承于object,或其bases class里面任意一个继承于object,这个c ...

  6. 学习python类

    类:Python 类提供了面向对象编程的所有基本特征: 允许多继承的类继承机制, 派生类可以重写它父类的任何方法, 一个方法可以调用父类中重名的方法. 对象可以包含任意数量和类型的数据成员. 作为模块 ...

  7. day23 01 类的命名空间

    day23  01 类的命名空间 一.初识面向对象复习 定义类: class 函数:方法 动态属性 变量:类属性 静态属性 过程: (1)_init_方法:初始化:def _init_(self,参数 ...

  8. python类相关总结(持续更新)

    __init__() 构造函数 __new__ () 在构造函数之前,用来创建对象的,返回值是一个对象,__init__指的是将__new__返回的对象作为self来传入函数中,后续参数两者都可以一样 ...

  9. python 类中方法总结 --- 实例方法、类方法、静态方法

    在python的类语法中,可以出现三种方法,具体如下: (1)实例方法 1)第一个参数必须是实例本身,一般使用[self]表示. 2)在实例方法中,可以通过[self]来操作实例属性,[类名]来操作类 ...

随机推荐

  1. npm install socket.io遇到的问题

    解决方法: 输入 npm install socket.io 前,先执行下面 npm config set proxy "http://yourip:port" 生产的npm-de ...

  2. 在filter中使用spring的service bean

    http://blog.csdn.net/godha/article/details/13025099

  3. jQuery(window) 和 jQuery(document)的区别

    jQuery(window).height()代表了当前可见区域的大小,而jQuery(document).height()则代表了整个文档的高度,可视具体情况使用

  4. HUST 1017 - Exact cover (Dancing Links 模板题)

    1017 - Exact cover 时间限制:15秒 内存限制:128兆 自定评测 5584 次提交 2975 次通过 题目描述 There is an N*M matrix with only 0 ...

  5. SecureCRT中文乱码解决已设置UTF-8

    查看服务器编码 查看linux的编码,修改为自己需要的,本文将已UTF-8为例进行说明.修改Linux服务器的配置文件:[root@iitshare ~]# vi /etc/sysconfig/i18 ...

  6. NSDate 刚刚、几分钟、几小时

    - (NSString *)minutesAgo { NSDateFormatter *fmt = [[NSDateFormatter alloc] init]; fmt.dateFormat = @ ...

  7. Thailand vs Soros

    | exchange rate | | Thailand | Soros | |---------------+---------+----------+---------| | | orgin | ...

  8. codeforces 742E (二分图着色)

    E. Arpa's overnight party and Mehrdad's silent entering Note that girls in Arpa's land are really at ...

  9. Struts2 验证框架 validation.xml 常用的验证规则

    validation.xml 的命名规则和放置路径: 文件名:<ActionClassName>-validation.xml <ActionClassName>就是要验证的A ...

  10. UITextField常用属性归纳:文本框样式、文字样式、键盘样式、左右视图样式、清除按钮设置等

    (1)可以根据需要设置文本框的样式(包括形状.边框颜色.背景等). (2)可以根据需要设置文字显示样式(包括输入密码时的密文显示.文字横向居中.纵向居中上下.输入的文字是否首席木大写.文字超过后是否缩 ...