Python 是否有方法从命名空间导入一组函数;作为「;什么东西(没有*)?
而不是定义Python 是否有方法从命名空间导入一组函数;作为「;什么东西(没有*)?,python,Python,而不是定义 from numpy import cos as cos from numpy import arccos as arccos 等等,我能做些类似的事情吗 trigfunctions = ('cos','arccos','sin','arcsin','tan','arctan') for method in trigfunctions: setattr(HERE,method,getattr(numpy,method)) 这里的是全局空间(或者可能是局部功能环境)?这将使
from numpy import cos as cos
from numpy import arccos as arccos
等等,我能做些类似的事情吗
trigfunctions = ('cos','arccos','sin','arcsin','tan','arctan')
for method in trigfunctions:
setattr(HERE,method,getattr(numpy,method))
这里的是全局空间(或者可能是局部功能环境)?这将使基于cos
、arccos
定义通用函数变得更容易,而无需指定名称空间,也无需从所需模块加载适当的函数(例如,如果numpy
不可用,math
)。我意识到,在非常普遍的情况下,这可能会导致错误,但在一些小的情况下,这将是有用的。如果您的意思是使用相同的名称,只需将作为
:
from numpy import cos, arccos, sin, arcsin, tan, arctan
除此之外,您还可以使用获取:
您还可以使用来引用当前模块。如果您的意思是使用相同的名称,只需将保留为
:
from numpy import cos, arccos, sin, arcsin, tan, arctan
除此之外,您还可以使用获取:
您还可以使用引用当前模块。您有问题吗?如果是,那是什么?它是。。。我能做一些像$CODE这样的事情吗,在哪里…’。你有问题吗?如果是,那是什么?它是。。。我可以做一些像$CODE,where…’这样的事情吗?但是为什么numpy.\uu dict\uuu[method]
而不是getattr(numpy,method)
?没有特别的原因;这只是做同样事情的另一种更直接的方式。考虑到Python文档中关于的注释,getattr
可能是两者中的佼佼者。感谢您的回复——是的,在这种情况下getattr似乎会更好。但是为什么numpy.\uuu dict\uuuu[method]
而不是getattr(numpy,method)
?没有特别的原因;这只是做同样事情的另一种更直接的方式。考虑到Python文档中关于的注释,getattr
可能是两者中较好的一个。感谢您的回复——是的,在这种情况下getattr似乎会更好。