Art*_*are 5 python class anonymous-class
我经常有一些简单的类,我只想要一个实例。作为一个简单的例子:
import datetime
import sys
class PS1(object):
def __repr__(self):
now = datetime.datetime.now()
return str(now.strftime("%H:%M:%S"))
sys.ps1 = PS1()
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以将定义和实例化为一个步骤,并获得相同的结果?
再举一个例子,就像一个简单易懂的东西一样。
class Example(object):
def methodOne(self, a, b):
return a + b
def methodTwo(self, a, b):
return a * b
example = Example()
Run Code Online (Sandbox Code Playgroud)
我四处搜寻,却一无所获(很多人乱扔这些单词one-off,anonymous但似乎没人在谈论我是同一件事)。我试过了,但是没有用:
example = class(object):
def methodOne(self, a, b):
return a + b
def methodTwo(self, a, b):
return a * b
Run Code Online (Sandbox Code Playgroud)
我意识到我没有太多收获,只是我不必输入一行内容,而在我的命名空间中少了几行,所以我知道这是否不存在。
我想你不会经常看到这个,因为它真的很难读,但是......
sys.ps1 = type('PS1', (object,), {'__repr__': lambda self: datetime.datetime.now().strftime('%H:%M:%S')})()
Run Code Online (Sandbox Code Playgroud)
会在这里做的伎俩...
我使用type动态创建一个类(参数是名称、基类、类字典)。__repr__在这种情况下,类字典只包含一个函数。
希望我们能同意完整格式更容易理解和使用;-)。
| 归档时间: |
|
| 查看次数: |
690 次 |
| 最近记录: |