在Python中将运算符赋值给变量

在Python中将运算符赋值给变量,python,Python,我是Python的初学者,不知道如何将运算符赋值给变量 我已经读过了,但是我仍然不能解决我的问题 a=str(+) 这行代码给出了无效的语法错误 然而,a=input()在我们将运算符作为输入时完全可以正常工作。此运算符存储为字符串类型,因为无论您输入什么作为输入,输入函数都会将其转换为字符串 为什么str()不能将运算符存储为字符串,而input()可以执行相同的任务而不会出错?+不是任何类型的标识符或值;它是Python语法的一部分。您可能想要a=str(“+”)(或者干脆a=“+”) 输入

我是Python的初学者,不知道如何将运算符赋值给变量

我已经读过了,但是我仍然不能解决我的问题

a=str(+)
这行代码给出了无效的语法错误

然而,
a=input()
在我们将运算符作为输入时完全可以正常工作。此运算符存储为字符串类型,因为无论您输入什么作为输入,输入函数都会将其转换为字符串


为什么str()不能将运算符存储为字符串,而input()可以执行相同的任务而不会出错?

+
不是任何类型的标识符或值;它是Python语法的一部分。您可能想要
a=str(“+”)
(或者干脆
a=“+”

输入
不接受值;无论您在什么环境中运行,都会将击键转换为字符串,以便
输入
读取和返回


如果你想
a
成为一个可调用的函数,那么你可以使用
操作符。添加
,如@cricket_007的答案中所述(虽然没有通过
str
,但直接按照我对该答案的评论使用)。

+
不是任何类型的标识符或值;它是Python语法的一部分。您可能想要
a=str(“+”)
(或者干脆
a=“+”

输入
不接受值;无论您在什么环境中运行,都会将击键转换为字符串,以便
输入
读取和返回


如果你想
a
成为一个可调用的函数,那么你可以使用
操作符。添加
,如@cricket_007的答案中所述(虽然没有通过
str
,但根据我对该答案的评论直接使用)。

根据另一篇帖子,你必须这样做

import operator
a = operator.add
那里的答案只是在字典中查找


你没有给input()赋予操作符,你总是在输入和输出一个字符串,它可以是任何字符和符号的集合

根据另一篇文章,你必须这样做

import operator
a = operator.add
那里的答案只是在字典中查找


您没有为input()指定运算符,而是始终输入和输出字符串,可以是任何字符和符号的集合要添加到上述答案中,您可以将输入验证为整数:

while True:
    try:
       userInput = int(input('Enter a number:> '))       
    except ValueError:
       print("Not an integer! Try again.")
       continue
    else:
       return userInput 
       break 

要添加到上述答案中,您可以将输入验证为整数:

while True:
    try:
       userInput = int(input('Enter a number:> '))       
    except ValueError:
       print("Not an integer! Try again.")
       continue
    else:
       return userInput 
       break 

但是用户并没有提供操作符作为输入。用户给出的字符串“+”,恰好与加法运算符相似。这是一种情况。对于您的情况,您应该可以这样做:
a=“+”
,但用户没有提供运算符作为输入。用户给出的字符串“+”,恰好与加法运算符相似。这是一种东西。对于您的情况,您应该可以这样做:
a=“+”
我几乎可以肯定OP不想要
a='
,一个内置函数的字符串表示。
a=operator.add
,可能是有可能的。实际上,我正试图写一个函数来设计一个计算器,它以两个值和一个变量形式的运算符作为参数。该操作是根据收到的运算符对值执行的,但我无法将运算符存储在变量中。您可以只存储字符,然后比较并执行相应的操作。有几种方法可以处理它,我几乎可以肯定OP不需要内置函数的字符串表示形式
a=''
a=operator.add
,不过,这可能是一种可能性。实际上,我正试图编写一个函数来设计一个计算器,它以两个值和一个变量形式的运算符作为参数。该操作是根据收到的运算符对值执行的,但我无法将运算符存储在变量中。您可以只存储字符,然后比较并执行相应的操作。有几种方法可以处理它对str()的调用在这里没有任何作用——它传递了一个字符串并返回相同的stringTrue;对str()的调用在这里没有任何作用——它传递了一个字符串并返回相同的stringTrue;我会调整的。