考虑一个简单的print
帮助程序方法 - 它旨在减少特定格式的输出结构的键入/混乱:
class MyClass(object):
def p(self, msg,o=None):
import datetime
omsg = ": %s" %repr(o) if o is not None else ""
print("[%s] %s%sn" %(str(datetime.datetime.now()).split('.')[0], msg, omsg))
让它简短/甜蜜的重点不是然后输入
self.p('Hello world')
但这是唯一的选择吗?
注意:我想在一个小团队中分发这个类 - 而不是将function
p()
添加到他们的命名空间中。
如果你在方法中的任何位置都没有使用self
,你可以用@staticmethod
装饰它,省略self
参数
https://docs.python.org/2/library/functions.html#staticmethod
class MyClass(object):
@staticmethod
def p(msg, o=None):
import datetime
omsg = ": %s" %repr(o) if o is not None else ""
print("[%s] %s%sn" %(str(datetime.datetime.now()).split('.')[0], msg, omsg))
您仍然可以在类的实例上通过其他方法中的self.p(...)
调用它
您也可以直接从MyClass.p(...)
调用它