python 静态变量 静态方法 简介

目录

一、静态变量和静态方法

二、静态变量示例

三、静态方法


一、静态变量和静态方法

1、静态变量和静态方法都属于类的静态成员,它们与普通的成员变量和成员方法不同,静态变量和静态方法只属于定义它们的类,而不属于某一个对象。
2、静态变量和静态方法都可以通过类名和对象进行访问。

二、静态变量示例

class Staticmenthod:

    count = 0 #静态变量,不需要显示的声明

    def __init__(self):
        Staticmenthod.count += 1

    def __del__(self):
        Staticmenthod.count -= 1

    sMenthod = Staticmenthod() #创建对象实例

    sMenthod.count += 1 #通过对象实例操作静态变量

    print(“sMenthod:%d”%(sMenthod.count)) #通过对象实例调用静态变量
    print(“Staticmenthod:%d”%(Staticmenthod.count)) #通过类名调用静态变量

运行结果如下:


通过上面的测试结果可以看出通过对象实例访问静态变量和通过类名访问静态变量的结果是不一样的,由此也证明了通过对象访问实例和通过类名访问实例是互相不干扰的。

三、静态方法

1、静态方法相关描述
1》、静态方法中不需要传入self参数,因此无法访问在静态方法中访问静态实例变量。
2》、静态方法中不可以直接访问类的静态变量,但可以通过类名引用静态变量。
3》、可以通过装饰符定义静态变量。

2、静态方法示例

class StaticFunc:
    str = “this is static variable!”

    @staticmethod
    def static_func():
        print("this is static function!")

    StaticFunc.static_func()

    sFunc = StaticFunc() sFunc.static_func()

    print(StaticFunc.str)

运行结果如下:


通过结果分析可以知道:通过对象名调用静态方法和通过类名调用静态方法的结果是没有什么区别的。
 

 

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...