美文网首页
Python中的静态成员变量

Python中的静态成员变量

作者: 木兮家先生 | 来源:发表于2017-01-03 15:38 被阅读1811次

python 也可以定义静态成员变量,就是类的变量。

注意python的静态成员变量只能通过 类.变量名 的形式获取

看下面例子:

class ClassName:
    """docstring for ClassName"""
    arg=0
    def __init__(self, arg):
        self.arg = arg

obj = ClassName(2)
print(obj.arg)
print(ClassName.arg)

输出结果:

2
0
[Finished in 0.1s]

说明,通过 Object.var 和ClassName.var 访问的并不是同一个数据。上例中初始化函数改变的是self.arg这个变量,self就相当于Object 。arg和self.arg本身并不是一个变量。在Python的成员函数中访问arg的正确形式应该是ClassName.arg 。
见下例:

class ClassName:
    """docstring for ClassName"""
    arg=0
    def __init__(self, arg):
        ClassName.arg = arg

obj = ClassName(2)
print(obj.arg)
print(ClassName.arg)

输出:

2
2
[Finished in 0.1s]

静态变量的用处:

class ClassName:
    """docstring for ClassName"""
    COUNT=0
    def __init__(self, arg):
        self.arg = arg
        ClassName.COUNT+=1

obj1 = ClassName(1)
obj2 = ClassName(2)
obj3 = ClassName(3)
print(ClassName.COUNT)
# 输出 3

相关文章

  • Python中的静态成员变量

    python 也可以定义静态成员变量,就是类的变量。 注意python的静态成员变量只能通过 类.变量名 的形式获...

  • C++中的成员变量和成员函数

    C++中的类有两个成分: (1)成员变量 成员变量按照作用域分为静态成员变量和非静态成员变量,C++中成员变量的默...

  • C++中的静态成员

    静态成员变量 在C++中可以定义静态成员变量静态成员变量属于整个类所有静态成员变量的生命期不依赖于任何对象可以通过...

  • C++ 类和对象-静态成员(四)(7)

    1. 静态成员 1.1 静态成员变量 在一个类中,若将一个成员变量声明为static,这种成员称为静态成员变量。与...

  • static静态成员变量、成员函数的作用

      数据成员可以分为静态变量、非静态变量两种。  静态成员:静态类中的成员加入static修饰符,即是静态成员,可...

  • C++ 编程技巧与规范(一)

    静态对象的探讨 类中静态成员变量 静态成员变量,需要先声明,然后再定义。如果没有使用到该静态成员变量,则可以不用定...

  • Java学习笔记(三):变量的作用范围

    成员变量 在类体中定义的变量称为成员变量,成员变量又分为静态变量和示例变量;要声明一个成员变量为静态变量,需要在其...

  • C++——静态成员函数与静态成员变量

    静态成员函数与静态成员变量使用static进行定义。 静态成员函数和静态成员变量其实就是全局函数与全局变量。 静态...

  • C++——静态成员函数与静态成员变量

    静态成员函数与静态成员变量使用static进行定义。 静态成员函数和静态成员变量其实就是全局函数与全局变量。 静态...

  • 四、JNI-成员和方法

    成员 方法 #1. 成员 Java中成员变量分为普通成员变量和静态成员变量。普通成员变量也称为类实例成员变量,所有...

网友评论

      本文标题: Python中的静态成员变量

      本文链接:https://www.haomeiwen.com/subject/jkhnvttx.html