%02d 表示該整型數占空兩位,不夠高位補0 0:補0 , 2:占空2位
%-05d 左對齊
數23: %05d >>00023 %-05d >>>23 占空5格,數字放高位,後面不會再補0
%.2f 表示保留兩位小數
將if else 語句強制性寫在一行的乙個簡單運算
result1 if 判斷條件 else result2
result可以是乙個語句,也可以是乙個值
a= # 假:0 false none "" {} () 真:" ",非0number.....if a:
print("真")
else:
print("假")
print(6 and 8)while迴圈之else>>8
print(6 or 8)
>>6
while 判斷條件:
迴圈語句else:
迴圈語句while迴圈正常結束時,else語句正常執行;非正常結束時,else語句不執行,例如break跳出迴圈屬非正常
注: while 條件:語句 當迴圈語句只有一條時,可以寫在一行
for迴圈之else
同while
使用環境:
沒有給定迴圈次數時,使用while迴圈
給定迴圈具體次數,用for迴圈方便
字串拼接
1.使用 "," 拼接,會在逗號處產生乙個空格
2.使用 "+"拼接,要求資料型別必須相同
3.格式化輸出 %
4.使用函式拼接 " ".join(seq) 拼接,要求序列中元素必須為字串
例: "*".join(list1) 以" * "連線.
字串重複輸出:
str1*n 將str1重複輸出n次
獲取字串中的字元
str1[index] 通過索引值(下標)進行獲取.索引從0開始
取值範圍[0,len(str1))
索引為負數,則從右往左取
字串擷取
str1[start : end : step]
start: 預設0,不給該引數,則從下標0開始
end : 預設len(str1),不給引數則取到末尾
取值範圍[start,end)
字串反** str1[: : -1]
注意: str物件不支援項賦值 ( str[0]="x" :不支援該操作)
判斷包含指定字元
str1 in str2 判斷str1是否是str2的字串
內建函式:
eval(str1) : 將字串轉為有效的表示式並且返回計算的結果 具體就是去掉引號
len(str1) 返回字串長度
字串函式: (操作完後返回的是乙個新的字串)
str1.lower() 將字串中所有大寫字母轉為小寫字母
str1.upper() 將字串中所有小寫字母轉為大寫字母
str1.swapcase() 將字串中大寫變小寫,小寫變大寫
str1.capitalize() 將字串中的第乙個字元轉為大寫,其他都小寫
str1.title() 將字串中每個單詞首字母大寫,其他都小寫
str1.center(50," * ") 返回乙個50長度的字串,str1居中,兩邊補*
str1.ljust(50," * ") 居左 str1.rjust(50," * ") 居右
str1.zfill(width) 返回乙個width長度的字串 ,str1右對齊,前面補0
str1.count(子串,start,end) 統計 子串 在指定範圍內出現的次數,若不指定範圍,則統計整個字串
str1.find(子串,start,end) 在str1中查詢 字串,若存在則返回子串第乙個字母第一次出現時所在下標,若找不到,則返回-1
str1.rfind() 從右往左查詢
str1.index() 作用同str1.find,若找不到,則報錯
str1.lstrip(子串) 去掉左邊指定的字元,若不指定,則預設去掉空白符[\n,\r,\t," "]
str1.rstrip(子串) 去掉右邊指定的字元,若不指定,則預設去掉空白符[\n,\r,\t," "]
str1.strip(子串) 去掉兩邊指定的字元,若不指定,則預設去掉空白符[\n,\r,\t," "]
字串的分割替換
str1.split(子str,maxsplit=3) 引數可以不寫maxslipt 以指定的子字串str對str1進行切片,若不指定字串,則預設以空白符進行切. maxsplit=3:最大切割次數;若不指定,則全部切片. 返回結果以列表list形式顯示
str1.splitlines(keepends=false) 按行切片,keepends=true:保留換行符;false預設,不保留
str1.join(seq) 以指定字串作為分隔符,將序列中的所有元素合併為乙個新字串 (序列中的元素必須為字串) 返回乙個新的字串
str1.replace(子串,新串,count) 將str1中子串替換為指定的新字串,count 為替換個數,替換前幾個;若不指定,則全部替換
str.maketrans(oldstr,newstr) 對映替換 translate()
str1.startswith("str2",start,end) 在給定範圍內,判斷字串是否以給定的字串開頭,若不指定範圍,則預設整個字串
str1.endswith("str2",start,end) 在給定範圍內,判斷字串是否以給定的字串結尾,若不指定範圍,則預設整個字串
str1.encode(encoding="utf-8",errors="scrict") 對字串編碼,若不指定encoding則預設utf-8
str1.decode(encoding="utf-8") 對字元進行解碼,若不指定編碼格式,預設utf-8,例如: "hello".encode("utf-8").decode() 注意:解碼時的編碼格式要與編碼時一致, errors = ignore 的時候,忽略錯誤
判斷是否為字母或數字
str1.isalpha() 判斷字串至少有乙個字元,且所有的字元都是字母,若真返回true,否返回false [不考慮中文]
str1.isalnum() 判斷字串至少有乙個字元,若所有字元都是字母或數字,真則返回true,否返回false [不考慮中文]
判斷大小寫
str1.isupper() 若字串中包含至少乙個字母的字元,若這些字母都是大寫,則返回true,否false
str1.islower() 若字串中包含至少乙個字母的字元,並且這所有的字母都是小寫,則返回true,否false
判斷是否包含特殊字元
str1.istitle() 如果乙個字串是標題化的,則返回true,否則返回false (標題化: 每個首字母大寫 例:"hello word")
str1.isdigit() 只識別阿拉伯數字,羅馬數字
str1若為: unicode數字("1"), byte數字(單位元組)(b"1"), 全形數字(雙位元組)("1"), 羅馬數字 返回true; 若為: 漢字,字母等其他,返回false; 若為無: error
str.isnumeric() 識別阿拉伯數字,漢字數字(包括大小寫:一,壹)
若字串中只包含數字,則返回true,否返回false; str1若為: unicode數字, 全形數字(雙位元組), 羅馬數字, 漢字數字 返回true; 若為: byte數字(單位元組),error; 若為無: false
str1.isdecimal() 只識別阿拉伯數字
判斷str1是否只包含十進位制字元,是true,否false; str1若為: unicode數字,全形數字(雙位元組)返回true; 若為 羅馬數字,漢字數字 返回false; 若為 byte數字 :error
str.isspace() 若果字串只包含空格 ,則返回true(" ", \t , \n, \r ),否則返回false
ascll碼轉換
ord(str1) 獲取字元的ascll值 例:a-->65 "你"-->20320
chr(68) 將編碼轉換成對應的字元 例: 68-->d 20190-->"仞"
實際上是比較字串的ascii碼, 比較時先比較第乙個字元,若相等則比較第二個字元,以此類推.
例:"a">"b" >>false "a"<"b" >>true
字串和While迴圈
字串是以單引號或雙引號括起來的任意文字 建立字串 字串運算 訪問字串中的某乙個字元 字串名 下標 str11 1 a 字串不可變 會報錯 擷取字串中的一部分 str13 shaoge is a good man str16 str13 0 5 從頭擷取到定下標之前 格式化輸出 字串處理函式 len ...
bool 字串方法 和for迴圈
布林值轉換數字 true int int true int false bool int 注意點 只有0是false 布林值轉字串 a s bool a print s a false print type a s str a print s print type s 注意點 字串轉布林值的時候,只...
字串處理 字串迴圈右移
1 字串迴圈右移 解法 根據題意,編寫的函式能把字串迴圈右移n位。例如字串 abcdefghi 如果n 2,移位後是 hiabcdefg 1 先翻轉前段 gfedcba hi 2 再翻轉後段 gfedcba ih 3 最後翻轉整個 hi abcdefg 得到想要的結果。下面是c語言的指標操作 7 1...