zoukankan      html  css  js  c++  java
  • Python类变量和实例变量

    class TestClass(object):
        val1 = 100  #类变量


        def __init__(self):
            self.val2 = 200  #实例变量

        def fcn(self, val=400):
            val3 = 300  #局部变量
            self.val4 = val
            self.val5 = 500


    inst1 = TestClass()

    inst2 = TestClass()

     

    print TestClass.val1 # 100

    print inst1.val1   # 100

     

    inst1.val1 = 1000 

    print inst1.val1   # 1000

    print TestClass.val1 # 100

     

    TestClass.val1 =2000

    print inst1.val1   # 1000

    print TestClass.val1 # 2000

     

    print inst2.val1   # 2000  

     

    inst3 = TestClass()

    print inst3.val1   # 2000

     

    类本身拥有自己的类变量(保存在内存),当一个TestClass类的对象被构造时,会将当前类变量拷贝一份给这个对象,当前类变量的值是多少,这个对象拷贝得到的类变量的值就是多少;

    通过对象来修改类变量,并不会影响其他对象的类变量的值,更不会影响类本身所拥有的那个类变量的值;

    只有类自己才能改变类本身拥有的类变量的值

    在类定义之后,可以通过类名动态添加类数据属性,新增的类属性也被类和所有实例共有;

    实例数据属性只能通过实例访问;

    在实例生成后,还可以动态添加实例数据属性,但是这些实例数据属性只属于该实例;

     

  • 相关阅读:
    程序员应该看的书
    linux下grep命令详解
    apache基本配置
    shell脚本从windows下发送到linux下运行失败的问题
    nginx服务器的安装和配置基础
    linux下ps命令用法
    apache的python部署
    《我刀刻我心——关羽往事》新书发布会在京举行
    C++图书中的王者
    C++应用程序性能优化
  • 原文地址:https://www.cnblogs.com/EmptyRabbit/p/7679655.html
Copyright © 2011-2022 走看看