python@staticmethod,@staticmethod是什么函数
说到staticmethod,有些朋友不知道怎么用,但是如果说的是static method,我相信大家都会记住相关的知识点。毕竟大家对英文名字都不是很敏感,staticmethod也是面向对象中三大调用方法之一,需要我们所有python初学者都掌握和使用。在这里,我们将进一步探讨在python中是否需要使用参数来调用静态方法。
1.静态方法staticmethod
定义:使用装饰器@staticmethod。参数可选,不带“self”和“cls”参数,但方法体中不能使用类或实例的任何属性和方法;
调用:实例对象和类对象都可以被调用。
2.类中的普通方法实际上可以由类或类的实例对象直接调用,但当实例对象调用时,它是要求方法至少有一个参数,调用时,实例对象本身将被传递给第一个参数。
班级学生(对象):
def__init__(self,name):
self.name=name
defsayHello(lang):
打印(语言)
iflang==en:
打印(欢迎!)
else:
打印(“你好!”)
学生。说你好
function student . sayhelloat0x 02 AC 7810
a=学生(鲍勃)
a .说你好
boundmethodstudent . sayhelloof _ _ main _ _ . studentobjectat0x 02 ad 03 f 0
当调用Student.sayHello(en)#类时,会将 en 传递给lang参数。
半方
欢迎光临!
A.当调用sayhello () #类实例对象时,对象本身会自动传递给lang参数,该参数无法再被接收。
_ _ main _ _ . studentobjectat0x 02 ad 03 f 0
你好!
a . say hello( en )trace back(mostrecentcalllast): file py shell # 7 ,第1行,in modulea . say hello( en )type error : say hello()取1 positional arguments但给定2
下面是python中调用staticmethod的一些方法。需要注意的是,调用实例对象时,一定不能忽略参数的问题。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。