全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货  >  详情

Python静态方法和类方法区别?

来源:千锋教育
发布人:xqq
2023-11-06

推荐

在线提问>>

尽管classmethod和staticmethod非常相似,但在用法上依然有一些明显的区别。classmethod必须有一个指向类对象的引用作为第一个参数,而staticmethod可以没有任何参数。

举个栗子:

classNum:

#普通方法:能用Num调用而不能用实例化对象调用

defone():

print('1')

#实例方法:能用实例化对象调用而不能用Num调用

deftwo(self):

print('2')

#静态方法:能用Num和实例化对象调用

@staticmethod

defthree():

print('3')

#类方法:第一个参数cls长什么样不重要,都是指Num类本身,调用时将Num类作为对象隐式地传入方法

@classmethod

defgo(cls):

cls.three()

Num.one()#1

#Num.two()#TypeError:two()missing1requiredpositionalargument:'self'

Num.three()#3

Num.go()#3

i=Num()

#i.one()#TypeError:one()takes0positionalargumentsbut1wasgiven

i.two()#2

i.three()#3

i.go()#3

以上内容为大家介绍了Python静态方法和类方法区别?希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。

相关文章

如何使用python中的add函数?

python中dir函数如何使用?

python中merge函数如何使用?

python中str内置函数总结归纳

python如何将九九乘法表写入到Excel?

开班信息 更多>>

课程名称
全部学科
咨询

HTML5大前端

Java分布式开发

Python数据分析

Linux运维+云计算

全栈软件测试

大数据+数据智能

智能物联网+嵌入式

网络安全

全链路UI/UE设计

Unity游戏开发

新媒体短视频直播电商

影视剪辑包装

游戏原画

    在线咨询 免费试学 教程领取