python静态变量和静态方法

本文介绍了Python中的静态变量和静态方法,强调它们作为类的成员而非对象成员的特性。通过示例展示了静态变量如何通过类名或对象访问,并通过运行结果证明两种方式互不干扰。同时,解释了静态方法的特点,包括无需self参数,不能直接访问实例变量,但可以通过类名引用静态变量。最后提供了一个静态方法的示例,验证了通过对象或类名调用静态方法结果相同。
摘要由CSDN通过智能技术生成

一、静态变量和静态方法

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)

运行结果如下:
在这里插入图片描述

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

说明:如有错误,欢迎指正。。。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值