亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Python > 正文

Python expandtabs()函數的使用

2023-04-26 12:04:41
字體:
來源:轉載
供稿:網友

Python中expandtabs()函數的作用是允許用戶自定義(擴展)字符串中 '/t' 字符輸出的空格數量。在Python中TAB制表鍵字符輸出的空格數量默認為8。該函數在處理輸出的空格數量時會把tab字符前邊的字符數考慮進去。也就是說實際輸出的空格數量是給定的tab的尺寸減去tab鍵前面的字符數量。

一、expandtabs()函數的語法格式

str.expandtabs(tabsize = 8)

str:待處理的字符串

參數:tabsize,指定tab的尺寸,默認為8個空白字符。

返回值:返回處理后的字符串。

二、expandtabs()函數使用示例

1、參數使用默認值

str1 = "R/tC#/tPHP/tPython"
print(str1)
res1 = str1.expandtabs()
print(res1)

輸出結果:

R       C#      PHP     Python
R       C#      PHP     Python

因為Python中tab的默認值為8,所有兩者輸出是相同的。

2、正常使用參數

str1 = "A/tBC/tDEF/tGHI"
print(str1)
res1  = str1.expandtabs(10)
print(res1)
res2 = str1.expandtabs(6)
print(res2)

輸出結果:

A       BC      DEF     GHI
A         BC        DEF       GHI
A     BC    DEF   GHI

在上面的輸出結果中第一行實際上默認使用的TAB的尺寸是8;

第二行,A和BC之間有9個空格,因為在第一個/t前有一個字母,所以10 -1 = 9,在BC和DEF之間有8個空格,因為在第2個/t前有兩個字母,10 -2 = 8;同理,在DEF和GHI之間應有7個空格。

用同樣的算法,可以推出第三行的A和BC之間應有6 -1 = 5個空格,BC和DEF之間應有 6 - 2 = 4個空格 ,DEF和GHI之間應有6 -3 = 3個空格。

另外,需要說明的是,/t前面的字符中有空格時,毫無疑問,空格也會作為字符計算在內,看下面的例子:

str1 = "Python is easy./tPython!"
print(str1)
print(str1.expandtabs(16))
print(str1.expandtabs(18))

輸出結果:

Python is easy. Python!
Python is easy. Python!
Python is easy.   Python!

因為str1本身有15個字符(含空格),所以tabsize為16時,實際上/t被處理成1(16-15=1)個空格,當為18時,/t被處理成3個空格(18-15 = 3)。而第1行的輸出中間也有一個空格,這是怎么回事呢?(請繼續看下面的內容。)

3、/t前面的字符多于指定的tabsize情況

在這種情況下,可以認為Python中expandtabs()函數按如下規則進行處理:

tabsize * n - m > 0 (m為/t前面的字符數量)

也就是說,指定的tabsize數乘以一個大于0的數后減去/t前面的字符數量的結果值需大于0,即至少有一個空白符。見下面的例子:

str1 = "PythonPython/tR"
print(str1.expandtabs(6))
print(str1.expandtabs(7))
print(str1.expandtabs(8))
print(str1.expandtabs(9))

輸出結果:

PythonPython      R
PythonPython  R
PythonPython    R
PythonPython      R

因為/t前面有12個字符,第1個 6 * 3 - 12 = 6 ,所以第1個輸出了6個空格,第2個 7*2 - 12 =2 ,所以第2個有2個空格,按照這樣的規則,第3個有 4 個空格,第4個有6個空格。

4、多個/t連續出現的情況

有時字符串中連著有多個/t情況,或者出現換行符/n的情況,這時,Python的expandtabs函數是如何處理的呢?

str1 = "C/tC#/t/tC++/t/nJava/tPython"
print(str1)
res1 = str1.expandtabs(12)
print(res1)

輸出結果:

C       C#              C++     
Java    Python
C           C#                      C++         
Java        Python

從上面輸出結果中,通過數空格數,可以知道,在連續的/t中,緊挨字符的/t是輸出減去前面字符數的空格數,而第2個/t會原樣輸出tab鍵規定數量的空格。注意:/t前面的/r,/n不會被當作一個字符來處理。

5、參數小于等于0或無效

如果tabsize參數指定為0或負數,甚至是小數會出現什么情況呢?看下面的例子:

>>> str1 = "武林網VEVB/twww.49028c.com"
>>> print(str1.expandtabs()) # 中間會有1個空格
武林網VEVB www.49028c.com
>>> print(str1.expandtabs(0)) # 輸出中間會沒有空格
武林網VEVBwww.49028c.com
>>> print(str1.expandtabs(-4))
武林網VEVBwww.49028c.com
>>> print(str1.expandtabs(-8))
武林網VEVBwww.49028c.com
>>> print(str1.expandtabs(2.3)) # 將導致TypeError錯誤:參數類型錯誤
Traceback (most recent call last):
    File "<pyshell#27>", line 1, in <module>
        print(str1.expandtabs(2.3))
TypeError: integer argument expected, got float

>>>

從以上輸出情況可以看出,expandtabs()函數把負數一律按0來處理,即不輸出空格,而給一個非整數參數時,將導致語法錯誤。

Python expandtabs函數

本文(完)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产91色在线| 欧美日韩亚洲一区二区三区| 91亚洲午夜在线| 亚洲午夜av电影| 国产精品美女午夜av| 日韩美女毛茸茸| 精品网站999www| 国产精品十八以下禁看| 2021久久精品国产99国产精品| 欧美激情视频网址| 精品无人区乱码1区2区3区在线| 亚洲人成人99网站| 亚洲新声在线观看| 国产丝袜视频一区| 美乳少妇欧美精品| 国产精品羞羞答答| 日韩欧美在线国产| 欧美在线不卡区| 亚洲男人第一av网站| 欧美福利视频在线观看| 国产精品一区久久| 最近日韩中文字幕中文| 日韩大胆人体377p| 日韩精品视频在线| 97在线视频免费观看| 日韩免费在线电影| 亚洲自拍在线观看| 国产精品69久久| 91久久在线视频| 亚洲qvod图片区电影| 色狠狠av一区二区三区香蕉蜜桃| 91免费综合在线| 欧美日韩成人黄色| 色综合老司机第九色激情| 久久成人亚洲精品| 国产性猛交xxxx免费看久久| 成人免费网站在线观看| 91精品在线一区| 中文字幕在线亚洲| 亚洲视频免费一区| 日韩精品免费在线| 亚洲国产欧美一区二区丝袜黑人| 欧美在线一区二区三区四| 久久久成人精品视频| www.色综合| 国产精品成人观看视频国产奇米| 欧美日韩xxx| 国产精品777| 精品国偷自产在线视频| 日韩一区二区三区在线播放| 日韩午夜在线视频| 欧美成人午夜激情视频| 亚洲风情亚aⅴ在线发布| 久久久这里只有精品视频| 欧美性少妇18aaaa视频| 亚洲自拍偷拍福利| 成人在线观看视频网站| 538国产精品一区二区免费视频| 3344国产精品免费看| 91成人在线观看国产| 韩日欧美一区二区| 亚洲自拍另类欧美丝袜| 中文字幕亚洲专区| 中文字幕无线精品亚洲乱码一区| 91免费人成网站在线观看18| 久久久亚洲福利精品午夜| 国产精品人成电影在线观看| 亚洲影院高清在线| 在线日韩日本国产亚洲| 中文字幕亚洲一区在线观看| 久久精品美女视频网站| 91精品国产综合久久香蕉922| 日韩欧美有码在线| 久久av资源网站| 日本亚洲欧美三级| 北条麻妃一区二区在线观看| 亚洲精选在线观看| 欧美裸体男粗大视频在线观看| 欧美高清自拍一区| 日韩在线观看你懂的| 亚洲变态欧美另类捆绑| 精品中文字幕乱| 欧美多人爱爱视频网站| 91国内揄拍国内精品对白| 中文字幕欧美国内| 欧美高清性猛交| 亚洲美女在线视频| 美女久久久久久久| 正在播放国产一区| 亚洲最大福利视频网| 亚洲综合国产精品| 午夜精品三级视频福利| 亚洲国语精品自产拍在线观看| 亚洲人在线视频| 国产日韩欧美在线| 日韩福利伦理影院免费| 国产日韩专区在线| 国产精品国产三级国产aⅴ9色| 欧美亚洲在线视频| 国产精品视频地址| 亚洲精品97久久| 91久久在线视频| 欧美理论电影在线播放| 久久九九全国免费精品观看| 国产精品日韩av| 国产精品福利在线| 在线观看日韩欧美| 26uuu国产精品视频| 国产成人鲁鲁免费视频a| 2024亚洲男人天堂| 在线成人激情黄色| 亚洲电影免费观看| 9.1国产丝袜在线观看| 尤物精品国产第一福利三区| 久精品免费视频| 欧美人与性动交a欧美精品| 欧美午夜精品久久久久久久| 91精品国产91久久久久久| 国产情人节一区| 97国产精品人人爽人人做| 久久人人97超碰精品888| 久久精品国产一区二区电影| 久久久亚洲国产| 成人性教育视频在线观看| 韩国三级日本三级少妇99| 热久久免费国产视频| 欧美一级视频在线观看| 成人久久一区二区三区| 97精品久久久中文字幕免费| 精品久久久久久久久久久久| 亚洲国产美女精品久久久久∴| 精品成人国产在线观看男人呻吟| 欧美激情免费看| 日韩精品高清在线观看| 国产精品久久精品| 中文字幕精品在线视频| 精品中文视频在线| 日韩不卡中文字幕| 亚洲最大成人在线| 国产欧美日韩中文| 永久555www成人免费| 26uuu久久噜噜噜噜| 91久久精品一区| www国产精品视频| 亚洲护士老师的毛茸茸最新章节| 日本亚洲精品在线观看| 2018国产精品视频| 亚洲精品免费av| 亚洲成人av在线播放| 成人性教育视频在线观看| 欧美日韩一区免费| 日本不卡高字幕在线2019| 亚洲日韩中文字幕在线播放| 亚洲色图美腿丝袜| 亚洲变态欧美另类捆绑| 亚洲曰本av电影| 日本不卡视频在线播放| 91精品国产91久久久久福利| 国产做受高潮69| 亚洲精品免费一区二区三区| 欧美性色xo影院| 欧美激情按摩在线| 欧美精品九九久久| 亚洲精品自在久久|