“使用input()
时,标准类型(python 3.6)似乎是string
,定义为整数的变量又改回了字符串。如何更改默认类型{{ 1}}来串起来?”
在为input()指定变量类型时可以使用,但不会将input()的默认设置更改为int。
input()
答案 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