「作者主頁」:士別三日wyx
「作者簡介」:CSDN top100、阿里云博客專家、華為云享專家、網(wǎng)絡(luò)安全領(lǐng)域優(yōu)質(zhì)創(chuàng)作者
「推薦專欄」:小白零基礎(chǔ)《Python入門到精通》
center() 可以使字符串「居中」,并在兩邊「填充」指定數(shù)量的新字符。
語法
string.center( width, fillchar )
參數(shù)
- width :(必選,整型)字符串的寬度
- fillchar :(可選,字符串類型)填充的字符,默認(rèn)填充空格
返回值
- 返回格式修改后的「新字符串」
實(shí)例:字符串居中并且兩邊空出來20個字符的寬度
print('Helo World'.center(20))
輸出:
1、指定字符串的寬度
寬度「大于」字符串「長度」時,會在兩邊空出來,比如字符串長度時6,寬度為8時,左右兩邊各空一個寬度;寬度為10時,左右兩邊各空兩個寬度,以此類推。如果寬度是「奇數(shù)」,就優(yōu)先空「左邊」。
print('123456'.center(8))
print('123456'.center(9))
print('123456'.center(10))
輸出:
寬度「小于」字符串「長度」時,兩邊不會空。
print('123456'.center(3))
print('123456'.center(5))
print('123456'.center(0))
輸出:
2、指定填充字符
只有設(shè)置的寬度「大于」字符串「長度」時,才會「填充」字符,否則無法填充;如果不指定填充字符,就默認(rèn)填充空格。
print('123456'.center(10, '-'))
輸出:
--123456--
如果設(shè)置的寬度「小于」字符串, center() 不會填充字符串,而是返回原字符串,我們打印一下轉(zhuǎn)換前、后的字符串「內(nèi)存地址」,可以發(fā)現(xiàn),是同一個變量。
str1 = '123456'
print(id(str1))
print(id(str1.center(5, '-')))
輸出:
1844873596784
1844873596784
3、返回的是新字符串
Python中的字符串是「不可變」類型,兩邊填充的字符并不是在原字符串上填充,而是「創(chuàng)建」一個兩邊添加了指定字符的新字符串。
我們打印一下內(nèi)存地址,就能發(fā)現(xiàn),轉(zhuǎn)換前、后的字符串是兩個「不同的變量」。
str1 = 'hello world'
print(id(str1))
print(id(str1.center(20)))
輸出:
2051430879088
2051430643312
4、常見錯誤
使用 center() 時,必須指定「寬度」,否則會報錯 TypeError: center expected at least 1 argument
寬度必須是「整型」,否則會報錯 TypeError: integer argument expected
填充的字符必須是 Unicode 字符,否則會報錯 TypeError: The fill character must be a unicode character
提示:Python的string類基于Unicode字符集,所以這里必須是Unicode字符。
填充的字符只能是「一個字符」,否則會報錯 TypeError: The fill character must be exactly one character long文章來源:http://www.zghlxwxcb.cn/news/detail-533626.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-533626.html
到了這里,關(guān)于Python center()函數(shù)詳解,Python字符串居中的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!