python:有没有办法在with语句中获取代码

Guy*_*Guy 2 python with-statement

我希望这会奏效:

class A:
    def __enter__(self, code):
       print code

    def __exit__(..):
       pass
Run Code Online (Sandbox Code Playgroud)

然后:

with A():
   f()
   g()
Run Code Online (Sandbox Code Playgroud)

会打印:

f()
g()
Run Code Online (Sandbox Code Playgroud)

具体来说,我的目的是获取此代码并从中创建一个函数.所以我可以这样做:with runInThreads()或者with runManyTimesTillSuccess()......

nco*_*lan 6

以便携式,语言定义的方式,没有.但是,withhacks模块提供了几个CPython特定hackery的例子,可以让你做各种创造性的事情.

不过,这更适合玩游戏 - 函数和生成器仍然是在Python中使用可重用代码块的唯一官方方式.

  • 哦,伙计,我希望我从未见过这个问题.哇哇哇? (2认同)