expandtabs()方法返回一個字符串副本,其中所有制表符'\ t'都用空格字符替換,直到tabsize參數(shù)的下一個倍數(shù)為止。
expandtabs()方法的語法為:
string.expandtabs(tabsize)
expandtabs()采用整數(shù)tabsize參數(shù)。預(yù)設(shè)tabsize值為8。
expandtabs()返回一個字符串,其中所有'\ t'字符均替換為空格字符,直到tabsize參數(shù)的下一個倍數(shù)為止。
str = 'xyz\t12345\tabc' # 沒有傳遞參數(shù) # 默認tabsize是8 result = str.expandtabs() print(result)
運行該程序時,輸出為:
xyz 12345 abc
expandtabs()方法跟蹤當(dāng)前光標(biāo)位置。
在上面的程序中第一個'\ t'字符的位置是3。并且,該位置tabsize是8(如果未傳遞參數(shù))。
expandtabs()字符用空格替換'\ t',直到下一個制表符停止。“ \ t”的位置為3,第一個制表位為8。因此,“ xyz”后的空格數(shù)為5。
下一個制表位是的倍數(shù)tabsize。下一個制表位是16、24、32,依此類推。
現(xiàn)在,第二個'\ t'字符的位置是13。并且,下一個制表位是16。因此,在'12345'之后有3個空格。
str = "xyz\t12345\tabc" print('原始字符串:', str) # tabsize設(shè)置為2 print('Tabsize 2:', str.expandtabs(2)) # tabsize設(shè)置為3 print('Tabsize 3:', str.expandtabs(3)) # tabsize設(shè)置為4 print('Tabsize 4:', str.expandtabs(4)) # tabsize設(shè)置為5 print('Tabsize 5:', str.expandtabs(5)) # tabsize設(shè)置為6 print('Tabsize 6:', str.expandtabs(6))
運行該程序時,輸出為:
原始字符串: xyz 12345 abc Tabsize 2: xyz 12345 abc Tabsize 3: xyz 12345 abc Tabsize 4: xyz 12345 abc Tabsize 5: xyz 12345 abc Tabsize 6: xyz 12345 abc
默認tabsize值為8。制表位為8、16,依此類推。因此,當(dāng)您打印原始字符串時,“ xyz”后面有5個空格,“ 12345”后面有3個空格。
將設(shè)置tabsize為2時。制表位為2、4、6、8,依此類推。對于“ xyz”,制表位是4,對于“ 12345”,制表位是10。因此,在“ xyz”后有1個空格,在“ 12345”后有1個空格。
將設(shè)置tabsize為3時。制表位為3、6、9,依此類推。對于“ xyz”,制表位是6,對于“ 12345”,制表位是12。因此,“ xyz”后有3個空格,在“ 12345”后有1個空格。
將設(shè)置tabsize為4時。制表位為4、8、12,依此類推。對于“ xyz”,制表位是4,對于“ 12345”,制表位是12。因此,在“ xyz”后有1個空格,在“ 12345”后有3個空格。
設(shè)置tabsize為5時。制表位為5、10、15,依此類推。對于“ xyz”,制表位是5,對于“ 12345”,制表位是15。因此,在“ xyz”后有2個空格,在“ 12345”后有5個空格。
設(shè)置tabsize為6時。制表位為6、12、18,依此類推。對于“ xyz”,制表位是6,對于“ 12345”,制表位是12。因此,在“ xyz”后有3個空格,在“ 12345”后有1個空格。