“为什么input()将已定义的变量从整数更改为字符串类型?”

时间:2019-04-03 11:02:17

标签: python python-3.x

“使用input()时,标准类型(python 3.6)似乎是string,定义为整数的变量又改回了字符串。如何更改默认类型{{ 1}}来串起来?”

在为input()指定变量类型时可以使用,但不会将input()的默认设置更改为int。

input()

1 个答案:

答案 0 :(得分:2)

Python名称没有类型,它们绑定的对象具有类型。当重新绑定名称(通过分配)时,先前引用的对象的类型无关紧要;它具有新绑定对象具有的任何类型。由于input返回str,因此,每次给调用input的结果分配名称时,它就是str

如果要将其设置为int,则必须在完成后将调用包装在int构造函数中。您可能还想捕获异常,因此非数字输入只会再次询问,而不是使程序崩溃:

x = 0

while x != 3:
    try:
        x = int(input("continue input until number is 3"))
    except ValueError:
        pass