十三、整型(int) 基本操作: 1.+ - * / % // ** 2. .bit_length() 計算整數在記憶體中占⽤的⼆進位碼的⻓度 如: 十四、布爾值(bool) True False 1.字元串 => 數字 int() 數字 = > 字元串 str() x => y類型 y(x) 結論: ...
十三、整型(int)
基本操作:
1.+ - * / % // **
2. .bit_length() 計算整數在記憶體中占⽤的⼆進位碼的⻓度
如:
十四、布爾值(bool) True False
1.字元串 => 數字 int()
數字 = > 字元串 str()
x => y類型 y(x)
結論: 想把xxx數據轉化成yy類型的數據. yy()
2.能夠表示False的數據: 0, "", [], {}, set(), tuple(), None, False
十五、字元串(str) ' " ''' """
字元串是不可變的,無論如何操作,對原來的字元串都不影響。
s = "今天中午吃包"
1.索引 s[]
print(s[2]) #輸出結果為 "中"
print(s[-2]) #輸出結果為 "吃"
2.切片 變數[start:end] 顧頭不顧尾 end取不到
s = "中間的,你們為什麼不說話.難受"
# print(s[3:7]) # ,你們為
# print(s[5:9]) # 們為什麼
# print(s[-3: -7]) # 切不到東西, 預設是從左往右切
# print(s[-7: -3]) # 麽不說話
# print(s[:6]) # 從頭開始切
# print(s[6:]) # 切到末尾
# print(s[:]) # 從開始到結束
3.步長 預設是1 每xxx個取一個
[start: end: step]
s = "abcdefghijklmn"
print(s[::2])
print(s[1:5:3])
print(s[7:3]) # 預設步長1 從左往右切
print(s[7:3:-1]) # 從右往左切
step可以控制方向. 如果step是正數. 從左往右切. 如果是負數 . 從右往左切
print(s[-1:-8: -2]) # nljh
如:
4. s.upper() 全部轉成大寫
s.lower() 全部轉成小寫 (有問題)
s.casefold() 全部轉成小寫
s.capitalize() 把首字母變成大寫
s.title() 每個單詞的首字母(非字母間隔)大寫
s.swapcase() 大寫變小寫 小寫變大寫
5. s.strip() 去掉左右兩端的空白(空格、\t、\n)
中間不改變
s.strip("2") 去掉字元串中的 2
s.lstrip() 去掉左邊空格
s.rstrip() 去掉右邊空格
s.center(10) 在10個字元中居中
s.center(10,"-") 居中,其他位置用 - 填充
6. s.replace("a","b") 把s中的a替換成b
s.replace(" ","") 去掉內部空格
s.replace("a","b",2) 替換兩次
7. s.split("_") 以 _ 進行切割 切割出的結果放在列表中
s.split("_",1) 以第一個 _ 進行切割
8.s.startswith("李") 判斷是否以"李"開頭
s.endswith("李") 判斷是否以"李"結尾
9. s.count("i") 計數 i 出現的次數
10. s.find("i") 查找 i 是否存在
存在輸出 索引 第一個 i出現的位置
不存在輸出 -1
s.index("i") 查找 i 是否存在
存在輸出 索引
不存在 報錯
11. s.isdigit() 是否是數字組成 (阿拉伯數字)
s.isalpha() 是否是基本的文字(字母、中文)
s.isnumeric() 是否是數字(任何形式的數字 如 一、二、三 壹、貳 仟 百)
s.isupper() 是否是大寫
s.islower() 是否是小寫
12. len(s) 字元串長度 內置函數
十六,for 迴圈
or迴圈遍歷字元串
for 變數 in 可迭代對象:
迴圈體
for c in s: # c: charactor(字元) s: string
print(c)
in有兩種⽤法:
1. 在for中. 是把每⼀個元素獲取到賦值給前⾯的變數.
2. 不在for中. 判斷xxx是否出現在str中.