猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
Python中的静态方法?
Python中的静态方法?
是否可以在Python中使用静态方法,这样我就可以在不初始化类的情况下调用它们,例如:
ClassName.StaticMethod ( )
莫回无
浏览 543
回答 3
3回答
汪汪一只猫
是的,使用静态法装饰师class MyClass(object): @staticmethod def the_static_method(x): print xMyClass.the_static_method(2) # outputs 2注意,一些代码可能使用定义静态方法的旧方法,使用staticmethod作为一种功能而不是装潢师。只有当您必须支持Python的古老版本(2.2和2.3)时,才应该使用它。class MyClass(object): def the_static_method(x): print x the_static_method = staticmethod(the_static_method)MyClass.the_static_method(2) # outputs 2这与第一个示例完全相同(使用@staticmethod),只是不使用漂亮的装饰语法最后,使用staticmethod()小心点!在Python中需要静态方法的情况很少,而且我曾多次看到它们使用单独的“顶级”函数会更清楚。以下是文件中的逐字记录::静态方法不接收隐式第一个参数。要声明静态方法,请使用以下成语:class C: @staticmethod def f(arg1, arg2, ...): ...@staticMethod表单是一个函数装饰师-参见函数定义关于细节。可以在类中调用它(如C.f())或实例(例如C().f())。除了它的类之外,实例将被忽略。Python中的静态方法与Java或C+中的方法相似。有关更高级的概念,请参见classmethod().有关静态方法的更多信息,请参阅标准类型层次结构.新版本2.2。在2.4版本中更改:添加了函数修饰器语法。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Python
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续