如何区分数字和字母或符号?

How to differentiate between a number and a letter or sign?

如果我在字符串中有一个数字,我可以这样做:

x = "2"
x.isdigit()

我明白了。但是当我这样做时:

isinstance(x, str)

据我了解,这也会导致 True。

我现在的问题是如何判断它是字符还是数字?

为此使用 isalpha()

x = "2"
x.isalpha()

Returns False

isdigit 数字检查字符串中的每个字符并检查它是否是数字,换句话说,是否可以是数字,如果每个数字都是整数,则为真。 而 isinstance 主要检查您传递的值的数据类型。

x='2'
isinstance(x,integer)

因为 x 本身是一个字符串,所以 isinstance(x,str) return为真。 因此,要查找字符串是否包含数字或字符,只需使用 x.isdigit(),如果它是数字,它将始终 return 为真,否则为假。