Python3学习笔记(六):字符串
生活随笔
收集整理的這篇文章主要介紹了
Python3学习笔记(六):字符串
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、基本字符串操作
?
所有標準的序列操作(索引、分片、乘法、判斷成員資格、求長度、取最小值和最大值)對字符串同樣適用。但是字符串是不可改變的。
二、字符串格式化
?
字符串格式化使用字符串格式化操作符(%)來實現。
1、格式化一個值:
>>> "Hello,%s" % 'world' 'Hello,world'2、格式化多個值:
元組或字典實現:
>>> print("Hello,%s. %s enough for ya?" % ('world','Hot')) Hello,world. Hot enough for ya?3、字符串格式化規則
- %字符:標識轉換說明符的開始。
- 轉換標志(可選):- 表示左對齊;+ 表示在轉換的值前加上正負號;" "(空白字符)表示正數之前保留空格;0 表示轉換值若位數不夠則用0填充。
- 最小字段寬度(可選):轉換后的字符串至少應該具有該值指定的寬度。如果是*,則寬度從值元組中讀取。
- 點(.)后跟精度值(可選):如果轉換的是實數,精度值就表示小數點后的位數。如果轉換的是字符串,那么該數字就表示最大字段寬度。如果是*,那么精度將從元組中讀取。
- 轉換類型:
| 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'?
字段寬度和精度
- 字段寬度是轉換后的值保留的最小字符個數。
- 字段精度,對于數字來說,是應該包含的小數位數;對于字符串來說,是轉換后的值所能包含的最大字符個數。
- 這兩個參數都是整數(首先是寬度,然后是精度),以點號(.)分隔。如果只給出精度,就必須包含.號
可以使用*做為字段寬度或精度,此時數值會從元組參數中讀取
>>> '%.*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、find
用于在一個長字符串中查找子串。返回子串所在位置的最左端索引。如果沒有找到則返回-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) # 指定查找的起始點和結束點 -12、join
用于連接序列中的元素,被連接的元素都必須是字符串
>>> 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 "<pyshell#15>", line 1, in <module>'+'.join(seq) TypeError: sequence item 0: expected str instance, int found3、lower
用戶返回字符串的小寫字母
>>> 'HELLO WORLD!'.lower() 'hello world!'4、replace
用于替換字符串中的字符
>>> 'This is a test'.replace('is','eez')'Theez eez a test'5、split
用于將字符串分割成序列
>>> '1+2+3+4+5'.split('+')['1', '2', '3', '4', '5'] >>> '/usr/bin/env'.split('/')['', 'usr', 'bin', 'env']6、strip
用于去除字符串兩側(不包括內部)空格的字符串
>>> ' hello world! '.strip()'hello world!'?
轉載于:https://www.cnblogs.com/eastonliu/p/9094565.html
總結
以上是生活随笔為你收集整理的Python3学习笔记(六):字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图片和图形之性能和视图层次结构(18)
- 下一篇: 自定义react-navigation的