python static_带你了解Python的静态方法

本文探讨了Python中的静态方法,解释了Python2与Python3中静态方法的区别,以及它们与普通函数、类方法的关系。通过示例说明静态方法的使用场景,并强调在Python3中即使不使用@staticmethod装饰器,函数也可以作为静态方法调用,但推荐使用装饰器以遵循最佳实践。
摘要由CSDN通过智能技术生成

原标题:带你了解Python的静态方法

Python静态方法

文章首发于 微信公众号:Python编程时光

这个标题「静态方法其实暗藏玄机」其实只是该文章的一个知识点。或许有些标题党,但没有关系,我相信有不少人对此并没有深入研究他们,不信我问你三个问题,你看能否答上来。

1、Python2.x和3.x中,函数和方法的区分有什么不同?

2、有了类/实例方法和普通函数,为什么还会有静态方法?

3、Python3.x 中,静态方法有几种写法?

带着这三个问题,你可以尝试在下文中寻找答案。

在 Python 2 中的函数和方法的区别,十分清晰,很好分辨。但在 Python3中,我却发现完全又是另一套准则。

首先先来 Python2 的(以下在 Python2.7中测试通过)

可以得出结论:

1、普通函数(未定位在类里),都是函数。

2、静态方法(@staticmethod),都是函数。

3、类方法(@classmethod),都是方法。

4、实例方法(首参数为self且非静态、非类方法的),都是方法。

你一定想说,类方法和实例方法,是方法没错呀,毕竟名字本身就有方法,普通函数是函数,我也理解呀。那静态方法,为什么不是方法而是函数呢?

名字只是一个外在的表面称呼,你能说「赵铁男」就一定是汉子吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值