所有標準的序列操作(索引、分片、乘法、判斷成員資格、求長度、取最小值和最大值)對字串同樣適用。但是字串是不可改變的。
字串格式化使用字串格式化操作符(%)來實現。
>>> "hello,%s
" % '
world''
hello,world
'
元組或字典實現:
>>> print("hello,%s. %s enough for ya?
" % ('
world
','hot'))
hello,world. hot enough
for ya?
轉換型別
含義d,i
帶符號的十進位制數
o不帶符號的八進位制數
u不帶符號的十進位制數
x不帶符號的十六進製制數(小寫)
x不帶符號的十六進製制數(大寫)
e科學計數法表示的浮點數(小寫)
e科學計數法表示的浮點數(大寫 )
f,f十進位制浮點數
g如果指數大於-4或者小於精度值則和e相同,其他情況與f相同
g如果指數大於-4或者小於精度值則和e相同,其他情況與f相同
c單字元(接受整數或單字串)
r字串(使用repr轉換任意python物件)
s字串(使用str轉換任意python物件)
簡單轉換
只需寫出轉換型別:
>>> 'price of eggs:%d
' % 42
'price of eggs:42
'>>> '
hexadecimal price of eggs:%x
' % 42
'hexadecimal price of eggs:2a
'
字段寬度和精度
>>> '%10f
' % 3.1415926
'3.141593
'>>> '
%10.2f
' % 3.1415926
'3.14
'>>> '
%.2f
' % 3.1415926
'3.14
'>>> '
%.5s
' % '
dhfuhduioshduio''
dhfuh
'
可以使用*做為字段寬度或精度,此時數值會從元組引數中讀取
>>> '%.*s
' % (5,'
dhfuhduioshduio')
'dhfuh
'>>> '
%*.*s
' % (10,5,'
dhfuhduioshduio')
'dhfuh
'
符號、對齊和用0填充
在字段寬度和精度值之前還可以放乙個標誌,該標誌可以是零(0),加號(+),減號(-)或空格
零(0)表示轉換的值為數字時,不足寬度的部位將用0填充,轉換的值為字串時無影響
>>> '%010.2f
' % 3.1415926
'0000003.14
'>>> '
%010.5s
' % '
udshkdsfhdkjf''
udshk
'
減號(-)表示左對齊數值
>>> '%-10.2f
' % 3.1415926
'3.14
'
加號(+)表示不管是正數還是負數都表示出正負號
>>> '%+5d
' % 10
'+10
'>>> '
%+5d
' % -10
'-10
'
空格表示在正數前加上空格
>>> '% 5d
' % 10'10
'>>> '
% 5d
' % -10
'-10
'
用於在乙個長字串中查詢子串。返回子串所在位置的最左端索引。如果沒有找到則返回-1
>>> title = "monty python's flying circus
">>> title.find('
monty')
0>>> title.find('
python')
6>>> title.find('
flying')
15>>> title.find('
zirquss')
-1
這個方法還可以接受可選的起始點和結束點引數,指定查詢的字串範圍:
>>> subject = '$$$ get rich now!!! $$$
'>>> subject.find('
$$$')0
>>> subject.find('
$$$',1) #
指定查詢的起始點
20>>> subject.find('
!!!')16
>>> subject.find('
!!!',0,16) #
指定查詢的起始點和結束點
-1
用於連線序列中的元素,被連線的元素都必須是字串
>>> dirs = '','usr','
bin','
env'
>>> '/'
.join(dirs)
'/usr/bin/env
'>>> seq = ['
1','
2','
3','
4','5'
]>>> '+'
.join(seq)
'1+2+3+4+5
'>>> seq = [1,2,3,4,5]
>>> '+'
.join(seq)
traceback (most recent call last):
file
"", line 1, in'+
'.join(seq)
typeerror: sequence item 0: expected str instance, int found
使用者返回字串的小寫字母
>>> 'hello world!
'.lower()
'hello world!
'
用於替換字串中的字元
>>> 'this is a test
'.replace('
is','
eez'
)
'theez eez a test
'
用於將字串分割成序列
>>> '1+2+3+4+5
'.split('+'
) ['
1', '
2', '
3', '
4', '5'
]>>> '
/usr/bin/env
'.split('/'
)
['', '
usr', '
bin', '
env']
用於去除字串兩側(不包括內部)空格的字串
>>> 'hello world!
'.strip()
'hello world!
'
python3字串相等 python3 字串
1 拼接 1 多個字串進行連線 連線符,必須左右資料型別一致 例 print hello world 結果 helloworld 例 print 5 world 結果 typeerror unsupported operand type s for int and str 2 多個相同字串連線 字串...
python學習筆記3 字串
1.python當中的字串是乙個序列,可以用str i 返回字串中的各個字元。i為0或正數時,是從前向後的第i 1個字元 i為負數時,是倒數第 i個字元。想遍歷整個字串,無需先計算字串的長度再迴圈,可以很方便的使用for語句 for char in string print char 2.strin...
Python學習筆記(3) 字串
字串本身含有但雙引號 python中對於字串只需要將其用 或者 括起來即可,但是如果字串本身包含 或者 時,應該怎麼解決呢?下面用乙個例子來說明解決方法 例如 mary said i m fine 這樣表示 mary said i m fine 簡要的說就是在每乙個但雙引號的前面加上乙個 即可。字串...