一起學python 三 --字符串詳解,for循環
阿新 • • 發佈:2018-10-31
pre 括號 分解 false 想要 lex -c clas with
1.整型
n = 56 print(n.bit_length()) #查看值用幾位(bit)
# python2 中有長整型 long
# python3 中全都是整型
2.bool
True False
print(boll(num))
#非0數字輸出Ture 數字0輸出False
所有空的都是False
0,None,[],{},(),""
print(int(True)) 1 print(int( False)) 0
## 字符串轉布爾值的時候,只要不為空就是Ture
3.字符串詳解
name=‘alex,wusir‘
#只要用特殊字符隔開就能分解認為是多個單詞(中文也是特殊字符)
1) 每個單詞的首字母大寫
s1 = name.title()
print(s) #Alex,Wusir
2) 只有第一個首字母大寫
s2 = name.capitalize() #Alex,wusir
3) 全部大寫
s3 = name.upper() #ALEX,WUSIR
4) 全部小寫
s4 = name.lower() #wlex,wusir
#應用場景
yzm = ‘o98K‘
y_zm = input("輸入驗證碼(‘o98K‘):")
if yzm.upper() == y_zm.upper():
print(‘驗證碼正確‘)
else:
print(‘驗證碼錯誤‘)
5) 統計內容個數(類似Word查找文字個數)
s5 = name.count(‘w‘) #1
6)切片
s6 = ‘pythonNB‘ print(s[0:3]) print(s[2]) print(s[-3:-1:1])print(s[2:8]) print(s[1:]) print(s[:5:2]) print(s[1:6:2]) print(s[:]) print(s[3::2]) print(s[-5::-3])
總結: 下標(索引)
從左往右 0開始 從右往左 -1 開始
從左往右 [起始位置:終止位置] 如果[-1:-4] 這樣可以取到內容嗎? 是不可以的
[a:b:c] [a:b]的方向要與c 的方向一致[-1:-4:-1]可取到內容
步長(扯蛋) [起始位置:終止位置:步長] (方向) 默認使用是1 也就是從左往右
想要從右往左 步長寫為 -1
可以一次性跨多個(例如我們寫的步長為2,3,4,5)
7) s7 = name.find("m") # 查找索引 查找不到返回-1
print(s7)
s8 = name.index(‘m‘) # 查找索引 查找不到就報錯
print(s8)
8)居中
s9 = name.center(,"") # 居中 第一個放數字,第二個放要填充的內容
9)分割
name = ‘al ex‘
s10 = name.split() # 分割 ############## 非常非常重要
()為空,默認使用空格分割;括號中有"",以引號內的分割
可以將字符串轉換成列表
10) 去除(脫)
s11 = name.strip() ###脫,默認去除頭尾兩邊的空格和換行符 \n
#可以在(括號)中填上我們要去除的內容,這個內容只能指定處於頭尾兩邊的
應用場景:
user = input("請輸入用戶名:").strip() pwd = input("請輸入密碼:").strip() if user == ‘alex‘ and pwd == ‘alex3714‘: print(‘可以取錢了‘) else: print(‘不能取錢‘)
11)插入
s12 = "".join() ##""中的指定字符拼接
#拼接列表 lst = [‘1‘,‘2‘,‘3‘] s = ‘_‘.join(lst) #將列表轉化為字符串>>>>也可用for循環進入空字符串實現 print(s) #拼接字符串或數字 s = "123456" c = "-".join(s) print(c) #將字符串變成豎直方向 s = ‘\n‘.join(name) print(s)
12) 替換
s13 = name.replace("","") #用第二個值替換掉第一個值
name = "a l e x l h "
print(name.replace(" ","") >>>alexlh
13) 以什麽開頭
s14 = name.isstartswith()
14) 以什麽結尾
s15 = name.isendswith()
15) 判斷是不是數字和字母
s16 = name.isalnum()
16) 判斷是不是純字母
s17 = name.isalpha()
17) 判斷是不是純數字 ####
s18 = name.isdigit()
18) 求取字符串長度
s19 = len(name)
# format的格式化輸出 ######3種代入方法
1.按照占位的順序來填充
name = ‘張韶涵{}小{}{}‘ s = name.format(‘是我的‘,‘心‘,‘肝‘)
2.按照索引來對應填充
name = ‘張韶涵{0}小{2}{1}‘ s = name.format(‘是我的‘,‘心‘,‘肝‘)
3.按照關鍵字對應填充
name = ‘張韶涵{a}小{b}{c}‘ s1 = name.format(a=‘是我的‘,c=‘員‘,b=‘演‘) print(s1) 總結 split 分割 ********
strip 脫 默認脫頭尾的空格 ********
replace 替換 ********
join 插入 拼接 ********
format % f ******
upper 全部大寫 ******
lower 全部小寫 ******
find 查找 不存在返回 -1 ******
index 查找 不存在報錯 ******
isdigit 判斷是不是純數字 ******
isalpha 判斷是不是純字母 ******
count 統計 *****
title 每個單詞首字母大寫 *****
for 循環
for 關鍵字
i 變量(此處可以更改 更改規則參考變量命名規則)
in 關鍵字
可叠代對象 (想要循環誰就放誰,註意:數字除外 因為數字不可叠代)
1.將每個字符串列出
name = "alex"
1)while循環方法
count = 0 # 計數器 while count < len(name): print(name[count]) count = count + 1
2)for循環方法
for i in name: print(i)
2.在每個字符串後面加字符串
name = "alex" for i in name: l = name[i] + ‘嘿嘿嘿‘ l = i + ‘嘿嘿嘿‘ print(l)
3. for 循環內可以進行任意操作,可以寫代碼塊:
例如:
name = ‘alex‘ for i in name: l = input(">>>") print(l)
註意: for循環是有限循環 限制範圍取決與我們的叠代對象的長度
一起學python 三 --字符串詳解,for循環