Python就將所有的英文單詞首字母變成大寫

摘要:

將英文單詞首字母變成大寫是一個古老的話題,很常用,也很簡單。不過如何用更簡單的方式批量完成這個工作,則有很多學問,不想來看看嗎!

將英文單詞首字母變成大寫是非常常用的文本操作,使用capitalize方法可以將一個英文單詞的首字母變成大寫。但如何將一段文本中所有英文單詞的首字母都變成大寫呢?

最容易想到的方法是將這些英文單詞拆成獨立的單詞,然後分別使用capitalize方法將這些英文單詞的首字母變成大寫,然後再將這些單詞連接起來,實現代碼如下:

s = 'The weather is really nice today, very suitable for an outing.'
 
 
arr = s.split()
for i in range(0, len(arr)):
 arr[i] = arr[i].capitalize()
s1 = " ".join(arr)
print(s1)

運行代碼看看效果:

The Weather Is Really Nice Today, Very Suitable For An Outing.

從這段代碼可以看出,使用瞭3個方法:split、capitalize和join。分別用來拆分字符串;將英文單詞首字母轉換為大寫;使用特定的分隔符(本例是空格)合並列表中的字符串。

不過這段代碼好麻煩,有沒有更簡單的方式呢?當然有,鐺鐺鐺!剛出鍋的代碼來瞭:

s = 'The weather is really nice today, very suitable for an outing.'
print(" ".join([word.capitalize() for word in s.split()])) # 隻用瞭一行代碼

夠酷吧,這裡隻用瞭一行代碼。其實這行代碼與前面的實現方法沒有本質的區別,隻是用瞭Python中通過for in語句生成列表的方式,將多行代碼簡化成瞭一行代碼,Python簡直太神奇瞭。

其實啊,如果要熟悉Python API,連一行代碼都不用寫,一個方法就解決瞭,這就是string.capwords方法,該方法屬於string模塊,所以需要先導入string模塊,代碼如下:

import string
s = 'The weather is really nice today, very suitable for an outing.'
print(string.capwords(s)) #將字符串中所有單詞首字母大寫

看看簡單不,別忙,還沒完呢!capwords方法的默認分隔符是空格,如果這些英文單詞用其他符號分隔,就需要使用capwords方法的第2個參數瞭,看下面的例子:

import string
s = 'The,weather,is,really,nice,today,very,suitable,for,an,outing.'
print(string.capwords(s, ',')) # 用逗號分隔的英文單詞

這段代碼使用capwords方法將由逗號(,)分隔的所有英文單詞的首字母轉換為大寫字母。運行結果如下:

The,Weather,Is,Really,Nice,Today,Very,Suitable,For,An,Outing.

另外,做一下預告,最近要推出一系列文章,專門介紹Python的核心API,本文是這一系列文章的第篇。掌握這些API的使用方法,可以讓我們少寫很多代碼,而且還會降低代碼的出錯幾率!

總結

到此這篇關於Python就將所有的英文單詞首字母變成大寫的文章就介紹到這瞭,更多相關Python英文單詞首字母大寫內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!