Python第三章 字串

2022-09-05 01:30:20 字數 3956 閱讀 6478

第三章  字串

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.建議在如下情況下...