python中的类变量、实例变量

  类变量,是各个实例共享的资源,就像中央空调,只有一个,但每个房间(实例)均可享用。

实例变量,是每个实例各自分配使用的变量,每个房间(实例)都有一台空调,供自己使用。

class handle(object):
    instance_num = 100
    id = 0
    def __init__(self, id):
        self.id = id
        handle.instance_num = handle.instance_num - 1

if __name__ == ‘__main__‘:
    print handle.instance_num
    h1 = handle(001)
    print handle.instance_num
    h2 = handle(002)

    print h1.id , h1.instance_num    # 实例变量和类变量
    print h2.id , h2.instance_num
    print handle.id                  # 类变量
    print handle.instance_num        # 类变量
    print h1.__class__.id            # 类变量的另一种访问方式

时间: 2024-07-31 08:30:35

python中的类变量、实例变量的相关文章

浅析python中的类变量和对象变量

刚学python,学到了有关于类和对象的地方.对一个概念有点模糊,后来通过实践编码找到一定规律 在python中 class test(object): id=2 name='tt' list=['tt','dd'] def change(self,newA,new_id): self.id=new_id self.age=newA return self.age t1 = test() t1.change(21, 3) print t1.id #3 t2 = test() t2.age = 2

java中什么是实例变量

在类的声明中,属性是用变量来表示的.这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的.类的每个对象维护它自己的一份实例变量的副本. 实例变量:定义在类中但在任何方法之外.(New出来的均有初始化) 当一个对象被实例化之后,每个实例变量的值就跟着确定: 实例变量在对象创建的时候创建,在对象被销毁的时候销毁: 实例变量的值应该至少被一个方法.构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息: 访问修饰符可以修饰实例变量: 实例变量对于类中的方法.构造方法或者语

使用C语言为python编写动态模块(1)--从底层深度解析python中的对象以及变量

楔子 我们知道可以通过使用C语言编写动态链接库的方式来给python加速,但是方式是通过ctypes来加载,通过类CDLL将动态链接库加载进来得到一个对象之后,通过这个对象来调用动态链接库里面的函数.那么问题来了,我们可不可以使用C语言为python编写模块呢?然后在使用的时候不使用ctypes加载动态库的方式,而是通过python的关键字import进行加载. 答案是可以的,我们知道可以通过编写py文件的方式来得到一个模块,那么也可以使用C语言来编写C源文件,然后再通过python解释器进行编

oc 中四种实例变量的范围类型@[email protected]@[email protected]

To enforce the ability of an object to hide its data, the compiler limits the scope of instance variables—that is, limits their visibility within the program. 为了强制一个对象隐藏其数据,编译器限制实例变量范围以限制其在程序中的可见性 But to provide flexibility, it also lets you explicit

iOS中四种实例变量的范围类型@[email protected]@[email protected]

文档上记录是这样的 The Scope of Instance Variables To enforce the ability of an object to hide its data, the compiler limits the scope of instance variables—that is, limits their visibility within the program. 为了强制一个对象隐藏其数据,编译器限制实例变量范围以限制其在程序中的可见性 But to prov

Python中可选的环境变量设置

好记性不如烂笔头,看到Python Optional Variables这一块,把学习的东西记录下来 会写Java Hello World的同学一定知道如何设置环境变量,比如:JAVA_HOME,CLASSPATH等. Python中也一样有类似的环境变量,有一些还是可选的(比如:PYTHONPATH, PYTHONSTARTUP等) 设置PYTHONPATH 这个环境变量有什么用呢? 我们知道在导入模块时(比如:import some_module_name),Python需要在某些路径(即s

JVM存储位置分配——java中局部变量、实例变量和静态变量在方法区、栈内存、堆内存中的分配

Java中的变量根据不同的标准可以分为两类,以其引用的数据类型的不同来划分可分为“原始数据类型变量和引用数据类型变量”,以其作用范围的不同来区分可分为“局部变量,实例变量和静态变量”. 根据“Java中的变量与数据类型”中的介绍,“变量是在内存中分配的保留区域的名称.换句话说,它是一个内存位置的名称”,也就是说我们通过这个变量名字就可以找到一个指向这个变量所引用的数据的内存指针,根据变量的类型我们可以知道这个指针之后的几个字节里存储了这个变量所引用的数据. 所以,了解变量在方法区.栈内存.堆内存

ruby中的类实例变量和实例的实例变量

ruby中有实例变量这个语法,有点类似java的对象的属性,但是ruby中类也有实力变量, class Person @name = 'hello' def initialize(name,age) @name = name @age = age end def self.talk #类方法,类方法可以访问类的实力变量 puts "#{@name}" end def talk #实例方法,只能访问实例的实例变量 puts "#{@name}" end end p1

Python中的函数与变量

本节内容 函数的定义方法 函数功能 函数的返回值 函数的形参与实参 全局变量与局部变量 递归 函数的作用域 匿名函数lambda 函数式编程 常用内置函数 其他内置函数 函数 函数的定义方法 函数就相当于一个文件,这个文件有他特定的功能可以减少代码的重写 1 def 函数名 (参数): 2 "函数的注释" 3 函数体 4 return x 若命名了相同的函数名,则调用函数时下面的函数会覆盖掉上面的函数 函数的功能 1.代码重用 2.保持一致性,易维护 3.可扩展性 函数的返回值 1.返