国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【python 基礎(chǔ)語法二】流程語法及字符串相關(guān)操作

這篇具有很好參考價值的文章主要介紹了【python 基礎(chǔ)語法二】流程語法及字符串相關(guān)操作。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

代碼塊

以冒號作為開始,用縮進(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):

  1. 順序結(jié)構(gòu): 默認(rèn)代碼從上到下,依次執(zhí)行
  2. 分支結(jié)構(gòu): 單項(xiàng)分支、 雙向分支、 多項(xiàng)分支、 巢狀分支
  3. 循環(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) 或 迭代 , 即把容器中的元素一個一個獲取出來

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ù):

  1. 容器類型數(shù)據(jù)
  2. range對象
  3. 迭代器

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)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Python入門篇】——Python基礎(chǔ)語法(字符串格式化,表達(dá)式格式化和數(shù)據(jù)輸入)

    【Python入門篇】——Python基礎(chǔ)語法(字符串格式化,表達(dá)式格式化和數(shù)據(jù)輸入)

    作者簡介: 辭七七,目前大一,正在學(xué)習(xí)C/C++,Java,Python等 作者主頁: 七七的個人主頁 文章收錄專欄: Python入門,本專欄主要內(nèi)容為Python的基礎(chǔ)語法,Python中的選擇循環(huán)語句,Python函數(shù),Python的數(shù)據(jù)容器等。 歡迎大家點(diǎn)贊 ?? 收藏 ? 加關(guān)注哦!???? 目前通過%符號占位

    2024年02月05日
    瀏覽(30)
  • 【Lua語法】字符串操作、字符串中的方法

    注意:這些方法不會改變原字符串,只會返回一個新字符串

    2024年02月15日
    瀏覽(40)
  • 【Kotlin】字符串操作 ① ( 截取字符串函數(shù) substring | 拆分字符串函數(shù) split | 解構(gòu)語法特性 )

    【Kotlin】字符串操作 ① ( 截取字符串函數(shù) substring | 拆分字符串函數(shù) split | 解構(gòu)語法特性 )

    Kotlin 中提供了 截取字符串函數(shù) substring , 可接收 IntRange 類型的參數(shù) , 這是 整數(shù)范圍 類型 ; 截取字符串函數(shù) substring 函數(shù)原型為 : 整數(shù)范圍類型 : 其整數(shù)范圍是 {0 , 1 , 2 , 3} ; 其整數(shù)范圍是 {0 , 1 , 2} ; 代碼示例 : 執(zhí)行結(jié)果 : 拆分字符串函數(shù) split 返回的是 List 集合 ; 拆分字符串函

    2023年04月08日
    瀏覽(31)
  • Windows BAT批處理字符串相關(guān)操作(字符串定義、分割、拼接、替換、切片、查找)

    使用 set 來定義字符串 代碼說明: 將字符串Hello賦值給string1的變量 使用 %string1%%string2% 的方式完成字符串的拼接。 代碼說明: 用來連接字符串的字符串,如果包含了特殊字符則需要使用 ^ 轉(zhuǎn)義,并且需要使用 \\\"\\\" 括起來,特殊字符包括(但不限于): 符號 作用 @ 命令行回顯

    2024年02月12日
    瀏覽(29)
  • JAVA基礎(chǔ)-流程控制、字符串

    JAVA基礎(chǔ)-流程控制、字符串

    ? 算數(shù)運(yùn)算符 + - * / %?? 取余運(yùn)算符?? eg:12%10 = 2 隱式轉(zhuǎn)換 自動類型提升 就是把一個取值范圍小的數(shù)據(jù)或者變量,賦值給另一個取值范圍大的變量。此時不需要我們額外寫代碼單獨(dú)實(shí)現(xiàn),是程序自動幫我們完成的 強(qiáng)制轉(zhuǎn)換 如果要把一個取值范圍大的數(shù)據(jù)或者變量賦值給另

    2024年04月22日
    瀏覽(27)
  • python字符串相關(guān)

    reverse() 函數(shù)用于反向 列表中 元素。 reverse()方法語法: seq — 需要轉(zhuǎn)換的序列,如元組、列表、字符串、range 可惜 不能反轉(zhuǎn)字符串 語法: \\\'sep\\\'.join(sep_object) 參數(shù)說明 sep:分割符,可為“,、;”等。 sep_object:分割對象,可為字符串、以及儲存字符串的元組、列表、字典。

    2024年02月09日
    瀏覽(52)
  • javaSE___語法基礎(chǔ)(關(guān)鍵字、標(biāo)識符、數(shù)據(jù)類型、字符、字符串、運(yùn)算符)

    javaSE___語法基礎(chǔ)(關(guān)鍵字、標(biāo)識符、數(shù)據(jù)類型、字符、字符串、運(yùn)算符)

    一、的概述和使用 A:什么是 被Java語言賦予特定含義的單詞 B:的特點(diǎn) 組成的字母全部小寫 C:常見 public static void class等 D:的注意事項(xiàng) goto和const作為保留字存在,目前并不使用,類似Editplus這樣的高級記事本,針對有特殊的顏色標(biāo)記,非

    2024年02月09日
    瀏覽(38)
  • Python入門教程:掌握for循環(huán)、while循環(huán)、字符串操作、文件讀寫與異常處理等基礎(chǔ)知識

    Python入門教程:掌握for循環(huán)、while循環(huán)、字符串操作、文件讀寫與異常處理等基礎(chǔ)知識

    在 Python 中,for 循環(huán)用于遍歷序列(list、tuple、range 對象等)或其他可迭代對象。for 循環(huán)的基本語法如下: 其中, 變量 表示每次循環(huán)中取出的一個元素, 可迭代對象 表示被遍歷的對象。下面是一個 for 循環(huán)的例子: 輸出結(jié)果為: 代碼中, fruits 是一個列表, fruit 是當(dāng)前循

    2024年02月10日
    瀏覽(24)
  • Python 字符串操作之字符串的截取

    Python 字符串操作之字符串的截取

    字符串的截取是實(shí)際應(yīng)用中經(jīng)常使用的技術(shù),被截取的部分稱為“子串”。Java中使用函數(shù)substr()獲取子串,C#使用函數(shù)substring()獲取子串。而Python由于內(nèi)置了序列,可以通過前面介紹的索引、切片獲取子串,也可以使用函數(shù)split()來獲取。字符串也屬于序列。 下面這段代碼使用

    2024年02月06日
    瀏覽(23)
  • Python字符串操作之如何提取子字符串

    在 Python 中,字符串是一種非常常見的數(shù)據(jù)類型,經(jīng)常需要對字符串進(jìn)行各種操作,其中提取子字符串是一個非常常見的需求。本文將介紹幾種在 Python 中提取子字符串的方法。 方法一:使用字符串切片 在 Python 中,可以使用字符串切片的方式來提取子字符串。字符串切片通

    2024年02月09日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包