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类的对象被构造时,会将当前类变量拷贝一份给这个对象,当前类变量的值是多少,这个对象拷贝得到的类变量的值就是多少;

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

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

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

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

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

     

  • 相关阅读:
    计算机学习的网站、常用软件
    c语言标识符
    Git报错
    福尔摩斯的约会
    怎样判断一个单链表是否有环?
    中成药的合理使用--风寒感冒
    使用vscode打造python开发环境
    AIDA64 Extreme 6.10.5200 序列号
    VMware Workstation Pro 15密钥及下载地址
    centos 一键安装 Aria2 &管理脚本
  • 原文地址:https://www.cnblogs.com/EmptyRabbit/p/7679655.html
Copyright © 2011-2022 走看看