字符串从右截取_跟运维组学Python基础day04(字符串str的索引和切片)
內(nèi)容回顧
跟運(yùn)維組學(xué)Python基礎(chǔ) day03
格式化輸出 %s
name = input('Pleases input your name: ') # Zanaoprint('My name is %s'%(name))# My name is Zanao%是占位符,s指的是str,就是用str字符串來進(jìn)行替換,位置一一對(duì)應(yīng)邏輯運(yùn)算
在沒有()的情況下not 優(yōu)先級(jí)高于 and,and優(yōu)先級(jí)高于or,即優(yōu)先級(jí)關(guān)系為( )>not>and>or,同一優(yōu)先級(jí)從左往右計(jì)算。
成員運(yùn)算
in 在
not in 不在
s = 'ZanaoTMDsb'
print('TMD'not in s) # 判斷TMD不在s中
# 輸出結(jié)果
False
比較運(yùn)算
等于 == 不等于 != 大于 > 小于 < 大于等于 >= 小于等于 <=
編碼
GBK國標(biāo) 英文: 1個(gè)字節(jié) 中文: 2個(gè)字節(jié)
Unicode萬國碼 英文: 2個(gè)字節(jié) 中文: 4個(gè)字節(jié)
UTF-8 英文: 1個(gè)字節(jié) 歐洲: 2個(gè)字節(jié) 亞洲: 3個(gè)字節(jié)
今日內(nèi)容
str字符型的索引(重點(diǎn))
1. 索引:
索引就是下標(biāo). 切記, 下標(biāo)從0開始。
起始位置下標(biāo)是0(從左到右),-1(從右到左)
name = 'zanao'左 ??右 01234name = 'z a n a o'左 ??右-5-4-3-2-1 從左到右:z的索引位0 a的索引位1 n的索引位2 從右到左:z的索引位-5 a的索引位-4 n的索引位-3 。。。 o的索引位-1 切記:右到左是從-1開始print(name[2])結(jié)果:nprint(name[-3])結(jié)果:n2.切片:
切片就是通過索引(索引:索引:步長)截取字符串的一段,形成新的字符串
原則:顧頭不顧尾
語法:str[start:end]
name = 'hello'name1 = name[:3]print(name1) #輸出結(jié)果:hel 根據(jù)顧頭不顧尾原則后面的l被丟棄2.1按著順序切(從左到右 或 從右到左)
2.2跳著截取
步長: 如果是整數(shù), 則從左往右取. 如果是負(fù)數(shù). 則從右往左取. 默認(rèn)是1
切片語法:
Str[start:end:step]
Start:起始位置 end:結(jié)束位置 step:步長
識(shí)記點(diǎn)
- 切片如果終止位置超出了范圍不報(bào)錯(cuò)print(name[0:100])不報(bào)錯(cuò)
- 索引取值的時(shí)候超出了索引的范圍會(huì)報(bào)錯(cuò)print(name[100])報(bào)錯(cuò)原因:取不到100索引的值
- 字符串,列表,元組 -- 都是有索引(下標(biāo))
- 索引是準(zhǔn)確的定位某個(gè)元素
- 從左向右 0,1,2,3
- 從右向左 -1,-2,-3,-4
- 支持索引的都支持切片 [索引]
4.2字符串的操作
upper (全部大寫)
name = "zanao"name1 = name.upper()print(name1)# 輸出結(jié)果# ZANAOlower (全部小寫)
name = "ZANAO"name1 = name.lower()print(name1)# 輸出結(jié)果# zanaoid (獲取內(nèi)存地址)
name = 'zanao'print(id(name))# 輸出結(jié)果# 4543793504startswith (以什么開頭)
name = "zanao"print(name.startswith('z')) # 判斷name變量是以z開的頭的# 輸出結(jié)果# Trueendswith (以什么結(jié)尾)
name = "zanao"print(name.endswith("i")) # 判斷name就是以i結(jié)尾# Falsecount (統(tǒng)計(jì))
name = "zanao"print(name.count("a")) # 查詢某個(gè)內(nèi)容出現(xiàn)的次數(shù)# 2replace (替換) 重要!!!
str.replace('n','s') 前面是要被替換的內(nèi)容 后面是新的
name = "zanao"name1 = name.replace('a','s') # 替換 前面是老的,后面是新的name1 = name.replace('a','s',1) # 替換 前面是老的,后面是新的 1是替換的次數(shù)# print(name1)# zsnso# zsnaostrip (除去頭尾兩邊的空格/換行符) 重要!!!
name = " zanao "name1 = name.strip() # 可以寫想要去掉的內(nèi)容print(name1)if name == "zanao": # 這里判斷兩邊的值是否相等用兩個(gè)“=”表示,一個(gè)“=”表示判斷內(nèi)存地址是否一樣 print(666)name = " zanao "print(name.strip())結(jié)果:zanaosplit (分割) 重要!!!
name = 'Zanao, Joe'print(name.split(","))# ['Zanao', 'Joe']# 默認(rèn)是以空格分割 ,也可以自己制定分割# 切記:分割后返回的內(nèi)容是一個(gè)列表1. 無參數(shù)的情況
a="my name is john"b="mynameisjohn"c="mynameisjohn"a=a.split()b=b.split()c=c.split()print(a)print(b)print(c)輸出:['my', 'name', 'is', 'john']['my', 'name', 'is', 'john']['my', 'name', 'is', 'john']2. 有參數(shù)的情況
d="my,name,is,john"e="my;name;is;john"f="my-name-is-john"d=d.split(",")e=e.split(";")f=f.split("-")print(d)print(e)print(f)輸出:['my', 'name', 'is', 'john']['my', 'name', 'is', 'john']['my', 'name', 'is', 'john']3. 當(dāng)具有兩個(gè)參數(shù)的情況
a="My,name,is,john,and,I,am,a,student"b1=a.split(",",1)b2=a.split(",",2)b8=a.split(",",8)b9=a.split(",",9)print(b1)print(b2)print(b8)print(b9)輸出:['My', 'name,is,john,and,I,am,a,student']['My', 'name', 'is,john,and,I,am,a,student']['My', 'name', 'is', 'john', 'and', 'I', 'am', 'a', 'student']['My', 'name', 'is', 'john', 'and', 'I', 'am', 'a', 'student']本節(jié)完~
如果對(duì)您有幫助請(qǐng)關(guān)注 咋鬧運(yùn)維組
總結(jié)
以上是生活随笔為你收集整理的字符串从右截取_跟运维组学Python基础day04(字符串str的索引和切片)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微星gt75怎么装w7系统 微星GT75
- 下一篇: python接口自动化用例管理_pyth