static method python(在python中调用staticmethod用到参数)
导读:提起staticmethod...
提起staticmethod有些小伙伴不会使用 ,但如果我们说的是静态方法 ,相信就想起了相关的知识点了 。毕竟大家对英文名称上不是很敏感 ,静态方法也是面向对象中三个调用方法之一 ,需要我们python初学者每个人都能掌握和运用 ,下面就在python中调用staticmethod是否需要用到参数的问题进一步探究 。
1.静态方法staticmethod
定义:使用装饰器@staticmethod 。参数随意 ,没有“self ”和“cls ”参数 ,但是方法体中不能使用类或实例的任何属性和方法;
调用:实例对象和类对象都可以调用 。
2.类中普通的方法 ,实际上既可以被类直接调用也可以被类的实例对象调用 ,但是被实例对象调用的时候 ,要求方法至少有一个参数 ,而且调用时会将实例对象本身传给第一个参数 。
>>>classStudent(object): def__init__(self,name): self.name=name defsayHello(lang): print(lang) iflang==en: print(Welcome!) else: print(你好!) >>>Student.sayHello <functionStudent.sayHelloat0x02AC7810> >>>a=Student(Bob) >>>a.sayHello <boundmethodStudent.sayHelloof<__main__.Studentobjectat0x02AD03F0>> >>>Student.sayHello(en)#类调用的时候 ,将en传给了lang参数 en Welcome! >>>a.sayHello()#类实例对象调用的时候,将对象本身自动传给了lang参数 ,不能再接收参数 <__main__.Studentobjectat0x02AD03F0> 你好! >>>a.sayHello(en)Traceback(mostrecentcalllast):File"<pyshell#7>",line1,in<module>a.sayHello(en)TypeError:sayHello()takes1positionalargumentbut2weregiven创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!