python 类变量与实例变量,可变对象与不可变对象的实践

class E:
    s=‘‘
    d=[]
    def __init__(self):
        self.dd=[]
aa=E()
aa.d.append(‘abc‘)
aa.dd.append(‘abc‘)
aa.s+=‘abc‘
print(aa.d)
print(aa.dd)
print(aa.s)
print(‘=‘*20)
print(E.d)
print(E.s)
print(‘=‘*20)
aa=E()
aa.d.append(‘123‘)
aa.dd.append(‘123‘)
aa.s+=‘123‘
print(aa.d)
print(aa.dd)
print(aa.s)

输出:

D:\Python37\python.exe D:/study____/PIC/test_import/a/a.py
[‘abc‘]
[‘abc‘]
abc
====================
[‘abc‘]

====================
[‘abc‘, ‘123‘]
[‘123‘]
123

Process finished with exit code 0

结论:

可变对象:list dict set

不可变对象:tuple string int float bool

原文地址:https://www.cnblogs.com/bowanghou/p/11286859.html

时间: 2024-10-09 10:20:44

python 类变量与实例变量,可变对象与不可变对象的实践的相关文章

Python类变量和实例变量区别

深入理解python类的实例变量和类变量 Python变量的本质:被赋值1 普通python变量(非类相关变量)很容易理解,在被赋值后即变量存在,可读可写2 Python类的变量(类变量和实例对象变量)以某种方式在某地方被赋值,即存在,可被读写2.1 Python类变量被赋值     (1)类的设计里,             class里def外,通过变量名能被赋值             def里通过类对象即类名字的点运算变量名可被赋值      (2)程序里             通过类

Python类变量与实例变量及成员函数修饰方式说明(与Java定义方式进行类比)

Python类中的变量有类变量和实例变量之分. 类变量:变量绑定在类上,同一个类之间的共享变量,类比于Java中的静态变量static 公有变量定义 Java 的定义方式 class Test{ public static class_variable = "123" } Python3 定义方式 class Test: class_variable = "123" 私有变量定义 Java 的定义方式 class Test{ private static class

Python 类变量与实例变量的区别和用途

假设有一个类Eg: class Eg: n = 'abcd' def __init__(self,name): self.name = name 两个实例a和b: a = Eg('a') b = Eg('b') 那么name就是实例变量,n就是类变量.在生成实例的过程中,类变量存储在类的内存位置中,而实例变量存储在实例内存位置中. 此时,打印两个实例的n值,实例会从类的内存位置去取值,所以值都为abcd: print(a.n , b.n) >>abcd abcd 当在a的实例中修改n的赋值时,

python类变量和实例变量的区别

类变量:是为类服务的,类所有的实例都共享使用,在一个地方被改变,所有调用的地方变量值都改变.定义类时的写法为类名.变量名 实例变量:是在实例中生效的,每个实例变量的值都根据实例本身需求进行修改,不会影响其他实例,定义类时的写法为self.变量名 (1)定义一个类 class C: a = 0   #类变量 b = 0   #类变量 def __init__(self, flag): self.a = flag   #实例变量 C.a = 1         #类变量赋值 C.b = 1     

python 类变量和实例变量

实例的属性存储在实例的__dict__中,类属性和方法存储在类的__dict__中.查找属性时,先检查特性,然后实例的__dict__,然后类的__dict__,然后基类.都不存在就会抛出异常. print '***************************************************' class AA: count = 0 def __init__(self): pass def AddCount(self): print 'id -> self.__class__

Java中的类变量、实例变量、类方法、实例方法的区别

类变量:形如static int a; 顾名思义,类变量可以理解为类的变量,类变量在类加载的时候就已经给它分配了内存空间,不同于实例变量(int a; ),实例变量是在该类创建对象的时候分配内存的.并且,每创建一个对象,就会为该实例变量分配相应的内存空间,而类变量它不属于任何一个对象,它为所有对象所共享,所有对象的类变量占用相同的一处内存空间.调用类变量过程中,可以用 类名.类变量 也可以 对象名.类变量 来调用.类变量同于C/C++中接触的static变量,有记忆功能. 类方法:static 

python面向对象中类对象、实例对象、类变量、实例变量、类方法、实例方法、静态方法

1. 类对象和实例对象 Python中一切皆对象,Python类本身也是一种对象,类定义完成后,会在当前作用域中定义一个以类名为名字的命名空间.类对象具有以下两种操作: 可以通过"类名()"的方式实例化一个对象. 可以通过"类名.类属性"的方式来访问一个类属性. 如果说类时一种概念性的定义,是一种类别,那么实例对象就是对这一类别的具体化.实例化,即实例化对象是类对象实例化之后的产物. class Person:# 声明一个类对象 pass p1 = Person()

python——实例方法、静态方法、类方法、类变量和实例变量浅析

概述: 实例方法就是类的实例能够使用的方法. 静态方法是一种普通函数,就位于类定义的命名空间中,它不会对任何实例类型进行操作.使用装饰器@staticmethod定义静态方法.类对象和实例都可调用静态方法. 类方法是将类本身作为对象进行操作的方法.类方法使用@classmethod装饰器定义,其第一个参数是类,约定写为cls.类对象和实例都可以调用类方法. super用来执行父类中的函数. 类变量定义在类的定义之后,实例变量则是以为self.开头. 如何调用父类的构造函数:子类(派生类)并不会自

python中的实例方法、静态方法、类方法、类变量和实例变量

http://www.jb51.net/article/49402.htm 注:使用的是Python2.7. 一.实例方法 实例方法就是类的实例能够使用的方法.如下: 复制代码 代码如下: class Foo:    def __init__(self, name):        self.name = name    def hi(self):        print self.name if __name__ == '__main__':    foo01 = Foo('letian')