Python基礎入門—字符串

字符串

  • 字符串是不可變數據類型
  • 字符串在Python裏是一個對象,面向對象就是經過類實例化一個對象,經過對象調方法

字符串的建立

  1. 賦值建立
s = 'hello world'      
print(s)
type(s)

hello world
str
  1. str()函數轉化
s = str(3.14)
s
type(s)

'3.14'
str

字符串的常見運算

字符串的首尾拼接

  • ‘+’加號能夠把兩個字符串首尾鏈接起來
a = 'pyt'
b = 'hon'
a+b   

'python'

字符串的重複輸出

  • '*' 乘號能夠把字符串重複輸出
print('abc'*10)

abcabcabcabcabcabcabcabcabcabc

判斷元素存在否

'32' in '132'

True

字符串的索引和切片

字符串是一個可迭代對象,具備索引值屬性,可作切片git

字符串切片的標準語法:
str[開始位置, 終止位置, 步長和方向]
注意:選區的區間屬於左閉右開型,即從「起始」位開始,到「結束」位的前一位結束(不包含結束位 自己)。api

s = "人生苦短,我用python"
s[0]
s[-1]
s[2:-4]

'人'
'n'
'苦短,我用py

str[:] 表示所有索引
str[-1] 最後一個字符負數下標爲-1函數

字符串的經常使用方法

字符串的檢索

語法 解釋
字符串.count(尋找的對象, 開始索引值,結束索引值) 返回:你尋找的對象,在字符串裏面出現的次數
字符串.find(要查找的對象,最小的索引值,結束索引值) 若是對象包含在字符串內,則返回開始的索引值,不然返回-1
字符串.index(要查找的對象,最小的索引值,結束索引值) 若是對象包含在字符串內,則返回開始的索引值,不然報錯
a = '我愛北京天安門,天安門上太陽升'
a.count("天安門")
a.find('門')

2
5

字符串的分割

語法 解釋
字符串.split("分割符",分割次數) 返回:分割後的列表(默認以特殊字符分割,空格
字符串.1 按照行分隔,返回一個包含各行做爲元素的列表。
字符串.partition(分隔符) 把str以分隔符爲標準,分割成三部分,str前,str和str後,返回元組
s = 'hello world'
s.split()
a = 'abcd哈fgabcd哈123'
a.partition('哈')

['hello', 'world']
('abcd', '哈', 'fgabcd哈123')   #默認是第一個分割,分紅三部分,返回的是元組

字符串的合併

"合併符".join(字符串)性能

"**".join('1,2,3,4,5,6,7,8')

'1**,**2**,**3**,**4**,**5**,**6**,**7**,**8'

字符串的替換

字符串.replace(被替換的字符, 用來替換的字符, 替換次數)編碼

s = "我愛北京天安門,天安門上太陽升"
s.replace('天安門', '故宮')

'我愛北京故宮,故宮上太陽升'  #默認所有替換

去除字符串兩端的特殊字符方法

  1. 去除兩邊—— 字符串.strip(能夠傳入指定去除什麼)
  • 刪除str字符串兩端的空白字符以及特殊字符
  • 這裏的特殊字符包括製表符\t、回車符\r、換行符\n
  1. 去除單邊
  • 字符串.rstrip()——只去除右邊的空格和特殊字符
  • 字符串.lstrip()——只去除左邊的空格和特殊字符
b = "   1241235    "
b.strip()

'1241235'

字符串的格式化輸出

format()方法的使用,關鍵是掌握參數的傳遞方式;spa

print('{}的年齡是{}歲{}'.format('Tom', 20 ,'!'))  # 依次傳入
Tom的年齡是20歲!

print('{0}的年齡是{2}歲{1}'.format('Tom','!', 20)) #也在{}裏面填入索引值  
Tom的年齡是20歲!

'{name}的年齡是{age}'.format(age=20,name='Tom') # 參數位置能夠不按順序顯示。
Tom的年齡是20

字符串的方法總覽

方法 描述
title() 每一個單詞首字母大寫
lower()/upper() 所有小寫/大寫
capitalize() 首字母大寫,其他小寫
swapcase() 反轉大小寫
join(seq) 以指定字符串做爲分隔符,將 seq 中全部的元素(的字符串表示)合併爲一個新的字符串,相對於運算符而言,性能更佳
rstrip() 刪除字符串字符串末尾的空格.
istrip() 刪除字符串開頭的空格
strip([chars]) 在字符串上執行 lstrip()和 rstrip()
ljust(width[, fillchar]) 返回一個原字符串左對齊,並使用 fillchar 填充至長度 width 的新字符串,fillchar 默認爲空格。
rjust(width,[, fillchar]) 返回一個原字符串右對齊,並使用fillchar(默認空格)填充至長度 width 的新字符串
zfill (width) 返回長度爲 width 的字符串,原字符串右對齊,前面填充0
bytes.decode(encoding="utf-8", errors="strict") Python3 中沒有 decode 方法,但咱們可使用 bytes 對象的 decode() 方法來解碼給定的 bytes 對象,這個 bytes 對象能夠由 str.encode() 來編碼返回。
len(string) 返回字符串長度
center(width, fillchar) 返回一個指定的寬度 width 居中的字符串,fillchar 爲填充的字符,默認爲空格。
count(str, beg= 0,end=len(string)) 返回 str 在 string 裏面出現的次數,若是 beg 或者 end 指定則返回指定範圍內 str 出現的次數
find(str, beg=0 end=len(string)) 檢測 str 是否包含在字符串中,若是指定範圍 beg 和 end ,則檢查是否包含在指定範圍內,若是包含返回開始的索引值,不然返回-1
index(str, beg=0, end=len(string)) 跟find()方法同樣,只不過若是str不在字符串中會報一個異常.
rfind(str, beg=0,end=len(string)) 相似於 find()函數,不過是從右邊開始查找.
startswith(str, beg=0,end=len(string)) 檢查字符串是不是以 obj 開頭,是則返回 True,不然返回 False。若是beg 和 end 指定值,則在指定範圍內檢查。
endswith(suffix, beg=0, end=len(string)) 檢查字符串是否以 obj 結束,若是beg 或者 end 指定則檢查指定的範圍內是否以 obj 結束,若是是,返回 True,不然返回 False
max(str) 返回字符串 str 中最大的字母。
min(str) 返回字符串 str 中最小的字母。
lstrip() 截掉字符串左邊的空格或指定字符。
isalnum() 若是字符串至少有一個字符而且全部字符都是字母或數字則返 回 True,不然返回 False
isalpha() 若是字符串至少有一個字符而且全部字符都是字母則返回 True, 不然返回 False
isdigit() 若是字符串只包含數字則返回 True 不然返回 False
islower() 若是字符串中包含至少一個區分大小寫的字符,而且全部這些(區分大小寫的)字符都是小寫,則返回 True,不然返回 False
isnumeric() 若是字符串中只包含數字字符,則返回 True,不然返回 False
isspace() 若是字符串中只包含空白,則返回 True,不然返回 False.
istitle() 若是字符串是標題化的(見 title())則返回 True,不然返回 False
isupper() 若是字符串中包含至少一個區分大小寫的字符,而且全部這些(區分大小寫的)字符都是大寫,則返回 True,不然返回 False
isdecimal() 檢查字符串是否只包含十進制字符,若是是返回 true,不然返回 false。
rindex( str, beg=0, end=len(string)) 相似於 index(),不過是從右邊開始.
index(str, beg=0, end=len(string)) 跟find()方法同樣,只不過若是str不在字符串中會報一個異常
split(str="", num=string.count(str)) num=string.count(str)) 以 str 爲分隔符截取字符串,若是 num 有指定值,則僅截取 num 個子字符串
replace(old, new [, max]) 將字符串中的 str1 替換成 str2,若是 max 指定,則替換不超過 max 次。
splitlines([keepends]) 按照行('\r', '\r\n', \n')分隔,返回一個包含各行做爲元素的列表,若是參數 keepends 爲 False,不包含換行符,若是爲 True,則保留換行符。
translate(table, deletechars="") 根據 str 給出的表(包含 256 個字符)轉換 string 的字符, 要過濾掉的字符放到 deletechars 參數中
maketrans() 建立字符映射的轉換表,對於接受兩個參數的最簡單的調用方式,第一個參數是字符串,表示須要轉換的字符,第二個參數也是字符串表示轉換的目標。
expandtabs(tabsize=8) 把字符串 string 中的 tab 符號轉爲空格,tab 符號默認的空格數是 8 。

  1. 字符串.splitlines()按照行('\r', '\r\n', \n')分隔,返回一個包含各行做爲元素的列表。參數 keepends 默認爲 False,去掉了換行符,若是爲 True,則保留換行符。code

相關文章
相關標籤/搜索