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

    类变量紧接在类名后面定义,相当于java和c++的static变量

    实例变量在__init__里定义,相当于java和c++的普通变量

    在 Java 中,静态变量 (在 Python 中叫类属性) 和实例变量 (在 Python 中叫数据属性) 两者都是紧跟在类定义之后定义的 (一个有 static 关键字,一个没有)。在 Python 中,只有类属性可以定义在这里,数据属性定义在 __init__ 方法中。

    类属性可以作为类级别的常量来使用 (这就是为什么我们在 MP3FileInfo 中使用它们),但是它们不是真正的常量。你也可以修改它们。

    注意
    在 Python 中没有常量。如果你试图努力的话什么都可以改变。这一点满足 Python 的核心原则之一:坏的行为应该被克服而不是被取缔。如果你真正想改变 None 的值,也可以做到,但当无法调试的时候别来找我。

    >>> class test:
             count = 0;类变量
            def __init__(self, c):
                  self.count = c; 实例变量
                 self.__class__.count = self.__class__.count + 1;

    >>> a = test(3)
    >>> a.count
    3
    >>> test.count
    1
    >>> b = test(-1)
    >>> b.count
    -1
    >>> test.count
    2

    可以参考:http://woodpecker.org.cn/diveintopython/object_oriented_framework/class_attributes.html

     
  • 相关阅读:
    Sphinx Search 学习 (一)
    求两个字符串最长子串的LCS算法 C语言实现(简短的实现函数)
    DPDK17.02入门手册
    DPDK2.1开发者手册4-7
    DPDK2.1开发者手册3-4
    DPDK2.1开发者手册1-2
    DPDK2.1 linux上开发入门手册
    深度优先搜索-linux上浅显易懂的例子
    多线程的电影
    数据对齐与代码优化笔记
  • 原文地址:https://www.cnblogs.com/youxin/p/3083468.html
Copyright © 2011-2022 走看看