gpt4 book ai didi

python - 如何将用户输入的(字符串)函数转换为数学模块

转载 作者:太空宇宙 更新时间:2023-11-03 15:44:19 26 4
gpt4 key购买 nike

除了我之前有帮助回答的问题之外,一个新的相关问题是:

如何将用户输入的超越函数“附加”到数学上。 python 可以以通常的方式使用前缀(math.user_fn)吗?抱歉,作为初学者,我不确定我所使用的精确术语,但我想我是在问在这种情况下如何更改对象类型?例如

v1 = input("Type a transcendental function e.g. 'sin' or 'exp': ")

这样我就可以计算出类似的东西:

math.v1(2.3) 

最佳答案

您无法以通常的方式(即点访问)执行此操作。您可以使用getattr获取它并当场调用它。事实上,math.v1 将对模块对象执行 __getattribute__ 调用,并查找名称不是 v1 值的属性> 而是字符串 'v1' 本身。

这会失败,并且没有办法改变它。

您应该选择getattr,这支持动态属性获取:

getattr(math, v1)(2.3)

它尝试获取名称等于v1值的属性,然后当场调用它。这是一个较短的版本:

func = getattr(math, v1)
func(2.3)

关于python - 如何将用户输入的(字符串)函数转换为数学模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41897605/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com