为什么 isalpha() 不能识别字符串中的字母?

Why isalpha() doesn't recognize a letter in a string?

我是 python 的新手,我在使用 isaplha() 函数时遇到了一些问题。我想检查变量中的某些字符是否是字母。我实现了一个遍历所有字符并检查它们是否为字母的 for 循环。

variable = '23 Uhr'
for character in variable:           
    is_letter = variable.isalpha()  
    print(character, is_letter) 

问题是它不区分字母和数字,每个字符都给我 'False' 作为输出(即使它实际上是一个字母!)。我也试过用isdigit()函数来验证它是否可以区分数字,而且在这种情况下它总是returns我'False'。我认为这是一个与变量存储方式有关的问题。我使用的值确实是更大数据框的一部分,但是当我使用 type() 函数时,它告诉我这是 class 字符串的一部分。我不知道如何解决这个问题。 谢谢!

您的代码存在逻辑错误。而不是

is_letter = variable.isalpha()

应该是

is_letter = character.isalpha()

工作代码:

>>> variable = '23 Uhr'
>>> for character in variable:
...     is_letter = character.isalpha()
...     print(character, is_letter)
... 
2 False
3 False
  False
U True
h True
r True