【发布时间】:2012-09-20 13:04:47
【问题描述】:
在python中我可以创建一个没有class语句的类:
MyClass = type('X', (object,), dict(a=1))
有没有办法创建一个没有'def'的函数? 就我所知……
d={} # func from string
exec'''\
def synthetics(s):
return s*s+1
''' in d
>>> d.keys()
['__builtins__', 'synthetics']
>>> d['synthetics']
<function synthetics at 0x00D09E70>
>>> foo = d['synthetics']
>>> foo(1)
2
【问题讨论】:
-
@eumiro -- :) 我期待更多的解决方法,但很好的选择。
-
但在 lambdas 中,你不能有赋值或
print语句等。
标签: python function python-internals