快捷搜索:  汽车  科技

python中str用法,跟运维组学Python基础day04

python中str用法,跟运维组学Python基础day04s = 'ZanaoTMDsb'not in 不在在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。成员运算in 在

内容回顾

跟运维组学Python基础 day03

格式化输出 %s

name = input('Pleases input your name: ') # Zanao print('My name is %s'%(name)) # My name is Zanao %是占位符 s指的是str 就是用str字符串来进行替换 位置一一对应

逻辑运算

在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。

成员运算

in 在

not in 不在

s = 'ZanaoTMDsb'

print('TMD'not in s) # 判断TMD不在s中

# 输出结果

False

比较运算

等于 == 不等于 != 大于 > 小于 < 大于等于 >= 小于等于 <=

编码

GBK国标 英文: 1个字节 中文: 2个字节

Unicode万国码 英文: 2个字节 中文: 4个字节

UTF-8 英文: 1个字节 欧洲: 2个字节 亚洲: 3个字节

今日内容

str字符型的索引(重点)

1. 索引:

索引就是下标. 切记 下标从0开始。

起始位置下标是0(从左到右),-1(从右到左)

python中str用法,跟运维组学Python基础day04(1)

name = 'zanao' 左 ➡️右 01234 name = '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]) 结果:n print(name[-3]) 结果:n

2.切片:

切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串

原则:顾头不顾尾

语法:str[start:end]

name = 'hello' name1 = name[:3] print(name1) #输出结果:hel 根据顾头不顾尾原则后面的l被丢弃

2.1按着顺序切(从左到右 或 从右到左)

python中str用法,跟运维组学Python基础day04(2)

2.2跳着截取

步长: 如果是整数 则从左往右取. 如果是负数. 则从右往左取. 默认是1

切片语法:

Str[start:end:step]

Start:起始位置 end:结束位置 step:步长

python中str用法,跟运维组学Python基础day04(3)

识记点

  • 切片如果终止位置超出了范围不报错print(name[0:100])不报错
  • 索引取值的时候超出了索引的范围会报错print(name[100])报错原因:取不到100索引的值
  • 字符串,列表,元组 -- 都是有索引(下标)
  • 索引是准确的定位某个元素
  • 从左向右 0 1 2 3
  • 从右向左 -1,-2,-3,-4
  • 支持索引的都支持切片 [索引]

4.2字符串的操作

upper (全部大写)

name = "zanao" name1 = name.upper() print(name1) # 输出结果 # ZANAO

lower (全部小写)

name = "ZANAO" name1 = name.lower() print(name1) # 输出结果 # zanao

id (获取内存地址)

name = 'zanao' print(id(name)) # 输出结果 # 4543793504

startswith (以什么开头)

name = "zanao" print(name.startswith('z')) # 判断name变量是以z开的头的 # 输出结果 # True

endswith (以什么结尾)

name = "zanao" print(name.endswith("i")) # 判断name就是以i结尾 # False

count (统计)

name = "zanao" print(name.count("a")) # 查询某个内容出现的次数 # 2

replace (替换) 重要!!!

str.replace('n' 's') 前面是要被替换的内容 后面是新的

name = "zanao" name1 = name.replace('a' 's') # 替换 前面是老的 后面是新的 name1 = name.replace('a' 's' 1) # 替换 前面是老的 后面是新的 1是替换的次数 # print(name1) # zsnso # zsnao

strip (除去头尾两边的空格/换行符) 重要!!!

name = " zanao " name1 = name.strip() # 可以写想要去掉的内容 print(name1) if name == "zanao": # 这里判断两边的值是否相等用两个“=”表示,一个“=”表示判断内存地址是否一样 print(666) name = " zanao " print(name.strip()) 结果:zanao

split (分割) 重要!!!

name = 'Zanao Joe' print(name.split(" ")) # ['Zanao' 'Joe'] # 默认是以空格分割 也可以自己制定分割 # 切记:分割后返回的内容是一个列表

1. 无参数的情况

a="my name is john" b="my\nname\nis\john" c="my\tname\tis\john" 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. 有参数的情况

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. 当具有两个参数的情况

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']

本节完~

python中str用法,跟运维组学Python基础day04(4)

如果对您有帮助请关注 咋闹运维组

猜您喜欢: