Python isdigit()的奇怪输出

Python isdigit()的奇怪输出,python,python-3.7,Python,Python 3.7,我有一个问题:当我“输入”诸如-10或-200之类的内容,并检查它是否为isdigit(),它将写入False。最奇怪的是,若我写int(number)(int(-10)也能用!)程序会打印数字。没有提出任何例外 number = input() res = number.isdigit() print(res) print(int(number)) #number: -10, res: False #number: 200, res: True #number: -10, output:

我有一个问题:当我“输入”诸如-10或-200之类的内容,并检查它是否为isdigit(),它将写入False。最奇怪的是,若我写int(number)(int(-10)也能用!)程序会打印数字。没有提出任何例外

number = input()
res = number.isdigit()
print(res)
print(int(number))

#number: -10, res: False
#number: 200, res: True

#number: -10, output: -10
#number: 200, output: 200

你能帮我吗?提前谢谢

如果字符串中的所有字符都是数字,isdigit()方法将返回True。如果不是,则返回False。减号不算作数字。

isDigit
正在查看减号,发现它不是数字。
isDigit
完全按照其名称的含义执行:它检查数字<代码>0-
9
是数字<代码>-不是数字。这是否回答了您的问题?