这里有更多的上下文,在python中,你怎么能够创建这个效果?是否有可能在python中调用带有可变函数的模块?
import random
variable = 'randint'
random.[variable](1,3)
有什么办法可以为此效果编写代码吗?我在{if}块的加载之外没有发现任何东西。
谢谢!
这里有更多的上下文,在python中,你怎么能够创建这个效果?是否有可能在python中调用带有可变函数的模块?
import random
variable = 'randint'
random.[variable](1,3)
有什么办法可以为此效果编写代码吗?我在{if}块的加载之外没有发现任何东西。
谢谢!
可以使用getattr
内置:
>>> import random
>>> variable = 'randint'
>>> getattr(random, variable)(1, 3)
3
>>>
从docs:
GETATTR(对象名称[,默认值])
返回的命名值对象的属性。名称必须是字符串。如果 字符串是对象属性之一的名称,则 结果是该属性的值。例如,getattr(x, 'foobar')等同于x.foobar。如果指定的属性不存在 ,则返回默认值(如果提供),否则引发AttributeError 。
只是用getattr
的一种替代方案:
In [141]: random.__dict__['randint'](1,3)
Out[141]: 3
谢谢,这对我正在处理的其他内容也可能有用。 – user3361459
谢谢,太清除了我的getattr函数的知识。 – user3361459