string
字符串的表示
>>>print repr(1000L)
1000L
>>>print str(1000L)
1000
repr python表達(dá)形式,會輸出目標(biāo)類型
原始字符
原始字符對于反斜線不會有特殊對待,字符串以r開頭表示原始字符
使用字符串
字符串是不可改變的
字符串格式化:完整版
轉(zhuǎn)換類型 | 含義 |
---|---|
d,i | 帶符號的十進(jìn)制整數(shù) |
o | 不帶符號的八進(jìn)制 |
u | 不帶符號的十進(jìn)制 |
x | 不帶符號的十六進(jìn)制(小寫) |
X | 不帶符號的十六進(jìn)制(大寫) |
e | 科學(xué)計數(shù)法表示的浮點數(shù)(小寫) |
E | 科學(xué)計數(shù)法表示的浮點數(shù)(大寫) |
f,F | 十進(jìn)制浮點數(shù) |
g | 如果指數(shù)大于-4或者小于精度值則和e相同,其它情況與f相同 |
G | 如果指數(shù)大于-4或者小于精度值則和E相同啤覆,其它情況與F相同 |
C | 單字符(使用repr轉(zhuǎn)換任意python對象) |
r | 字符串(使用repr轉(zhuǎn)換任意python對象) |
s | 字符串(使用str轉(zhuǎn)換任意python對象) |
-
1.%字符 :
標(biāo)記轉(zhuǎn)換說明符的開始
-
2.轉(zhuǎn)換標(biāo)志(可選) :
- 表示左對齊; + 表示在轉(zhuǎn)換值之前加上正負(fù)號; ""(空白字符)表示正數(shù)之前保留空格殿衰; 0 表示轉(zhuǎn)換值若位數(shù)不夠用0填充
-
3.最小字段寬度(可選) :
轉(zhuǎn)換后的字符串至少應(yīng)該具有該值指定的寬度。如果是*盛泡,則寬度會從元組中讀出
- 4.點(.)后跟精度值(可選) : 如果轉(zhuǎn)換的是實數(shù)闷祥,精度值就表示出現(xiàn)在小數(shù)點后的位數(shù)。如果轉(zhuǎn)換的是字符串傲诵,那么該數(shù)字就表示最大字段寬度凯砍。如果是*,那么精度將會從元組中讀出拴竹。
格式化字符串的%s部分稱為轉(zhuǎn)換說明符(conversion specifier)悟衩,他們比較了需要插入轉(zhuǎn)換值的位置。s表示值會被格式轉(zhuǎn)化為字符串----如果不是字符串栓拜,用str轉(zhuǎn)換為字符串座泳。
寬度
: 最小字符串個數(shù)
精度
: 小數(shù)位數(shù)
可以使用*(星號)表示字段寬度或者是精度,此時數(shù)值會從元組中讀出:
>>>'%*.*s' % (5,4,'abcde')
' abcd'
符號幕与,對齊使用0填充
在字段寬度和精度值之前可以放置一個"標(biāo)志"挑势,該標(biāo)志可以是零,減號纽门,加號或空格薛耻。零表示使用0填充
零
>>> '%010.2f' % f
'0000003.14'
減號
:用來左對齊數(shù)值
>>> '%-10.2f' % pi
'3.14'
空白("")
:意味整數(shù)前加空格,在對齊正負(fù)數(shù)時很有用
>>>print ('% 5d' % 10) + '\n' + ('% 5d' % -10)
10
-10
正號(+)
: 正數(shù)前加空格赏陵,對齊正負(fù)數(shù)
>>> print ('%+5d' % 10) + '\n' + ('%+5d' % -10)
+10
-10
字符串方法
find
方法返回字符所在位置的最左端索引
join
方法連接字符串饼齿,需要連接的全是字符串
lower
方法返回字符串的小寫版
upper
方法返回字符串的大寫版
title
方法:首字母大寫,其余小寫
replace
方法返回字符串的所有匹配項全部替換之后的字符串
split
:將字符串分割成序列(如果不提供分隔符蝙搔,程序會把空格作為分隔符(空格缕溉,制表,換行等))
strip
方法返回去除兩側(cè)(不包括內(nèi)部)空格的字符串吃型,也可以去除特定的字符证鸥,將他們作為參數(shù)即可:
>>>'*** this * is * a * test !!!***'.strip('!!!*')
`this * is * a * test`
translate
和replace方法一樣替換字符串中的某一部分,不過可以同時進(jìn)行多個替換
使用translate方法之前,需要先制作一張轉(zhuǎn)換表(轉(zhuǎn)換表是以某字符替換某字符的對應(yīng)關(guān)系)枉层,使用string模塊中的maketrans函數(shù)
from string import maketrans
table = maketrans('cs','kz')#maketrans接受兩個等長的字符串