數據類型
1.int :數字類型。主要用於計算
int:bit_length() 轉換為二進制的有效位數
i = 3
i1 = int.bit_length(i) print(i1)
int--->str 'int'--->str(int)
2.str:字符串類型。存儲少量的數據,進行操作 用 "" 表示
str--->int(只能是數字) str--->int(str)
str--->bool ""--->False 空就是False
"0"--->True 非空就是True
3.bool:布爾值。True、False 用於判斷
bool--->int True--->1
False--->0
常用:
while True:
pass
while 1: #效率高
pass
4.list:存儲大量的數據 用[]表示
5.dict:字典。采用鍵值對的形式存儲數據 用{ }表示
6.元祖:只讀,不可更改
7.集合:交集,並集
字符串的索引與切片
1.索引
S = S[序列號]
s = 'ASDFGHJK'
s1 = s[0] print(s1)
“-”代表從后向前,從1開始
s = 'ASDFGHJK'
s1 = s[-2] print(s1)
切片:顧頭不顧尾
S = [序列號:序列號]
s = 'ASDFGHJK'
s1 = s[0:3] print(s1)
全選S = [:]或[0:]
s = 'ASDFGHJK'
s1 = s[:] print(s1)
或
s = 'ASDFGHJK' s1 = s[0:] print(s1)
S = [首:尾:步長] 規律只能是等長(步長以2開始)
s = 'ASDFGHJK'
s1 = s[0:5:2] print(s1)
字符串的操作
1. .capitalize() 首字母大寫
s = 'asdfg'
s1 = s.capitalize() print(s1)
輸出結果:Asdfg
2. .upper() 全部大寫
s = 'asdfg' s1 = s.upper() print(s1)
輸出結果:ASDFG
3. .lower() 全部小寫
s = 'asKKfg' s1 = s.lower() print(s1)
輸出結果:askkfg
4. .swapcase() 大小寫翻轉
s = 'asKKfg' s1 = s.swapcase() print(s1)
輸出結果:ASkkFG
5. .title() 數字,空格和特殊字符分開的首字母大寫
s = 'asd bug*nf_ag' s1 = s.title() print(s1)
輸出結果:Asd Bug*Nf_Ag
6. .center() 設置長度並居中,填充為任意
s = 'asda' s1 = s.center(8) print(s1)
輸出結果: asda
7. .expandtabs() 有\t自動補全8位字符(8位為一組)
s = 'as\tda' s1 = s.expandtabs() print(s1)
輸出結果:as da
8. .startswith() 判斷以什么為開頭(返回的是布爾值)
ret5 = a4.startswith("kfj",1,4) print(ret5)
9. .endswith() 判斷以什么為結尾(返回的是布爾值)
ret4 = a4.endswith('jdk',3,6) # 顧頭不顧腚 print(ret4) # 返回的是布爾值
10. .find() 尋找字符串中的元素是否存在,返回的是找到的元素的索引,找不到返回-1
ret6 = a4.find("fjdk",1,6) print(ret6) # 返回的找到的元素的索引,如果找不到返回-1
11. .index() 尋找字符串中的元素是否存在,返回的是找到的元素的索引,找不到會報錯
ret61 = a4.index("fjdk",4,6) print(ret61) # 返回的找到的元素的索引,找不到報錯。
12. .strip() 默認去除前后的空格,可以特定元素
name='*egon**' print(name.strip('*')) #(*是特定的元素) print(name.lstrip('*'))#去除前面的空格 print(name.rstrip('*'))#去除后面的空格
13. .split() 以什么分割,最終形成一個列表此列表不含這個分割的元素 ,str--->list的方式
ret9 = 'title,Tilte,atre,'.split('t') print(ret9) ret91 = 'title,Tilte,atre,'.rsplit('t',1) print(ret91)
14. .format() 格式化輸出(相當於%s)
s = '我叫{},今年{},愛好{},再說一下我叫{}'.format('太白',36,'girl','太白') print(s) name = input('請輸入名字:') s = '我叫{0},今年{1},愛好{2},再說一下我叫{0}'.format(name,36,'girl') print(s) name = input('請輸入名字:') s = '我叫{name},今年{age},愛好{hobby},再說一下我叫{name}'.format(age=18,name=name,hobby='girl') print(s)
15. .replace() 替換某個字符串,默認替換全部要替換的元素,也可以后面加次數
用法:replace('舊元素','新元素','次數')
16. .isalnum() 字符串由字母或數字組成
17. .isalpha() 字符串只由字母組成
18. .isdigit() 字符串只由數字組成
name='jinxin123' print(name.isalnum()) #字符串由字母或數字組成 print(name.isalpha()) #字符串只由字母組成 print(name.isdigit()) #字符串只由數字組成
19. .count() 字符串中元素出現的個數(可切片)
公共方法
len() 查詢字符串長度
range:指定范圍,生成指定數字。
for i in range(1,10): print(i) for i in range(1,10,2): # 步長 print(i) for i in range(10,1,-2): # 反向步長 print(i)
for循環
for....in....有限循環,循環結束就結束了
msg = '我們不一樣,人生苦短我用python' for item in msg: print(item) li = ['alex','銀角','女神','egon','太白'] for i in li: print(i) dic = {'name':'太白','age':18,'sex':'man'} for k,v in dic.items(): print(k,v)