这篇文章主要介绍了python中调用staticmethod是不是要用到参数,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
1.静态方法staticmethod
定义:使用装饰器@staticmethod。参数随意,没有“self”和“cls”参数,但是方法体中不能使用类或实例的任何属性和方法;
调用:实例对象和类对象都可以调用。
2.类中普通的方法,实际上既可以被类直接调用也可以被类的实例对象调用,但是被实例对象调用的时候,要求方法至少有一个参数,而且调用时会将实例对象本身传给第一个参数。
>>> class Student(object): def __init__(self,name): self.name = name def sayHello(lang): print(lang) if lang == 'en': print('Welcome!') else: print('你好!') >>> Student.sayHello <function Student.sayHello at 0x02AC7810> >>> a = Student('Bob') >>> a.sayHello <bound method Student.sayHello of <__main__.Student object at 0x02AD03F0>> >>> Student.sayHello('en') # 类调用的时候,将'en'传给了lang参数 en Welcome! >>> a.sayHello() # 类实例对象调用的时候,将对象本身自动传给了lang参数,不能再接收参数 <__main__.Student object at 0x02AD03F0> 你好! >>> a.sayHello('en') Traceback (most recent call last): File "<pyshell#7>", line 1, in <module> a.sayHello('en') TypeError: sayHello() takes 1 positional argument but 2 were given
感谢你能够认真阅读完这篇文章,希望小编分享python中调用staticmethod是不是要用到参数内容对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,遇到问题就找亿速云,详细的解决方法等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。