1. 程式人生 > >python學習(三)

python學習(三)

操作數 sdf dfs 查找子串 索引 start val 成員 放置

第三章 使用字符串

3.1 基本字符串操作

序列操作(索引,分片,乘法,判斷成員資格,長度,最大值,最小值)都適用於字符串,但是字符串是不可變的,所以分片賦值是不合法的。

3.2 字符串格式化:精簡版

%是字符串格式化操作符

用法:在%左側放置一個字符串(格式化字符串),右側放希望被格式化的值。可以使用一個值(比如一個字符串或數字),也可以使用多個值的元組或者字典。

>>> print( "%s is %s years old" % ("fsdfsd", 56))
fsdfsd is 56 years old

>>> format = " %s is %s years old"
>>> values = ("robin",34)
>>> print(format % values)
robin is 34 years old

註意:只有元組和字典可以格式化一個以上的值,如果使用列表或其他序列代替元組,那麽序列將會被解釋成為一個值。

>>> print( "%s is %s years old" % (["fsdfsd", 56],45))
[‘fsdfsd‘, 56] is 45 years old

註意:如果要在格式化字符串中包括百分號,那麽必須使用%%

如果要格式化實數(浮點數),可以使用f說明轉換說明符的類型,同時提供精度,一個句點再加上希望保留的小數位數:

>>> format = "PI with three decials: %.3f"
>>> from math import pi

>>> print(format % pi)
PI with three decials: 3.142

3.3 字符串格式化:完整版

如果右操作數是元組或字典的話,其中每一個元素都會被單獨格式化,每一個值都需要一個轉換說明符。

>>> "%s %s %s" % (1,2,3)
‘1 2 3‘

3.3.1 簡單轉換

>>> "%d" % 42
‘42‘

>>> "%x" % 42
‘2a‘

>>> "%f" % pi
‘3.141593‘

3.3.2 字段寬度和精度

字段寬度:轉換後的值所保留的最小字符個數。

精度:結果的小數位數

>>> "%10.2f"% pi // 寬度是10,精度是2
‘ 3.14‘

3.3.3 符號,對齊和用0填充

>>> ‘%010.2f‘ % pi // 寬度是10,用0填充
‘0000003.14‘

>>> "%-10.2f" % pi // 左對齊
‘3.14 ‘

>>> "% 5d" % 10 // 空格,表示正數前面加空格。
‘ 10‘

>>> "%+5d" % 10 // + 號,表示不管是正負數,都顯示符號
‘ +10‘

3.4 字符串方法

3.4.1 find 查找子串的位置,如果沒有返回-1

>>> "fsdfsdfsdfdsf".find("fsd")
0

>>> "fsdfsdfsdfdsf".find("fsd",1,5) // 提供起始點和結束點(註意:包含前一個索引,不包含後一個索引,這是Python的慣用 -1)。

rfind() / index() / rindex() /count() / startswith() / endswith()

3.4.2 join 連接序列中的元素

連接的序列必須是字符串

>>> "abc".join("de")
‘dabce‘

3.4.3 lower 返回字符串的小寫 字母版本

>>> "ABc".lower()
‘abc‘

>>> "sdfdfds".capitalize() // 首字母大寫
‘Sdfdfds‘

>>> "Abc".swapcase() // 大寫變小寫,小寫變大寫
‘aBC‘

‘Fdsfsd‘
>>> "abc def ght".title() // 所有單詞的首字母大寫
‘Abc Def Ght‘

upper() // 大寫

3.4.4 replace 字符串的所有匹配項均被替換

>>> "This is a test".replace("is", "eez")
‘Theez eez a test‘

3.4.5 split join 方法的逆方法

>>> "I am robin".split(" ")
[‘I‘, ‘am‘, ‘robin‘]

3.4.6 strip 去除兩側(不包含內部)的空格的字符串

>>> " fsf asfa ".strip()
‘fsf asfa‘

3.4.7 translate

和replace類似,不同的地方是只替換單個字符

python學習(三)