我不确定这是否是“良好的 python 实践”,但是否有可能,例如,定义一个可以执行以下操作的自定义文件对象:
myfile = myopen('myfile.txt')
with myfile:
write('Hello World!') #notice we don't put "myfile.write(..)" here!
即,文件上下文创建了一个函数“write()”,这样我们就不必键入 myfile.write(..) 等。它可以节省键入并在某些情况下使目的更清晰。例如:
myboard = ChessBoard()
with ChessBoard():
make_move("e4")
make_move("e5")
give_up()
与
myboard = ChessBoard()
with ChessBoard():
make_move("e4",board=myboard)
make_move("e5",board=myboard)
give_up(board=myboard)
问题是:我应该这样做吗?我该怎么做?我猜我必须以某种方式修改 globals()-dict,但这似乎是个坏主意..
编辑:好的,谢谢!我得到了多个好的答案,建议我不要这样做。所以我不会这样做:o)