您的位置: 网站首页> python面向对象> 当前文章
静态方法@staticmethod概念及使用场景
老董-我爱我家房产SEO2021-01-17165围观,145赞
1 静态方法使用装饰器@staticmethod。
2 静态方法是定义在类中的函数,但是没有self、cls这样的特殊参数,在静态方法中一般不涉对属性和方法的操作。
3 静态方法中的操作完全可以在类外用普通函数实现,但是为了便于维护有时候会把一些功能代码写在类中,让代码显得有“逻辑性和归属性”。
4 静态方法一般用类名调用,但是用对象进行调用并不会报错。
# -*- coding:utf-8 -*- class Person: def __init__(self,name): self.name = name def PaiYunZhang(self,num): print(f'排云掌,用{num}成功力') def FengShenTui(self,num): print(f'风神腿,踢出{num}米长') @staticmethod def say(): print('是时候表演真正的武功了') if __name__ == "__main__": Person.say() p = Person('老王') p.PaiYunZhang(6) p.FengShenTui(3)
是时候表演真正的武功了 排云掌,用6成功力 风神腿,踢出3米长
上述Person类中的say()方法可以直接写在类外,但是把一些相关操作“束缚”在类体内,这样会更便于维护。
每个人的思路不同,同样的东西,实现的逻辑过程不同,如下代码的写作思路可以看下。
# -*- coding:utf-8 -*- class Person: def __init__(self,name,max_num): self.name = name self.max_num = max_num def PaiYunZhang(self): Person.say(self.max_num) print(f'先打一套排云掌') @staticmethod def say(max_num): print(f'切记表演点到为止,最多用{max_num}成功力') if __name__ == "__main__": p = Person('老王',3) p.PaiYunZhang()
切记表演点到为止,最多用3成功力 先打一套排云掌
很赞哦!
python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群
上一篇:对象之间的交互组合实战
下一篇:继承基础概念及子类重写父类方法
相关文章
文章评论
-
静态方法@staticmethod概念及使用场景文章写得不错,值得赞赏