考虑一个简单的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%s\n" %(str(datetime.datetime.now()).split('.')[0], msg, omsg))
使它变短/变甜的重点是不然后输入
self.p('Hello world')
但这是唯一的选择吗?
注意:我想在一个小团队中分发此类 - 而不是在其命名空间中添加function
p()
。
答案 0 :(得分:1)
如果您未在方法中的任何位置使用self
,则可以使用@staticmethod
进行装饰,并省略self
arg
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%s\n" %(str(datetime.datetime.now()).split('.')[0], msg, omsg))
您仍然可以通过self.p(...)
在类
您也可以直接从MyClass.p(...)