第三章 字串
3.1 基本字串操作
python的字串和元組差不多,是不可以進行改變的,如果想改變值,可以嘗試list序列化之後在進行修改。
3.2 字串格式化:精簡版
字串格式化使用字串格式化操作符(這個名字還是很恰當的)即%來實現。
基本用法例子
1.>>> format = "hello, %s. %s enough for ya?";
>>> values = ('world' ,'hot');
>>> print (format % values);
hello, world. hot enough for ya?
2.>>> format = "pi with three decimals: %.3f";
>>> from math import pi
>>> print(format % pi)
pi with three decimals: 3.142
3.模板字串
《基本用法》
>>> from string import template;
>>> s = template('$x. glorious $x!');
>>> s.substitute(x='slurm')
'slurm. glorious slurm!'
《模板字串如果和別的單詞一起,那麼要區分》
>>> s = template("it's $tastic!")
>>> s.substitute(x='slurm')
"it's slurmtastic!"
>>>
《顯示美元字元用兩個$>
>>> s=template("make $$ selling $x!");
>>> s.substitute(x='slurm')
'make $ selling slurm!'
《除了關鍵字引數之外,還可以使用字典變數提供值/名稱對》
>>> s = template('a $thing must never $action.');
>>> d = {}
>>> d['thing'] = 'gentleman'
>>> d['action'] = 'show his socks'
>>> s.substitute(d)
'a gentleman must never show his socks.'
>> s = template('a $x');
>>> s.substitute(a='x') 這個會報錯,因為查詢不到
>>> s.safe_substitute(a='x') 不會報錯,並且輸出下面值
'a $x'
3.3 字串格式化:完整版
格式化操作符的右運算元可以是任何東西,如果是元組或者對映型別(如字典)那麼字串格式化講會有所不同。
注意:如果轉換表示式一部分是元組,那麼必須將它用括號括起來,以避免出錯。
基本轉換說明符-(以下描述循序至關重要(就是使用順序))
(1)%字元:標記轉換說明符的開始。
(2)轉換標誌(可選): -表示左對齊;
+表示在轉換值之前要加上正負號
「」 正數之前保留空格
0 0填充
(3) 最小字段寬度(可選):轉換後的字串至少應該具有該指定值的寬度。
如果是*,則寬度會從值元組中讀取。
(4)點(.) 後跟隨精度值(可選):如果轉換的是實數,精度值就表示出現在小數點後的位數。如果轉換的是字串,那麼該數字就表示最大字段寬度。如果是*,那麼精度將會從元組中讀出。
(5)轉換型別
d,i 帶符號的十進位制整數
o 不帶符號的八進位制
u 不帶符號的十進位制
x,x 十六進製制
e,e 科學計數法
f,f 十進位制浮點型
g,gc 單字元
r 字串(使用repr轉換任意python物件)
s 字串(使用str轉換任意ptthon物件)
3.3.1簡單轉換
>>> 'price of eggs: $%d' %42
'price of eggs: $42'
>>> 'price of eggs: $%d' %42
'price of eggs: $42'
>>> 'hexadecimal price of eggs:%x' %42
'hexadecimal price of eggs:2a'
>>> from math import pi
>>> 'pi: %f...' %pi
'pi: 3.141593...'
>>> 'very inexact estimate of pi: %i' %pi
'very inexact estimate of pi: 3'
>>> 'using str: %s' % 42l
syntaxerror: invalid syntax (我用的3.5 高版本裡買沒有顯示l了)
>>> 'using str: %s' % 42
'using str: 42'
>>> 'using repr: %r' %42
'using repr: 42'
>>>
3.3.2 字段寬度和精度
>>> '%10f' %pi'
3.141593'
>>> '%10.2f' %pi
' 3.14'
>>> '%.2f' %pi
'3.14'
>>> '%.2s' %pi
'3.'
>>> '%.5s' % 'guido van rossum'
'guido'
《長度可以用*代替,然後在元組裡給出》
>>> '%.*s' %(5,'guido van rossum')
'guido'
3.3.3 符號,對齊和0填充
<0填充》
>>> '%010.2f' %pi
'0000003.14'
《左對齊》
>>> '%-10.2f' %pi
'3.14 '
《空格填充》
>>> print(('% 5d' %10) + '\n' + ('% 5d' % -10))
10-10
《正負號》
>>> print(('%+5d' %10) + '\n' + ('%+5d' % -10))
+10-10
3.4 字串方法
字串常量
字串常量(例如string.letters)與地區有區別,其本身取決於python所配置的語言,如果可以確定自己使用的是ascii那麼就可以例如這樣 string.ascii_letters
3.4.1 find (找到輸出最左邊,找不到輸出-1)
>>> mark = "123456789123456789"
>>> mark.find("123456")
0>>> mark.find("aasd")
-1可接受區間定義 [)
3.4.2 join 非常重要的字串方法,它是split方法的逆方法,用來在佇列中新增元素
3.4.3 lower (title 所有首字母大寫,其他小寫)
lower方法返回字串的小寫字母版
3.4.4 replace替換
3.4.5 split(jion的逆方法,用來將字串分割成序列)。
3.4.6 strip 去除字串兩邊的空格(也可以指定去除字元)
3.4.7 translate 這3.5已經取消了,這個先不看了。
第三章 字串
3 1 基本字串操作 字串是不可變的。類似以下的分片賦值是不合法的 website 3 com 報錯 3.2 字串格式化 在 的左側放置乙個字串,而右側放置希望格式化的值。format hello,s,s enough for ya?values world hot print format val...
第三章 Lua字串
字串用於表示文字。lua語言中的字串既可以表示單個字元,也可以表示一整本書籍 在 lua語言中,操作100k或者1m個字母組成的字串的程式也很常見。lua語言中的字串是一串位元組組成的序列,lua核心並不關心這些位元組究竟以何種方式編碼文字。在lua語言中,字元使用8個位元位來儲存 eight bi...
第三章 python中的字串
一 字串的基本操作 所有標準的序列操作對字串同樣適用,如索引 分片 乘法 判斷成員是否存在 求長度 最大值和最小值等。記住一點,字串是不可變的。二 字串中重要的方法 1 find substr strat,end 方法 返回找到的第乙個子串的最左端位置索引,如果子串不存在,返回 1.建議在如下情況下...