关于类中的方法问题
在一个类中,我们假如定义一方法run : 如果分三种不同方式来定义
1. def run (self)
2. @classmethod
def run(cls)
3. @staticmethod
def run(self)
这三种有什么区别,在用法有什么注意点。好像三种情况下,都不需要实例化类,都可以通过 类名. run 来调用
20
收起
正在回答
1回答
同学你好,第一种写法是需要实例化类的,不能直接用类名.run来调用:
第二种写法是将方法定义为类方法,可以直接类名.方法名()使用。
第三种写法是将方法定义为静态函数,静态方法只是名义上归属类管理,但是不能使用类变量和实例变量,该函数不传入self或者cls,所以不能访问类属性和实例属性。
如果我的回答解决了您的疑惑,请采纳,祝学习愉快~~~~
Python全栈工程师2020
- 参与学习 人
- 提交作业 5211 份
- 解答问题 2433 个
Facebook曾声称“只招全栈工程师”!全栈用人需求猛增,市面人才紧缺。 0基础进击Python全栈开发,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星