我在用Python将字符串改为大写时遇到了问题。在我的研究中,我得到了string.ascii_capital,但它不起作用。

以下代码:

 >>s = 'sdsd'
 >>s.ascii_uppercase

给出以下错误消息:

Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: 'str' object has no attribute 'ascii_uppercase'

我的问题是:如何在Python中将字符串转换为大写?


当前回答

对于简单字符串操作的问题,dir内置函数非常有用。它提供了参数的方法列表,例如,dir(s)返回包含upper的列表。

其他回答

s = 'sdsd'
print (s.upper())
upper = raw_input('type in something lowercase.')
lower = raw_input('type in the same thing caps lock.')
print upper.upper()
print lower.lower()

要获取字符串的大写版本,可以使用str.upper:

s = 'sdsd'
s.upper()
#=> 'SDSD'

另一方面,string.ascii_capital是一个包含所有大写ascii字母的字符串:

import string
string.ascii_uppercase
#=> 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

用于从小写到大写仅使用

"string".upper()

其中“string”是要转换为大写的字符串

对于这个问题,它会这样:

s.upper()

用于从大写字符串变为小写仅使用

"string".lower()

其中“string”是要转换为小写的字符串

对于这个问题,它会这样:

s.lower()

如果要使整个字符串变量使用

s="sadf"
# sadf

s=s.upper()
# SADF

使用str.upper():

>>> s = 'sdsd'
>>> s.upper()
'SDSD'

请参见字符串方法。

用于将句子中每个单词的首字母转换为大写

s = 'this is a sentence'

str.title(s)

>>> 'This Is A Sentence'