Python03
一.python基本數(shù)據(jù)類(lèi)型
1. int==> 整數(shù).主要用來(lái)進(jìn)行數(shù)學(xué)運(yùn)算
2. str==>字符串,可以保存少量數(shù)據(jù)并進(jìn)行相應(yīng)的操作
3. bool==>判斷真假,True,False
4. list==>存儲(chǔ)大量數(shù)據(jù)的用[]表示
5. tuple==>元組,不可以發(fā)生改變用()表示
6. dict==>字典,保存鍵值對(duì),一樣可以保存大量數(shù)據(jù)
7. set==>集合,保存大量數(shù)據(jù),不可以重復(fù).其實(shí)就是不保存vaule的dict
二.整數(shù)(int)
常見(jiàn)操作就是加減乘除 //**
bit_length() 一個(gè)數(shù)的二進(jìn)制長(zhǎng)度
三.布爾值(bool)
取值只有True, False. bool值沒(méi)有操作.
轉(zhuǎn)換問(wèn)題:str => int int(str) int => str str(int) int => bool bool(int). 0是False 非0是True bool=>int int(bool)
True是1, False是0 str => bool bool(str)空字符串串是False, 不空是True bool => str str(bool) 把bool值轉(zhuǎn)換成相應(yīng)的"值"
四.字符串.在python中用',",''',"""引起來(lái)的內(nèi)容稱(chēng)為字符串.
1.切片和索引
1.索引:就是下標(biāo).切記,下標(biāo)從0開(kāi)始
s1="python最牛B"
print(s1[0]) p
print(s1[1]) y
print(s1[2]) t
print(s1[3]) h
print(s1[4]) o
print(s1[5]) n
print(s1[8]) B
print(s1[-2]) 牛
2.切片,我們可以使用下標(biāo)來(lái)截取部分字符串的內(nèi)容
語(yǔ)法:str[start:end]
規(guī)則:顧頭不顧腚,從start開(kāi)始截取.截取到end位置.但不包括end
s2="python最牛B"
print(s2[0:3]) 結(jié)果:pyt
print(s2[6:9]) 結(jié)果:最牛B
print(s2[-1:-5]) 沒(méi)有結(jié)果
print(s2[-5:]) 結(jié)果:on最牛B
print(s2[:]) 結(jié)果:python最牛
3.跳著截取
跳著取步長(zhǎng)
print(s2[1:5:2]) 結(jié)果:yh
print(s2[:5:2]) 結(jié)果:pto
print(s2[4::2]) 結(jié)果;o最B
print(s2[-1:-5]) 結(jié)果:什么都沒(méi)有
步長(zhǎng): 如果是整數(shù), 則從左往右取. 如果是負(fù)數(shù). 則從右往左取. 默認(rèn)是1 切片語(yǔ)法:
str[start?step] start: 起始位置 end: 結(jié)束位置 step:步長(zhǎng)
4. 字符串串的相關(guān)操作方法 切記, 字符串串是不可變的對(duì)象, 所以任何操作對(duì)原字符串串是不會(huì)有任何影響的
1.大小寫(xiě)轉(zhuǎn)來(lái)轉(zhuǎn)去
s2.capitalize()
print(s1) 輸出沒(méi)有發(fā)現(xiàn)并沒(méi)有任何的變化,因?yàn)檫@里的字符串本身是不會(huì)發(fā)生改變的.需要我們重新獲取的的.
ret1 = s1.capitalize()
print(ret1)
大小寫(xiě)的轉(zhuǎn)換
ret=s1.lower()#全部轉(zhuǎn)換成小寫(xiě)
print(ret)
ret=s1.upper()#全部轉(zhuǎn)換成大寫(xiě)
print(ret)
應(yīng)用,校驗(yàn)用戶輸入的驗(yàn)證碼是否合法
verify_code="abDe"
user_verify_code=input("請(qǐng)輸入驗(yàn)證碼:")
if verify_code.upper()==user_verify_code.upper():
print("驗(yàn)證成功")
else:
print("驗(yàn)證失敗")
s2 = "БB?"
print(s2)
print(s2.lower())
print(s2.casefold())
結(jié)果:БB?
бb?
бbss
每個(gè)被特殊字符隔開(kāi)的字母首字母大寫(xiě)
s3 = "alex eggon,taibai*yinwang_麻花藤"
ret = s3.title()
print(ret) #Alex Eggon,Taibai*Yinwang_麻花藤
中文也算是特殊字符
s4="alex老男孩wusir"
print(s4.title()) #Alex老男孩Wusir
2.切來(lái)切去:居中
s5="周杰倫"
ret=(s5.center(10,"*"))
print(ret) 周杰倫*
更改tab的長(zhǎng)度
s6="alex wusir\teggon"
print(s6) alex wusir eggon
print(s6.expandtabs()) alex wusir eggon
可以改變\t的長(zhǎng)度,默認(rèn)長(zhǎng)度更改為八
去空格 去掉的是左右兩端的空格
s7=" alex wusir haha"
ret=s7.strip()
print(ret) alex wusir haha
ret=s7.lstrip() #去掉左邊空格,右邊的同理
print(ret) alex wusir haha
字符串的替換
字符串串替換 s8 = "sylar_alex_taibai_wusir_eggon"
ret = s8.replace('alex', '金角大王') #把a(bǔ)lex替換成金角大王
print(s8)
sylar_alex_taibai_wusir_eggon 切記,字符串是不可變對(duì)象. 所有操作都 是產(chǎn)生新字符串返回
print(ret)
sylar_金角大王_taibai_wusir_eggon
ret = s8.replace('i', 'SB', 2)# 把i替換成SB, 替換2個(gè)
print(ret) # sylar_alex_taSBbaSB_wusir_eggon
字符串串切割 s9 = "alex,wusir,sylar,taibai,eggon"
lst = s9.split(",")# 字符串切割, 根據(jù),進(jìn)行切割
print(lst) s10 = """詩(shī)人 學(xué)者 感嘆號(hào) 渣渣"""
print(s10.split("\n")) # 用\n切割
s11 = "銀王哈哈銀王呵呵銀王吼吼銀王" lst = s11.split("銀王")
['', '哈哈', '呵呵', '吼吼', ''] # 如果切割符在左右兩端. 那么一 定會(huì)出現(xiàn)空字符串.深坑請(qǐng)留意
print(lst)
3. 格式化輸出
格式化輸出 s12 = "我叫%s, 今年%d歲了, 我喜歡%s" % ('sylar', 18, '周杰倫')
之前的寫(xiě)法 print(s12) s12 = "我叫{}, 今年{}歲了, 我喜歡{}".format("周杰倫", 28, "周潤(rùn)發(fā)")
按位置格式化print(s12) s12 = "我叫{0}, 今年{2}歲了, 我喜歡{1}".format("周杰倫", "周潤(rùn)發(fā)", 28)
#指定位置 print(s12) s12 = "我叫{name}, 今年{age}歲了, 我喜歡{singer}".format(name="周杰倫", singer="周潤(rùn) 發(fā)", age=28)
指定關(guān)鍵字 print(s12)
4.查找
s13 = "我叫sylar, 我喜歡python, java, c等編程語(yǔ)言."
ret1 = s13.startswith("sylar") # 判斷是否以sylar開(kāi)頭
print(ret1)
4.查找
#ret3 = s13.endswith("語(yǔ)言") # 是否以'語(yǔ)言'結(jié)尾 print(ret3) ret4 = s13.endswith("語(yǔ)言.") # 是否以'語(yǔ)言.'結(jié)尾 print(ret4)
ret7 = s13.count("a") # 查找"a"出現(xiàn)的次數(shù) print(ret7)
ret5 = s13.find("sylar") # 查找'sylar'出現(xiàn)的位置 print(ret5)
ret6 = s13.find("tory") # 查找'tory'的位置, 如果沒(méi)有返回-1 print(ret6)
ret7 = s13.find("a", 8, 22) # 切片找 print(ret7)
ret8 = s13.index("sylar") # 求索引位置. 注意. 如果找不到索引. 程序會(huì)報(bào)錯(cuò) print(ret8)
條件判斷
條件判斷 s14 = "123.16" s15 = "abc" s16 = "_abc!@" # 是否由字母和數(shù)字組成
6. 計(jì)算字符串的長(zhǎng)度
s18 = "我是你的眼, 我也是a" ret = len(s18) # 計(jì)算字符串的長(zhǎng)度 print(ret)
# 注意: len()是python的內(nèi)置函數(shù). 所以訪問(wèn)方式也不一樣. 你就記著len()和print()一樣就行了
7. 迭代 我們可以使用for循環(huán)來(lái)便利(獲取)字符串中的每一個(gè)字符
語(yǔ)法: for 變量 in 可迭代對(duì)象:
pass 可迭代對(duì)象: 可以一個(gè)一個(gè)往外取值的對(duì)象
s19 = "大家好, 我是VUE, 前端的小朋友們. 你們好么?"
# 用while循環(huán) index = 0 while index < len(s19): print(s19[index])
# 利用索引切片來(lái)完成字符的查找 index = index + 1
# for循環(huán), 把s19中的每一個(gè)字符拿出來(lái)賦值給前面的c for c in s19: print(c)
'''in有兩種用法: 1. 在for中. 是把每一個(gè)元素獲取到賦值給前面的變量.
2. 不在for中. 判斷xxx是否出現(xiàn)在str中. ''' print('VUE' in s19)
轉(zhuǎn)載于:https://www.cnblogs.com/Li-Kai-168/p/9593866.html
總結(jié)