python學習筆記:字串基礎
1、字串的切片(擷取)
語法為:str[(start=0):(end+1=len(str)):(step=1)]
從start開始,每step個字元擷取一個字元,直到end
有正向索引和負向索引,從0到len或者從後向前-1到len
如果步長step為負數,則start預設為-1,end預設為-(len+1),即反向擷取
如果步長step為正數,則start預設為0,end預設為len,即正向擷取
例題:判斷一個字串是否為迴文串
mystr = input("Please input a number")
if mystr[::1] == mystr[::-1]:
print("This is a Huiwenchuan")
else:
print("This is not a Huiwenchuan")
2、python中常用序列函式:
len(a)
max(a):返回序列a中最大值
min(a):返回序列a中最小值
3、字元編碼轉換函式:
ord(c) 返回字元c的unicode編碼
chr(i) 返回unicode編碼i對應的字元
4、整數轉字串函式
hex(i) 將整數轉換為16進位制字串
oct(i) 將整數轉換為8進位制字串
bin(i) 將整數轉換為2進位制字串
5、字串建構函式
str(obj)
6、python中常用字串方法(method)
s.strip() 去掉字串開頭和末尾的空格和換行符
s.strip('abc') 把'abc'轉換成陣列,從左邊或者右邊開始向中間,去掉字串中的字元a,b和c,直到遇到字元不在該字串裡
s.lstrip()
s.rstrip()
這些函式預設去掉字串左邊和右邊的空格和回車等不顯示字元
s.count('abc') 返回s字串中子串abc出現的次數,注意:字串'cccccc'中'cc'子串出現的次數為3
s.capitalize() 首字母轉大寫
s.center(width[,fillChar])把字串a放在長度為width的新串的中心,其餘用Fillchar填充,fillChar預設為' '
s.find('abc')在字串中尋找'abc'找到返回a的位置,找不到返回-1
s.index('abc')在字串中尋找'abc'找到返回a的位置,找不到報錯
s.replace(oldstr,newstr[,count=正無窮])用newstr替換s中前count個oldstr,未找到oldstr則不做更改;注意'cccccc'.repalce('cc','a') = 'aaa'
s.startswith(prefix[,start[,end]])字串是否以prefix字串為開頭
s.endswith(suffix[,start[,end]])字串是否以suffix為結尾
s.isalnum()字串是否全是字母和數字
s.isalpha()字串是否全是字母
s.isdigit()字串是否全是數字
s.isspace()字串是否全是空白符
s.islower()字串中字母是否全是小寫
s.isupper()字串中字母是否全是大寫
s.istitle()字串是否首字母大寫
7、字串格式化表示式:生成一定格式的字串
運算子 %
語法格式為:格式化字串 % 引數值
或者
格式化字串 % (引數值1 , 引數值2 ...引數值n)
格式化字串中%加型別碼構成佔位符,實際使用時用引數代替
例子:
mystr = "name: %s, age: %d"
print(fmt % ('WilliamCode','19')
格式化字串中的型別碼:
%s 字串
%r 字串repr
%c 數值轉單個字元
%d 以十進位制數顯示
%x 以16進位制數顯示,字母為a-f
%X 以16進位制數顯示,字母為A-F
%o 以8進位制數顯示
%e 以指數形式顯示浮點數,e小寫
%E 以指數形式顯示浮點數,E大寫
%f %F 顯示浮點數
%g %G 十進位制顯示浮點數,自動決定顯示浮點或者指數
8、佔位符和型別碼之間的關係
%[-+0寬度.精度]x
-左對齊
+顯示正負號
0空位置補0
注:對於整數,精度代表前面補0補到一共多少位,對於浮點數,指保留幾位小數