当有一个长函数时,如何仅在函数的一部分内限制变量的范围?我知道用多种语言可以用{}来做到这一点。如何在python中执行此操作?
我知道只有该部分的单独函数会将变量封装到其本地名称空间。但是对于一个长期的线性函数,许多人认为编写只调用一次的许多函数(以及名称)是没有意义的。
答案 0 :(得分:0)
一般来说,你不能。 Python只为模块(通常是文件),类和函数创建范围;变量只能在少数特殊情况下具有更有限的生命周期,例如Python 3中列表解析中的target_list
。在Perl中没有块级范围。
因此,您可能的解决方法是:
del
个变量。有趣的事实:接受Python的这种限制最终让我们摆脱Hy中的let
,因为没有办法让它像预期的那样工作。