Python基礎教程 第三章 使用字串

2021-07-16 19:14:52 字數 3755 閱讀 8844

本章主要介紹字串的格式化和常用方法。字串是內建序列,因此序列的相關操作字串都可以使用(索引,分片,乘法,in,求長度,最大最小值)。但是有一點需要注意,字串是不可以改變的!

1.字串格式化使用字串格式化操作符『%』,『%』左側放置乙個字串,右側放置希望被格式化的值。可以使用乙個值,也可以使用多個值的元組或字典。一般使用元組:

>>> format="hello,%s.%s enough for you?"

>>> values=('world','hot')

>>> print

format % values

>hello,world.hot enough for you?

注意:

如果使用列表或其他序列代替元組,那麼序列會被解釋為乙個值,只有元組和字典可以格式化乙個以上的值.

在格式化字串中包含百分號,必須使用%%

2. 如果要格式化實數(浮點數),可以使用f說明轉換說明符的型別,同時提供所需要的精度。

>>> format="pi with threee decimals:%.3f"

>>>

from math import pi

>>> print(format%pi)

>pi with three decimals:3.142

3.模板字串

string模組提供了另外一種格式化值得方法:模板字串。substitute這個模板方法使用傳遞進來的關鍵字引數foo替換字串中的$foo。

>>> 

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

>>> s= template("make $$ selling $x!")

>>> s.substitute(x='slurm')

>'make $ selling 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.'

1.find

find方法可以在乙個較長的字串中查詢子串,返回子串所處位置最左端的index,沒有找到則返回-1。

>>> title="monty python's flying circus"

>>> title.find('python')

>6

find也可以接受可選的起點和終點:

>>> subject="$$$ get rich now!!!$$$"

>>> subject.find('$$$',1)

>19

2.join

join是split方法的逆方法,用於連線序列中的元素。注意join連線的序列必須是字串。

>>> seq=['1','2','3','4','5']

>>>

''.join(seq)

>'12345'

>>> dirs='','usr','bin','env'

>>>

'/'.join(dirs)

>'/usr/bin/env'

>>> print('c:'+'\\'.join(dirs))

>c:\usr\bin\env

3.split

split 用來把字串分割成序列:

>>> 

'1+2+3+4+5'.split('+')

>['1', '2', '3', '4', '5']

#預設使用空格作為分隔符

>>>

'using the de****t'.split()

>['using', 'the', 'de****t']

4.lower

lower將字串轉換為小寫字母版。

>>> 

'hello,world!'.lower()

>'hello,world!'

與lower相關的還有title方法,將字串轉換為標題——所有單詞首字母大寫,其餘字母小寫。

>>> 

"that's all folks".title()

>"that's all folks"

還有乙個string模組內的capwords函式:

>>> 

import string

>>> string.capwords("that's all, folks")

>"that's all, folks"

5.replace

返回某字串所有匹配項均替換後的結果。

>>> 

'this is a test'.replace('is','eez')

>'theez eez a test'

6.strip

strip方法返回去除兩側(不包括內部)空格的字串。

>>> 

' internal whitesppace is kept '.strip()

>'internal whitesppace is kept'

也可以指定需要去除的字元。

>>> 

'***spam * for * everyone!!!***'.strip(' *!')

>'spam * for * everyone'

7.translate

translate 用於替換字串的某些部分,但是與replace不同的是,translate只處理單個字元。在translate之前需要完成轉換表,轉換表是某字元替換某字元的對應關係。使用string模組中的maketrans函式產生轉換表。

maketrans接受兩個等長字串,表示第乙個字串中的每個字元都由第二個字串對應位置的字元替換。

>>> a='hello,worid!'

>>> t=a.maketrans('i','a')

>>> a.translate(t)

>'hello,worad!'

Python基礎教程(第三章)

字串格式化 format hello s,s enough for ya format稱為格式化字串 value world hot print format value 模板字串 from string import template s template x,glorious x s.subst...

《python基礎教程》第三章 使用字串

基本字串操作 標準的序列操作,如索引 分片 乘法 判斷成員資格 求長度 取最小值和最大值,對字串同樣適用。但是,字串是不可變的。因此,項或分片賦值是不合法的。str python str 0 p typeerror object doesn t support slice assignment 1 ...

《Python基礎教程》第三章 使用字串

find方法可以在乙個較長的字串中查詢子字串。它返回子串所在位置的最左端索引。如果沒有找到則返回 1 join方法用來在佇列中新增元素,需要新增的佇列元素都必須是字串 join seq lower方法返回字串的小寫字母版 replace方法返回某字串的所有匹配項均被替換之後得到的字串 this is...