一.字符串的编码转换
type:查看变量类型
1.encode()
作用:将字符串类型转换为字节类型,的过程称之为编码。
语法:字符串.encode()
s='吃米饭'`
`byte_e=s.encode()`
`print(byte_e,type(byte_e))` #b'\xe5\x90\x83\xe7\xb1\xb3\xe9\xa5\xad' <class 'bytes'>
2.decode()
作用:将字节类型转化为字符串类型,的过程称之为解码
语法:字节类型.decode()
s=b'\xe5\x90\x83\xe7\xb1\xb3\xe9\xa5\xad'`
`byte_e=s.decode()`
`print(byte_e,type(byte_e))` #吃米饭 <class 'str'>
总结:encode()就是把人能看懂的解释成机器能懂的,而decode()相反。
二.字符串的基本操作
1.索引取值/下标
作用:通过索引/下标取出相对应的值,起始位为0.
语法:字符串【索引/下标】
注意:索引/下标不能超过字符串的长度。
h='smith adm'
print(h[8])<!--m-->
print(h[5])<!--空字符,也占据位置-->
print(h[-3])<!--a-->
2.切片
作用:从一个字符串里拷贝出一个新的字符串。
语法:字符串[开始索引:结束索引:步长]
步长:默认为1,正:从左往右切;负:与正相反
注意:取头不取尾,不包含结束索引;切片的结束索引可已超出范围
s='hello'
print(s[1:3:1])<!--hel-->
print(s[2:6:2])<!--lo-->
print(s[-1:-3:1])<!--oll-->
print(s[-1:-6:-2])<!--olh-->
print(s[::])<!--没有指定开始索引和结束索引;默认从最开始的位置到结束的位置-->
for i in range(1,10):
print(s[5:1:])
for i in range(10,1,-1):<!--开始大于结束,把步长改为负一-->
print(i)
s='smith 18 female'
name=s[0:6]
age=s[7:9]
3.成员运算符
作用:查看字符串是否包含这个子字符串
in:存在 ; 为真返回True,则返回False
not in:不存在 ; 为真返回True,则返回False
str1='hello world!'
print('a' in str1)<!--False-->
print('hel' in str1)<!--True-->
print('c' not in str1)<!--True-->
print('wo' not in str1)<!--False-->
4.原生字符串
语法;r'' 在字符串引号最开始加上r R
作用:字符串里只是普通字符,不构成其他意义,里面任何转义字符不会再进行转义
\加上字母构成特殊意义
print('\n字符\a\t')
path='D:\python\daima\user.py'
#取消\和一些字母组合在一起的转义\\代表输出一个\
path='D:\\python\\daima\\user.py'
#原生字符串
path=r'D:\python\daima\user.py'
print(path)
5.计算字符串长度
作用:计算字符串里有多少个字符
L='hello world word hobby de ha dd cc kiss'
count=0<!--定义一个计数器-->
for i in s:<!--for循环遍历字符串,从字符串第一个字符到最后一个字符-->
count+=1
print(count)
<!--内置函数:len(变量) length-->
print(len.(s))
例题:循环遍历字符串,字符串是可迭代对象
方法一:
str1='hello world'
for s in str1:
print(s)
方法二:
str2='hello world'
i=0
while i<len(str2):
print(str2[i])
i+=1
标签:索引,str1,笔记,print,字符串,byte,hello
From: https://blog.csdn.net/2302_80333886/article/details/139395157