class_static method 和classmethod
Posted zly9527
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了class_static method 和classmethod相关的知识,希望对你有一定的参考价值。
classmethod
当一个一方法只涉及到静态属性的时候,就应该使用classmethod。
它可以将一个方法变成一个类中的方法。这个方法就可以直接被类调用,而不需要依托于对象。
class Classmethod_Demo(): role = ‘dog‘ @classmethod#把下面的fuc方法变为了类的方法。 def func(cls): print(cls.role) Classmethod_Demo.func()
staticmethod
在完全面向对象的程序中,如果一个函数即和对象也会函数没有关系。就可以使用staticmethod将这个函数变成一个静态方法。
class login: def __init__(self,name,password): self.name = name self.key = password def push(self): pass @staticmethod def get(): name = input("请输入名字") password = input("请输入密码") login(name,password) login.get()
类方法和静态方法都是类调用的。
但是对象也是可以调用类方法和静态方法。但是一般情况下,推荐使用类方法。
类方法 有一个默认参数 cls。代表这个类 cls
静态方法没有默认的参数。
以上是关于class_static method 和classmethod的主要内容,如果未能解决你的问题,请参考以下文章
Groovy编译时元编程 ( AST 语法树分析 | ClassNode 根节点 | 方法 Methods 节点 | 字段 Fields 节点 | 属性 Properties 节点 )