python學習筆記3(字串)
阿新 • • 發佈:2019-01-01
字串
定義:以單引號或雙引號括起來的任意文字
#建立字串
str1 = 'sunck is a good man!'
字串運算
#字串連線 str2 = 'sunck is a' str3 = 'good man' str4 = str2 +str3 print(str4) #輸出重複的字串 str5 = 'good' str6 = str5 *3 print('str6 =',str6) #訪問字串中的某個字元 #通過索引下標查詢字元,索引從0開始 str7 = 'sunck is a good man!' print(str7[1]) #擷取字串中的一部分 #從給定下標處擷取到給定下標之前 str8 = str7[:5] #從給定下標處開始擷取到結尾 str9 = str7[5:] #判斷某字串是否在另一字串中 print("good" in str7) print("good1" not in str7)
格式化輸出
#格式化輸出 print("sunc is a good man") num = 10 str10 = "sunck is a nice man!" f = 10.1267 print("num =", num, "str10 =", str10) # %d %s %f 佔位符 # %.3精確到小數點後3位,會四捨五入 print("num = %d, str19 = %s, f = %.3f" % (num, str10, f)) # \\結果只現實一個\,第一個作為轉義字元 print("sunck \\ is") # \' \",不然外面要用三引號 print('tom is a \'good\' man') print("tom is a \"good\" man") #如果字串內有很多換行,用\n寫在一行不好閱讀 #可用三引號保留字串的格式 print("good\nnice\nhandsome") print(''' good nice handsome ''') #製表符 \t print("sunck\tgood") #如果字元中有好多字串都需要轉義,就需要加入好多\, # 為了簡化,Python允許用r表示內部的字串預設不轉義 # \\\t\\ print("\\\t\\") #結果 ‘\ \’ print(r"\\\t\\") #結果 ‘\\\t\\’ print(r"C:\Users\xlg\Desktop\Python-1704\day03") #結果 ‘C:\Users\xlg\Desktop\Python-1704\day03’ print("C:\\Users\\xlg\\Desktop\\Python-1704\\day03") #結果‘C:\Users\xlg\Desktop\Python-1704\day03’ ''' 不同的作業系統的路徑表示方法 windows C:\\Users\\xlg\\Desktop\\Python-1704\\day03 linux /root/user/sunck/Desktop/Python-1704/day03 '''
其他字串中常用方法
#eval(str) #功能:將字串str當成有效的表示式來求值並返回計算結果 num1 = eval("123") print(num1) #123 print(type(num1)) #int print(eval("+123")) #123 print(eval("-123")) #-123 print(eval("12+3")) #15 print(eval("12-3")) #9 a123 = 234 print(eval("a123")) #234 #print(eval("12a3")) #報錯 #len(str) #返回字串的長度(字元個數),空格,漢字都佔一個字元 print(len("sunckisagoodman")) #輸出15 print(len("sunck is a good man")) #輸出19 print(len("sunck is a good man凱")) #輸出20 #lower()轉換字串中大寫字母為小寫字母 str20 = "SUNCK is a Good Man!凱" str21 = str20.lower() print(str21) print("str20 = %s" %(str20)) #upper()轉換字串中小寫字母為大寫字母 str21 = "SUNCK is a Good Man!" print(str21.upper()) #swapcase()轉換字串中小寫字母為大寫字母,大寫字母為小寫字母 str22 = "SUNCK is a gOOd mAn!" print(str22.swapcase()) #capitalize() 首字母大寫,其他小寫 str23 = "SUNCK is a gOOd mAn!" print(str23.capitalize()) #title()每個單的首字母大寫 str24 = "SUNCK is a gOOd mAn!" print(str24.title()) # character char #center(width[, fillchar]) #返回一個指定寬度的居中字串,fillchar為填充的字串,預設空格填充 str25 = "kaige is a nice man" print(str25.center(40,"*")) #輸出 **********kaige is a nice man*********** #ljust(width[, fillchar]) #返回一個指定寬度的左對齊字串,fllchar為填充字元,預設空格填充 str26 = "kaige is a nice man" print(str26.ljust(40, "%")) #輸出:kaige is a nice man%%%%%%%%%%%%%%%%%%%%% #rjust(width[, fillchar]) #返回一個指定寬度的右對齊字串,fllchar為填充字元,預設空格填充 str27 = "kaige is a nice man" print(str26.rjust(40, "%")) #輸出:%%%%%%%%%%%%%%%%%%%%%kaige is a nice man #zfill(width) #返回一個長度為width的字串,原字串右對齊,前面補0 str28 = "kaige is a nice man" print(str28.zfill(40)) #count(str[,start][,end]) #返回字串中strc出現的次數,可以指定一個範圍,預設從頭到尾 str29 = "kaige is a very very nice man" print(str29.count("very",15, len(str29) )) #輸出1 #find(str[, start][,end]) #從左向右檢測str字串是否包含在字串中,可以指定範圍,預設從頭到尾。得到的是第一次出現的開始下標,沒有返回-1 str30 = "kaige is a very very nice man" print(str30.find("very")) #輸出11 #沒有時輸出-1,而不報錯 print(str30.find("good")) #輸出-1 print(str30.find("very", 15, len(str30))) #輸出16 #rfind(str[, start][,end])] #從右向左檢測 str30 = "kaige is a very very nice man" print(str30.rfind("very")) #輸出16 #print(str30.rfind("good")) #輸出-1 print(str30.rfind("very", 0, 15)) #輸出11 #index(str, start=0, end=len(str)) #根find()一樣,只不過如果str不存在的時候回報一個異常 str31 = "kaige is a very very nice man" #print(str31.index("good")) #報錯:ValueError: substring not found #rindex(str, start=0, end=len(str)) #根rfind()一樣,只不過如果str不存在的時候回報一個異常 str32 = "kaige is a very very nice man" print(str32.rindex("very")) #lstrip()截掉字串左側指定的字元,預設為空格 str33 = "*******kaige is a nice man" print(str33.lstrip("*")) #輸出:kaige is a nice man #rstrip()截掉字串右側指定的字元,預設為空格 str34 = "kaige is a nice man " print(str34.rstrip(), "*") #輸出:kaige is a nice man * #strip()截掉所有指定的字元 str35 = "*******kaige is a nice man*********" print(str35.strip("*")) #輸出:kaige is a nice man #ord()函式用來返回對應字元的ascii碼 #chr()用來表示ascii碼對應的字元他的輸入時數字,可以用十進位制,也可以用十六進位制。 str36 = "a" print(ord(str36)) #輸出:97 str37 = chr(65) print(str37) #輸出:A print (chr(0x61)) #輸出:a print(" " != " ") #輸出:False