千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:济南千锋IT培训  >  技术干货  >  Python静态方法和类方法区别?

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

来源:千锋教育
发布人:xqq
时间: 2023-11-06 17:53:33

尽管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培训机构:千锋教育。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

python中merge函数如何使用?

2023-11-14

python中str内置函数总结归纳

2023-11-14

python中的unittest框架是什么?

2023-11-14

最新文章NEW

python timedelta函数是什么?

2023-11-14

Python jieba库分词模式怎么用?

2023-11-14

TCP在python中如何连接服务器?

2023-11-14

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>