在 Ruby 中,我可以说:
def get_connection
db = connect_to_db()
yield
db.close()
end
然后调用它
get_connection do
# action1.....
# action2.....
# action3.....
end
在 Python 中我不得不说
def get_connection(code_block):
db = connect_to_db()
code_block()
db.close()
get_connection(method1)
def method1():
# action1.....
# action2.....
# action3.....
这不方便,因为我必须创建一个额外的method1
. 请注意,这method1
可能很大。有没有办法在 Python 中模拟 Ruby 的匿名块?