class S:
def __init__(self):
sess.do_something()
主要:
if __name__ == '__main__':
with Session() as sess:
s1 = S()
s1.do_something()
只要class S
在同一个文件中,以上代码即可工作。当类在单独的文件中时,它不起作用(NameError: name 'sess' is not defined
)。
这是预期的吗?
答案 0 :(得分:0)
您遇到的问题与with
语句无关。
您只是以错误的方式创建了一个类。
如果您想在课堂上使用do_something()
的{{1}}方法,则可以从中使用inherit:Session()
,也可以将class S(Session): ...
作为变量:
sess