代碼塊
以冒號作為開始,用縮進(jìn)來劃分相同的作用域,這個整體是一個代碼塊
作用域:作用的區(qū)域
# ### 代碼塊 (以冒號作為開始,用縮進(jìn)來劃分相同的作用域,這個整體是代碼塊)
"""作用域: 作用的范圍"""
if 10 == 11:
print(1)
print(2)
print(3)
print(4)
# 縮進(jìn):要么全都使用\t tab 要么全都是使用4個空格 來表達(dá)相同的作用域,不能混再一起;
"""
if 10 == 10:
print(1)
print(2)
"""
流程控制
- 流程: 代碼執(zhí)行的過程
- 控制: 對代碼執(zhí)行過程中的把控
三大結(jié)構(gòu):
- 順序結(jié)構(gòu): 默認(rèn)代碼從上到下,依次執(zhí)行
- 分支結(jié)構(gòu): 單項(xiàng)分支、 雙向分支、 多項(xiàng)分支、 巢狀分支
- 循環(huán)結(jié)構(gòu):
while / for
單項(xiàng)分支
"""
if 條件表達(dá)式:
code1
code2
當(dāng)條件表達(dá)式成立,返回True,執(zhí)行對應(yīng)的代碼塊
"""
zhiye = "程序員"
if zhiye == "程序員":
print("拿高薪")
print("錢多,話少,死的早")
print("發(fā)量日漸稀少")
雙向分支 (二選一)
"""
if 條件表達(dá)式:
code1 ..
else:
code2 ...
如果條件表達(dá)式成立,返回True ,執(zhí)行if這個區(qū)間的代碼塊
如果條件表達(dá)式不成立,返回False,執(zhí)行else這個區(qū)間的代碼塊
if 分支的代碼塊也叫做真區(qū)間
else 分支的代碼塊也叫做假區(qū)間
"""
zhiye = "美*外賣騎手"
zhiye = "律師"
if zhiye == "美*外賣騎手":
print("打他")
print("罵他")
print("喂他辣椒水")
else:
print("給你一朵紅花")
內(nèi)置方法 input
# input 等待用戶輸入字符串 (注意:結(jié)果一定是字符串)
"""
name = input("你好~ 你媽貴姓~")
print(name , type(name))
"""
# ### 模擬網(wǎng)站登錄
# 如果admin = wangwen 密碼:pwd = 111 顯示登錄成功,否則顯示登錄失敗
admin = input("請輸入您的賬號:")
pwd = input("請輸入您的密碼:")
if admin == "wangwen" and pwd == "111":
print("登錄成功")
else:
print("登錄失敗")
多項(xiàng)分支 (多選一)
"""
if 條件表達(dá)式1:
code1
elif 條件表達(dá)式2:
code2
elif 條件表達(dá)式3:
code3
else:
code4
如果條件表達(dá)式1成立,執(zhí)行對應(yīng)的分支code1,反之判斷條件表達(dá)式2是否成立
如果條件表達(dá)式2成立,執(zhí)行對應(yīng)的分支code2,反之判斷條件表達(dá)式3是否成立
如果條件表達(dá)式3成立,執(zhí)行對應(yīng)的分支code3,如果不成立,直接走else分支,到此程序執(zhí)行完畢
elif 可以是0個 或者 多個
else 可以是0個 或者 一個
"""
youqian = False
youfang = False
youche = False
if youqian == True:
print("說明這個人很有實(shí)力")
elif youfang == True:
print("能交給朋友么")
elif youche == True:
print("開了雅迪艾瑪調(diào)動車,我們碰一碰吧")
else:
print("你還是去做美*騎手吧")
巢狀分支
"""單項(xiàng)分支,雙向分支,多項(xiàng)分支的互相嵌套組合"""
youqian = True
youfang = True
youche = True
youyanzhi = True
youtili = False
if youqian == True:
if youfang == True:
if youche == True:
if youyanzhi == True:
if youtili == True:
print("我要嫁給你~")
else:
print("你去吃點(diǎn)大腰子再來~")
else:
print("你去一下泰國+韓國,整整容")
else:
print("你是個好人吶~")
print("<=======================>")
#出題 height
#女生找對象
# 男生在1米~1.5米之間 小強(qiáng) 你在哪里?
# 男生在1.5~1.7米之間 沒有安全感~
# 男生 1.7~ 1.8米之間 帥哥 留個電話
# 男生 1.8~2米之間 帥哥 你建議多一個女朋友嗎
# python特有
"""
height = float(input("請輸入您的身高:"))
if 1 <= height < 1.5:
print("小強(qiáng) 你在哪里?")
elif 1.5 <= height < 1.7:
print("沒有安全感~")
elif 1.7 <= height < 1.8:
print("帥哥 留個電話")
elif 1.8 <= height < 2:
print("你建議多一個女朋友嗎")
else:
print("抱歉,沒有合適的選項(xiàng)")
"""
# 通用寫法
height = float(input("請輸入您的身高:"))
if 1 <= height and height < 1.5:
print("小強(qiáng) 你在哪里?")
elif 1.5 <= height and height < 1.7:
print("沒有安全感~")
elif 1.7 <= height and height < 1.8:
print("帥哥 留個電話")
elif 1.8 <= height and height < 2:
print("你建議多一個女朋友嗎")
else:
print("抱歉,沒有合適的選項(xiàng)")
循環(huán)結(jié)構(gòu)
特點(diǎn):減少冗余代碼,提升執(zhí)行效率
"""
語法:
while 條件表達(dá)式:
code1
(1) 初始化一個變量
(2) 寫上循環(huán)的條件
(3) 自增自減的值
"""
# ### 打印1 ~ 100
# (1) 初始化一個變量
i = 1
# (2) 寫上循環(huán)的條件
while i <= 100:
# (4) 寫上循環(huán)的邏輯
print(i)
# (3) 自增自減的值
i += 1 # i = i + 1
"""
代碼解析:
第一次循環(huán)
i = 1 i<=100 判斷為真,執(zhí)行循環(huán)體 print(1)
i += 1 i => 2
第二次循環(huán)
代碼回到17行,重新進(jìn)行條件判定
i = 2 i<=100 判斷為真,執(zhí)行循環(huán)體 print(2)
i += 1 i => 3
第三次循環(huán)
代碼回到17行,重新進(jìn)行條件判定
i = 3 i<=100 判斷為真,執(zhí)行循環(huán)體 print(3)
i += 1 i => 4
....
以此類推
直到i = 101 i <= 100 判斷為假,不執(zhí)行循環(huán)體,到此循環(huán)結(jié)束...
1 ~ 100
"""
案例:
# ### 1 ~ 100的累加和
# (1) 初始化一個變量
i = 1
total = 0
# (2) 寫上循環(huán)的條件
while i <= 100 :
# (4) 寫上自定義的邏輯
total += i
# (3) 自增自減的值
i += 1
print(total)
死循環(huán)
"""
while True:
print(1)
"""
# ### 用死循環(huán)的方法實(shí)現(xiàn) 1 ~ 100累加和
i = 1
total = 0
sign = True
while sign:
total += i
i+=1
# 判斷i是否加到了101 , 不參與循環(huán)
if i == 101:
# 終止循環(huán)
sign = False
print(total) #1 ~ 100 = 5050
內(nèi)置方法 help
# help 查看某個方法的文檔
help(print)
字符串的相關(guān)操作
字符串的拼接 +
# (1)字符串的拼接 +
str1 = "趙沈陽,"
str2 = "so strong"
res = str1 + str2
res = "趙沈陽," + "so strong"
print(res)
# res = res + ",旁邊的同學(xué)很喜歡他~"
res += ",旁邊的同學(xué)很喜歡他~"
print(res)
字符串的重復(fù) *
# (2)字符串的重復(fù) *
strvar = "重要的事情說三遍~"
res = strvar * 3
print(res)
字符串跨行拼接 \
# (3)字符串跨行拼接 \
str1 = "kskfjskjfklsjfklasdjklfjaskldjfaskljfklasjdfklasjdklfjaskldfjaskldjflasjfsf" \
"1122334"
print(str1)
字符串的索引
# (4)字符串的索引
# 0 1 2 3 4 5
strvar = "趙同學(xué)真帥呀"
# -6-5-4-3-2-1
print(strvar[1])
字符串的切片: (截取)
"""
語法 => 字符串[::] 完整格式:[開始索引:結(jié)束索引:間隔值(步進(jìn)step)] 取頭舍尾
(1)[開始索引:] 從開始索引截取到字符串的最后
(2)[:結(jié)束索引] 從開頭截取到結(jié)束索引之前(結(jié)束索引-1)
(3)[開始索引:結(jié)束索引] 從開始索引截取到結(jié)束索引之前(結(jié)束索引-1)
(4)[開始索引:結(jié)束索引:間隔值] 從開始索引截取到結(jié)束索引之前按照指定的間隔截取字符
(5)[:]或[::] 截取所有字符串
"""
strvar = "王文是這個宇宙當(dāng)中,最完美,無暇,善良,漂亮,英俊,帥氣,瀟灑,風(fēng)流倜儻的神秘男孩"
# (1)[開始索引:] 從開始索引截取到字符串的最后
res = strvar[3:]
print(res)
# (2)[:結(jié)束索引] 從開頭截取到結(jié)束索引之前(結(jié)束索引-1)
"""4這個最大值本身獲取不到,要獲取到4之前的那一個數(shù)據(jù) : 取頭舍尾"""
res = strvar[:5]
print(res)
# (3)[開始索引:結(jié)束索引] 從開始索引截取到結(jié)束索引之前(結(jié)束索引-1)
res = strvar[10:16]
print(res)
# (4)[開始索引:結(jié)束索引:間隔值] 從開始索引截取到結(jié)束索引之前按照指定的間隔截取字符
# 從左向右截取
res = strvar[::3]
# 0 3 6 9 12 15 ...
print(res)
# 從右向左截取
res = strvar[::-1]
# -1 -2 -3 -4 -5 -6 ....
print(res)
res = strvar[-3:-10:-2]
# -3 -5 -7 -9 秘的倜風(fēng)
print(res)
print("<====>")
"""從左到右截,間隔值為正值,反過來,間隔值是負(fù)值,才能保證截取到數(shù)據(jù)"""
"""
res = strvar[-3:-10:10] # 錯誤的邏輯,但語法不報錯
print(res)
res = strvar[10:1] # 默認(rèn)步進(jìn)為1,故也取不到數(shù)據(jù),但不報錯
print(res)
"""
循環(huán)練習(xí)
單循環(huán)
# 一個循環(huán)實(shí)現(xiàn)十行十列,隔行換色的小星星
"""
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
"""
## 公式:任意數(shù)和n進(jìn)行地板除,會出現(xiàn)n個相同的數(shù)
# 方法一
i = 0
while i < 100:
# (1)打印星星
if i // 10 % 2 == 0:
print("★",end="")
else:
print("☆",end="")
# (2)打印換行 (在9 19 29 .. 99 )
if i % 10 == 9:
print()
i += 1
# 方法二
print("<=================>")
i = 10
while i < 110:
# 打印星星
num = int(str(i)[-2])
if num % 2 == 0 :
print("★",end="")
else:
print("☆",end="")
# 打印換行
if i % 10 == 9:
print()
i+=1
雙循環(huán)練習(xí)
# 用兩個循環(huán)完成十行十列隔行換色的小星星
"""
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
"""
"""
外層的循環(huán)i動的慢
內(nèi)層的循環(huán)j動的快
外層的i動一次, 內(nèi)層的循環(huán)動10次
"""
i = 0
while i < 10 :
j = 0
while j < 10:
if i % 2 == 0:
print("☆",end="")
else:
print("★",end="")
j +=1
print()
i +=1
# 99乘法表
i = 1
while i <= 9:
# 打印對應(yīng)的表達(dá)式
j = 1
while j <= i:
print("%d*%d=%2d " % (i,j,i*j) ,end="" )
j+=1
# 打印換行
print()
i +=1
百錢買百雞
# 公雞一個五塊錢,母雞一個三塊錢,小雞三個一塊錢,現(xiàn)在要用一百塊錢買一百只雞,問公雞、母雞、小雞各多少只?
"""
窮舉法:把數(shù)據(jù)拿出來一個一個試
公雞 : x 母雞 : y 小雞: z
雞的數(shù)量:x + y + z = 100
雞的價格:5 * x + 3 * y + 1/3*z = 100
"""
x = 0
while x <= 20:
y = 0
while y <= 33:
z = 0
while z <= 100:
if x+y+z == 100 and 5*x + 3 * y + 1/3*z == 100 :
print(x,y,z)
z += 1
y +=1
x += 1
循環(huán)中關(guān)鍵字的使用
# ### 關(guān)鍵字的使用 pass break continue
# pass 過 (代碼塊中的占位符)
"""
if 20 == 20:
pass
while True:
pass
"""
# break 終止當(dāng)前循環(huán) (只能用在循環(huán)之中)
# 1 ~ 10 遇到5終止循環(huán)
i = 1
while i <= 10:
print(i)
if i == 5:
break
i +=1
i = 1
while i <= 3:
j = 1
while j <=3:
if j == 2:
break
print(i,j)
j+=1
i +=1
# 1 1
# 2 1
# 3 1
"""
if 5 == 5: # error break 關(guān)鍵字不能在循環(huán)之外
break
"""
# continue 跳過當(dāng)前循環(huán),從下一次循環(huán)開始
# 打印 1 ~ 10 跳過5
i = 1
while i <= 10:
if i == 5:
# 在跳過之前,因?yàn)闀K止執(zhí)行后面的代碼,從下一次循環(huán)開始
# 為了避免死循環(huán),手動加1
i += 1
continue
print(i)
i +=1
# 1 ~ 100 打印所有不含有4的數(shù)字
# 方法一
print("<============>")
i = 1
while i <= 100:
strvar = str(i)
# print(strvar)
if "4" in strvar:
i += 1
continue
print(i)
i +=1
# 方法二
print("<============>")
i = 1
while i <= 100:
if i // 10 == 4 or i % 10 == 4:
i+=1
continue
print(i)
i+=1
for 循環(huán)
遍歷 或 循環(huán) 或 迭代 , 即把容器中的元素一個一個獲取出來文章來源:http://www.zghlxwxcb.cn/news/detail-426337.html
while循環(huán)在遍歷數(shù)據(jù)時的局限性
# while循環(huán)在遍歷數(shù)據(jù)時的局限性 (特別是無序的數(shù)據(jù))
setvar = {"a","b","c"} # not ok
i = 0
while i < len(setvar):
print(setvar[i])
i+=1
Iterable 可迭代性數(shù)據(jù):
- 容器類型數(shù)據(jù)
- range對象
- 迭代器
for循環(huán)的基本語法
"""
for 變量 in Iterable:
code1
"""
容器類型數(shù)據(jù)
# 字符串
container = "北京和深圳溫差大概20多度"
# 列表
container = [1,2,3,4,4,5]
# 元組
container = ("孫開洗","孫健","孫悟空")
# 集合
container = {"陳璐","曹靜怡","王志國","鄧鵬","合力"}
# 字典
container = {"cl":"風(fēng)流倜儻","cjy":"拳擊選手","wzg":"尋花問柳","dp":"帥氣,祖國的棟梁","hl":"你是個好人"}
# 遍歷數(shù)據(jù)
for i in container:
print(i)
內(nèi)置函數(shù)-判斷元素類型 isinstance
1.遍歷不等長多級容器
container = [1,2,3,4,("嗄","234",{"馬春配","李虎凌","劉子濤"})]
for i in container:
# 判斷當(dāng)前元素是否是容器,如果是,進(jìn)行二次遍歷,如果不是,直接打印
if isinstance(i,tuple):
# ("嗄","234",{"馬春配","李虎凌","劉子濤"})
for j in i:
# 判斷當(dāng)前元素是否是集合,如果是,進(jìn)行三次遍歷,如果不是,直接打印
if isinstance(j,set):
# j = {"馬春配","李虎凌","劉子濤"}
for k in j :
print(k)
else:
print(j)
# 打印數(shù)據(jù)
else:
print(i)
2.遍歷等長的容器
container = [("馬云","小馬哥","馬春配") , ["王健林","王思聰","王志國"],{"王寶強(qiáng)","馬蓉","宋小寶"}]
for a,b,c in container:
print(a,b,c)
變量的解包 - 解壓賦值
變量個數(shù)需與容器長度一致。文章來源地址http://www.zghlxwxcb.cn/news/detail-426337.html
a,b,c = "poi"
a,b = (1,2)
a,b = 1,2
a,b,c = [10,11,12]
a,b = {"林明輝","家率先"}
a,b = {"lmh":"林明輝","jsx":"家率先"}
print(a,b,c)
# 解壓賦值 :對應(yīng)的變量名少一個不行,對應(yīng)的變量名多一個也不行
salaries=[111,222,333,444,555]
mon0,mon1,mon2,mon3,mon4=salaries
# 引入*,可以幫助我們?nèi)深^的值,無法取中間的值
# 取前三個值
x,y,z,*_=salaries=[111,222,333,444,555] # *會將沒有對應(yīng)關(guān)系的值存成列表然后賦值給緊跟其后的那個變量名,此處為_
print(x,y,z)
print(_)
# 取后三個值
*_,x,y,z=salaries=[111,222,333,444,555]
print(x,y,z)
x,*_,y,z=salaries=[111,222,333,444,555]
print(x,y,z)
salaries=[111,222,333,444,555]
_,*middle,_=salaries
print(middle)
# 解壓字典默認(rèn)解壓出來的是字典的key
x,y,z=dic={'a':1,'b':2,'c':3}
range方法
"""
range([開始值,]結(jié)束值[,步長])
取頭舍尾,結(jié)束值本身獲取不到,獲取到它之前的那一個數(shù)據(jù)
"""
# range(一個值) 默認(rèn)從0開始
for i in range(5): # 0 ~ 4
print(i)
# range(二個值)
for i in range(3,8): # 3 4 5 6 7
print(i)
# range(三個值) 正向的從左到右
for i in range(1,11,3): # 1 4 7 10
print(i)
# range(三個值) 逆向的從右到左
for i in range(10,0,-1): # 10 9 8 7 ... 1
print(i)
for 與 while 循環(huán)總結(jié)
- while 一般用于處理復(fù)雜的邏輯關(guān)系
- for 一般用于迭代數(shù)據(jù)
- 部分情況下兩個循環(huán)可以互相轉(zhuǎn)換;
字符串的格式化format
(1)順序傳參
"""{}是format中的占位符"""
strvar = "{}向{}開了一槍,飲蛋而亡".format("趙沈陽","需保障")
print(strvar)
(2)索引傳參
strvar = "{1}向{0}開了一槍,飲蛋而亡".format("趙沈陽","需保障")
print(strvar)
(3)關(guān)鍵字傳參
strvar = "{who1}摸了{(lán)who2}一下,回頭一巴掌".format(who1="王偉",who2="馬春妮")
strvar = "{who1}摸了{(lán)who2}一下,回頭一巴掌".format(who1="馬春妮",who2="王偉")
print(strvar)
(4)容器類型數(shù)據(jù)(列表或元祖)傳參
# 方法一
strvar = "{0[0]}摸了{(lán)1[1]}一下,嘿嘿一笑,有戲".format(["趙蜂擁","趙世超","楊元濤"] , ("王雨涵","王同培"))
print(strvar)
# 方法二(推薦)
strvar = "{group1[0]}摸了{(lán)group2[1]}一下,嘿嘿一笑,有戲".format(group1=["趙蜂擁","趙世超","楊元濤"] , group2 = ("王雨涵","王同培"))
print(strvar)
# 方法三(推薦) 注意一.如果該容器是字典,通過鍵取值時,不需要加引號 注意二.通過下標(biāo)取值時,不能使用負(fù)號(逆向索引)
strvar = "{group1[zfy]}摸了{(lán)group2[-1]}一下,嘿嘿一笑,有戲".format(group1={"zfy":"趙蜂擁","zsc":"趙世超"} , group2 = ("王雨涵","王同培"))
print(strvar)
(5)format的填充符號的使用( ^ > < )
-
^
原字符串居中顯示 -
>
原字符串居右顯示 -
<
原字符串居左顯示
"""
{who:*^10}
* : 填充的符號
^ : 原字符串居中顯示 (^ > < 之一)
10: 原字符串長度 + 填充符號的長度 = 10
"""
strvar = "{who:*^10}去長春長生醫(yī)藥公司,{do:>>10},感覺{feel:!<10}".format(who="李亞峰",do="扎疫苗",feel="血槽被掏空")
print(strvar) # ***李亞峰****
(6)進(jìn)制轉(zhuǎn)換等特殊符號的使用( :d :f :s :, )
# :d 整型占位符 (強(qiáng)制要求類型是整型)
strvar = "劉一峰昨天晚上買了{(lán):d}個花露水泡腳".format(9)
print(strvar) # 填充浮點(diǎn)數(shù)會報錯
# :3d 占3位,不夠三位拿空格來補(bǔ)位(原字符串居右)
strvar = "劉一峰昨天晚上買了{(lán):3d}個花露水泡腳".format(9)
print(strvar)
strvar = "劉一峰昨天晚上買了{(lán):<3d}個花露水泡腳".format(9)
print(strvar)
strvar = "劉一峰昨天晚上買了{(lán):^3d}個花露水泡腳".format(9)
print(strvar)
# :f 浮點(diǎn)型占位符 (強(qiáng)制要求類型是浮點(diǎn)型) 默認(rèn)保留小數(shù)6位
strvar = "王雨涵畢業(yè)之后的薪資是{:f}".format(9.9)
print(strvar)
# :.2f 小數(shù)點(diǎn)后保留2位,存在四舍五入
strvar = "王雨涵畢業(yè)之后的薪資是{:.2f}".format(9.188888)
print(strvar)
# :s 字符串占位符
strvar = "{:s}".format("楊元濤真帥")
print(strvar)
# :, 金錢占位符
strvar = "{:,}".format(12345678)
print(strvar)
# 綜合案例
strvar = "{:s}開工資{:.2f}元,買了{(lán):d}個蘭博基尼".format("孫堅(jiān)",300000.12345,10)
print(strvar)
字符串相關(guān)函數(shù)
第一組:常用方法
1. capitalize
字符串首字母大寫
strvar = "how are you"
res = strvar.capitalize()
print(res) # How are you
2. title
每個單詞的首字母大寫
strvar = "how old are you"
res = strvar.title()
print(res) # How Old Are You
3. upper
將所有字母變成大寫
strvar = "How Old Are You"
res = strvar.upper()
print(res) # HOW OLD ARE YOU
4. lower
將所有字母變成小寫
strvar = "How Old Are You"
res = strvar.upper()
print(res) # how old are you
5. swapcase
大小寫互換
strvar = "How old Are You"
res = strvar.swapcase()
print(res) # hOW OLD aRE yOU
6. len
計(jì)算字符串的長度
strvar = "python32真火"
res = len(strvar)
print(res) # 10
7. count
統(tǒng)計(jì)字符串中某個元素的數(shù)量
"""count(字符,[開始值,結(jié)束值])"""
strvar = "真熱真熱呀"
# res = strvar.count("真") # 2
# res = strvar.count("熱",2) # 1
# res = strvar.count("熱",2,3) # 只有真這個字符 沒有熱
print(res)
8. find
查找某個字符串第一次出現(xiàn)的索引位置 (推薦)
"""find(字符,[開始值,結(jié)束值])"""
strvar = "To be or not to be that is a question"
res = strvar.find("to") # 13
res = strvar.find("be",4) # 16
# 如果find 返回的是 -1 代表沒找到
res = strvar.find("be",4,10) # 4 ~ 9 返回 -1
print(res)
9. index
與 find 功能相同 find找不到返回-1, index找不到數(shù)據(jù)直接報錯
res = strvar.index("be",4,10)
print(res) # 沒找到 報錯 ValueError: substring not found
10. startswith
判斷是否以某個字符或字符串為開頭
"""
startswith(字符,[開始值,結(jié)束值])
endswith(字符,[開始值,結(jié)束值])
"""
strvar = "To be or not to be that is a question"
res = strvar.startswith("To") # True
res = strvar.startswith("To",10) # False
print(res)
11. endswith
判斷是否以某個字符或字符串結(jié)尾
res = strvar.endswith("question") # True
res = strvar.endswith("is",-14,-11) # is True
print(res)
第二組:is 系列
1. isupper
判斷字符串是否都是大寫字母
strvar = "HOW A YOU"
res = strvar.isupper()
print(res) # True
2. islower
判斷字符串是否都是小寫字母
strvar = "asdf - as"
res = strvar.islower()
print(res) # True
3. isdecimal
檢測字符串是否以數(shù)字組成 必須是純數(shù)字
strvar = "abcdefg" # False
strvar = "2134234.123" # Flase
strvar = "2134234" # True
res = strvar.isdecimal()
print(res)
4. 其他方法
"""
istitle 判斷字符串是否每個單詞都首字母大寫
isalnum 判斷字符串是否是由數(shù)字、字母、漢字組成
isalpha 判斷字符串是否由字母和文字組成
isdigit 檢測字符串?dāng)?shù)是數(shù)字組成 接受二進(jìn)制字節(jié)流
isnumeric 檢測字符串是否以數(shù)字組成 接受中文"四"
isspace 判斷字符串是否由空白符組成
"""
第三組 重要方法
1. split
按某字符將字符串分割成列表(默認(rèn)字符是空格) ***常用
strvar = "you can you up"
lst = strvar.split() # ['you', 'can', 'you', 'up']
strvar = "you#can#you#up#no#can#no#bb"
lst = strvar.split("#")
print(lst)
2. join
按某字符將列表拼接成字符串(容器類型都可) ***
lst = ['you', 'can', 'you', 'up', 'no', 'can', 'no', 'bb']
strvar = " ".join(lst)
strvar = "#".join(lst) # you#can#you#up#no#can#no#bb
print(strvar)
3. replace
把字符串的舊字符換成新字符 ***
"""字符串.replace('舊字符','新字符'[, 限制替換的次數(shù)])"""
strvar = "范冰冰愛不愛我,愛我,不愛我,愛我,不愛我"
res = strvar.replace("不愛我","愛我")
# 選擇替換的次數(shù)
res = strvar.replace("不愛我","愛我",1)
print(res)
4. strip
默認(rèn)去掉首尾兩邊的空白符 ***
"""空白符: 空格 \n \t \r ... """
strvar = " 周潤發(fā) "
res = strvar.strip() # 周潤發(fā)
print(strvar) # 不改變原變量的值
print(res)
5. center
填充字符串,原字符居中 (默認(rèn)填充空格)
"""center(字符長度,填充符號)"""
strvar = "人世超"
res = strvar.center(10) # 默認(rèn) 是空白
res = strvar.center(10,"*") # ***人世超****
print(res)
6. 其他方法
"""
splitlines 按換行來進(jìn)行切分(\n)
zfill 填充字符串(默認(rèn)填充0,原字符串右對齊)
ljust 填充字符串,原字符居左 (默認(rèn)填充空格)
rjust 填充字符串,原字符居右 (默認(rèn)填充空格)
rstrip 去掉右邊某個字符
lstrip 去掉左邊某個字符
"""
到了這里,關(guān)于【python 基礎(chǔ)語法二】流程語法及字符串相關(guān)操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!