在python之中,静态方法和类方法都是在一个类之中通过修饰符去定义的函数 。而它们二者之间在调用的时候都是可以通过类名或者是类的对象名称去调用的,但是静态方法和类方法直接还是有着一定的区别的 。
文章插图
1.静态方法和类方法所使用的的修饰符不一样,这是它们之间最主要的区别 。静态方法使用的修饰符是@staticmethod,而类方法所使用的修饰符是@classmethod,代码示例如下:
class Bird: @classmethod def fly (cls): print('类方法fly: ', cls) @staticmethod def info (p): print('静态方法info: ', p)2.调用的机制不同,在调用一个类方法的时候会自动的绑定第一个参数,也就是类本身到这个类方法之中 。但是在调用静态方法的时候就需要去手动的指定这个方法内的参数是哪一个,因为它不会自动的去绑定 。
3.类方法的第一个参数必须为类对象,也就是说在类方法只有一个参数的情况下是无需去传递参数的,在有多个参数的情况下传进去的实际参数在去掉第一个参数后会按照顺序去传递 。而静态方法则需要有多少个参数就传递多少个实参进去,否则会发生报错 。
总的来说,静态方法和类方法之间最主要的区别就在于定义时使用的修饰符是不一样的,进一步区分的话就是函数参数的传递机制是不一样的 。
【Python静态方法和类方法区别在哪?关键在于这几点】以上就是python中静态方法和类方法直接的区别介绍了,希望对你有所帮助 。
推荐阅读
- Python和Anaconda的区别是什么?这几点比较关键
- python怎么查看变量类型?这篇文章教给你两个方法
- Python中replace函数的作用是什么?replace函数怎么用
- Python复数该如何去计算?Python复数如何求解
- mysql为什么无法访问?这两种情况的解决方法来了
- python中input函数怎样输入两行?这个方法你一定要看
- python文件如何修改?这篇文章值得你阅读
- python中列表如何去除重复?这个方法一定要学会
- 淘宝做单金额要大吗?方法是什么?
- shopee选品的方法和技巧介绍,分别是什么?