2024-04-23 16:50:58 发布
网友
我有以下代码:
import m def f(m=None): if m is None: k = m.M() # I want this m to refer to the imported module, not the parameter
我更希望保持参数名和模块名相同。有没有一种方法可以明确地引用模块m?你知道吗
如果不介意只在导入模块中更改模块名称,可以执行以下操作:
import m as m_ def f(m=None): if m is None: k = m_.M()
python中的模块只是另一个对象,因此globals()-内置将正常工作:
globals()
import m def f(m=None): if m is None: k = globals()['m'].M()
如果您需要与通常的模块名称相同的参数以提高代码可读性,但可以允许为该范围临时重命名模块,则可以执行以下操作:
import m as _m def f(m=None): if m is None: k = _m.M()
不理想,但可能是你能得到的最接近的。你知道吗
如果不介意只在导入模块中更改模块名称,可以执行以下操作:
python中的模块只是另一个对象,因此
globals()
-内置将正常工作:如果您需要与通常的模块名称相同的参数以提高代码可读性,但可以允许为该范围临时重命名模块,则可以执行以下操作:
不理想,但可能是你能得到的最接近的。你知道吗
相关问题 更多 >
编程相关推荐