一、數(shù)字類型
1.整型:
num = 500000
print(num,type(num))
2浮點(diǎn)型(小數(shù)):
num = 5.62
print(num,type(num))
bool:
True:是有值的
列子:
res = True print(res, type(res), isinstance(res, int)) print(3.14 True)結(jié)果為4.14
False
復(fù)數(shù)(complex):
num = complex(5, 4)? # 5 4j(左邊為實(shí)數(shù),右邊為虛數(shù)加j)
重點(diǎn):數(shù)據(jù)類型可以直接轉(zhuǎn)化
a=3
b=5.2
c=True
print(int(a),int(b),int(c))? ? 輸出結(jié)果為 3,5,1
float 和bool同理
字符串(str)
就是在引號(hào)內(nèi)包含多個(gè)字符,但仍然還是一個(gè)整體。
定義:可以有多種引號(hào)嵌套
''? ? "? ?"為單行字符串
‘’‘’‘’? ?“”“? ?”“”? ?為多行字符串
列子:
你是"好學(xué)生" s1 = "你是\"好學(xué)生\"" print(s1) 可以通過(guò)引號(hào)的嵌套,使內(nèi)部不同的引號(hào)在不轉(zhuǎn)義的情況下直接輸出 s2 = '你是"好學(xué)生"' print(s2)
需求:你是"好學(xué)生",是'我的' s3 = """你是"好學(xué)生",是'我的'""" print(s3)
字符串的常規(guī)操作:
1.字符串的索引取值: 字符串[index] 正向取值從0編號(hào),反向取值從-1編號(hào)
列子: s1 = '123abc呵呵' 取出c print(s1[5], s1[-3])
# 2.字符串拼接
列子: s2 = '你好' s22 = '帥' ss2 = s2 s22 如果要拼接其他類型 a = 10 b = "20" c = True ?結(jié)果:res = "1020True"
方法1: res = "%s%s%s" % (a, b, c)? print(res)
方法2: res = str(a) b str(c)? print(res)
3.字符串長(zhǎng)度
列子: s3 = '12345' ln1 = s3.__len__() print(ln1) ln2 = len(s3) print(ln2)
?4.字符串切片: 取子字符串 - [::] - [start_index:end_index:step]
列子: s4 = '123abc呵呵' sub_s = s4[0:6:] print(sub_s) 結(jié)果為:123abc sub_s = s4[0:6:2] print(sub_s) 結(jié)果為:13b sub_s = s4[::-1] print(sub_s) 結(jié)果為:呵呵cba321 sub_s = s4[-1:-6:-1] print(sub_s) 結(jié)果為:呵呵cba
5.成員運(yùn)算:判斷某字符串是否在該字符串中
列子: s5 = '123abc呵呵' ss5 = '12a' print(ss5 in s5)? ? ? ? ?False print(ss5 not in s5)? ? ? ? True
按順序判斷 ?6.字符串循環(huán)(遍歷) s6 = '123abc呵呵' for v in s5: print(v)
重要方法:
1.索引(目標(biāo)字符串的索引位置) s1 = '123abc呵呵' print(s1.index('b'))結(jié)果為4
2.去留白(默認(rèn)去兩端留白,也可以去指定字符) s2 = '***好 * 的 ***' print(s2.strip('*'))
?3.計(jì)算子字符串個(gè)數(shù) s3 = '12312312' print(s3.count('123'))
?4.判斷字符串是否是數(shù)字:只能判斷正整數(shù) s4 = '123' print(s4.isdigit())
5.大小寫轉(zhuǎn)換 s5 = "AbC def" print(s5.upper())? 全大寫ABC DEF print(s5.lower())? 全小寫abc def 了解 print(s5.capitalize()) 首字母大寫Abc def print(s5.title())? 每個(gè)單詞首字母大寫Abc Def
?6.以某某開(kāi)頭或結(jié)尾 s6 = 'https://www.baidu.com' r1 = s6.startswith('https:') r2 = s6.startswith('http:') r3 = s6.endswith('com') r4 = s6.endswith('cn') if (r1 or r2) and (r3 or r4): print('合法的鏈接') else: print('非合法的鏈接') ?7.替換
列子: s7 = 'lion say: he is da shuai b,lion!lion!lion!' new_s7 = s7.replace('lion', 'Liu某')? 默認(rèn)替換所有 print(new_s7) new_s7 = s7.replace('egon', 'Liu某', 1)? 替換一次 print(new_s7)
8.格式化
列子: s8 = 'name:{},age:{}' print(s8.format('Owen', 18))? 默認(rèn)按位置 print('name:{1},age:{1}, height:{1}'.format('Owen', 18)) 標(biāo)注位置,一個(gè)值可以多次利用 print('name:{n},age:{a}, height:{a}'.format(a=18, n="Zero")) 指名道姓
擴(kuò)展:
1. find | rfind:查找子字符串索引,無(wú)結(jié)果返回-1 2. lstrip:去左留白 3. rstrip:去右留白 4. center | ljust | rjust | zfill:按位填充 語(yǔ)法:center(所占位數(shù), '填充符號(hào)') 5. expandtabs:規(guī)定\t所占空格數(shù) 6. captialize | title | swapcase:首字母大寫 | 單詞首字母大寫 | 大小寫反轉(zhuǎn) 7. isdigit | isdecimal | isnumeric:數(shù)字判斷 8. isalnum | isalpha:是否由字母數(shù)字組成 | 由字母組成 9. isidentifier:是否是合法標(biāo)識(shí)符 10. islower | isupper:是否全小 | 大寫 11. isspace:是否是空白字符 12. istitle:是否為單詞首字母大寫格式
列表:
定義:
在[]中用,分隔開(kāi)多個(gè)任意類型的值
列表中按索引取值,索引都是從0開(kāi)始
常規(guī)操作:
?1.索引取值: 列表名[index]
列子: s1 = [1, 3, 2] print(s1[0])? ? ?1? ? ? print(s1[-1])? ? 2
?2.列表運(yùn)算: 得到的是新list
列子: s2 = [1, 2, 3] print(s2 s2)? [1,2,3,1,2,3] print(s2 * 2)同上 print(s2)
3.list的長(zhǎng)度
列子: s3 = [3, 4, 1, 2, 5] print(len(s3))結(jié)果為5
?4.切片:[start_index:end_index:step] s4 = [3, 4, 1, 2, 5] new_s4 = s4[::-1]結(jié)果為 5,2,1,4,3 print(new_s4) new_s4 = s4[1:4:]結(jié)果為;4,1,2 print(new_s4) new_s4 = s4[-2:-5:-1]結(jié)果為:2,1,4 print(new_s4)
5.成員運(yùn)算:in
列子 s5 = [3, 4, '1', 2, 5] print('1' in s5) print(1 in s5) print(5 not in s5)
?6.循環(huán) for v in s5: print(v, type(v))
?只打印數(shù)字類型的數(shù)據(jù) for v in s5: if isinstance(v, int): print(v, end=' ')
增刪改查:
列表的增刪改查列子:
ls = [1, 2, 3]
增:
ls.append(0) 在末尾增 print(ls) ls.insert(1, 666) 任意index前增 print(ls) ls.insert(len(ls), 888)? insert實(shí)行末尾增 print(ls)
刪:
ls.remove(888) print(ls) res = ls.pop() 默認(rèn)從末尾刪,并返還刪除的值 print(res) res = ls.pop(1)? 從指定索引刪除,并返還刪除的值 print(res, ls) 了解: del ls[2] print(res, ls) 清空 ls.clear() print(ls)
了解的方法:
1.排序: 針對(duì)于同類型
列子: ls = ['3', '1', '2'] ls.sort()? 默認(rèn)正向排序 print(ls) ls.sort(reverse=True)? 正向排序結(jié)果上翻轉(zhuǎn),形成倒序 print(ls)
2.翻轉(zhuǎn)
列子: ls = ['3', '1', '2'] ls.reverse() 按存儲(chǔ)的順序進(jìn)行翻轉(zhuǎn) print(ls)
3.計(jì)算值的個(gè)數(shù) => 列表中可以存放重復(fù)數(shù)據(jù)
列子: ls = [1, 2, 1, 2, 3, 1] print(ls.count(1))? 對(duì)象1存在的次數(shù)
拓展:
1.整體增加,添加到末尾
列子: ls = [1, 2, 3] ls.extend('123') print(ls) ls.extend([0, 1, 2]) print(ls)
2.目標(biāo)的索引位置,可以規(guī)定查找區(qū)間
列子: ls = [1, 2, 1, 2, 3, 1] ?找對(duì)象1,在索引3開(kāi)始往后找到索引6之前 ind = ls.index(1, 3, 6) print(ind)
? 可變類型:
地址不變,值可以發(fā)生改變的就是可變類型(字典,列表)
不可變類型:
地址發(fā)生改變,值也發(fā)生改變的就是不可變類型(數(shù)字,字符串)
? 來(lái)源:http://www./content-1-166701.html
|