如何让python不用破折号计算数字变量



我需要将变量'3-123'传递给python中的方法,但如果我执行str(3-123),我将获得'-120'。尝试迭代,但我得到了一个错误,因为它是int

您只需传递字符串"3-123"。表达式str(3-123)告诉Python首先计算括号中的内容,这就是算术表达式3-123。该评估要求进行减法运算。

更新每个用户的评论

由于您刚刚从REST返回它,所以它已经是一个字符串了。您的问题似乎是正在构建一个要在SQL中求值的表达式字符串。在这种情况下,您需要在字符级别构建要发送到SQL的字符串。对于这一项,您可以用引号扩展3-123字符串:

from_rest = "3-123"   # In practice, this comes directly from your REST return value.
to_sql = '"' + from_rest + '"'

这就给您留下了一个包含字符串"3-123"的变量——七个字符,而不是原来的五个字符。

这就是你需要的吗?

最新更新