检查字符串首字母是否大写

42 投票
3 回答
98416 浏览
提问于 2025-04-17 01:50

我想写一个函数,检查字符串的第一个字母是否是大写字母。到目前为止,我写了这个:

def is_lowercase(word):
    if word[0] in range string.ascii_lowercase:
        return True
    else:
        return False

但是当我尝试运行它时,出现了这个错误:

    if word[0] in range string.ascii_lowercase
                             ^
SyntaxError: invalid syntax

有人能帮我看看我哪里出错了吗?

3 个回答

-1

这个语法错误是因为你需要加上括号:

range(string.ascii_lowercase)

但实际上你不应该使用range。其实很简单:

if word[0] in string.ascii_lowercase
36

这是字符串的内置功能:

word = "Hello"
word.istitle() # True

但要注意,str.istitle 是检查字符串中每一个单词是否都是首字母大写的,所以这可能会让你感到意外:

"Hello world".istitle() # returns False!

如果你只想检查字符串的第一个字符,可以使用这个:

word = "Hello world"
word[0].isupper() # True
83

为什么不使用 str.isupper() 呢?

In [2]: word = 'asdf'   
In [3]: word[0].isupper()
Out[3]: False

In [4]: word = 'Asdf'   
In [5]: word[0].isupper()
Out[5]: True

撰写回答