demo1 字符串的分割
# 学校:上海海洋大学工程学院
# 时间:2021/10/11 21:03
s='hello world python'
lst=s.split() #没定义参数就按空格分割,分割后的结果是一个列表
print(lst)
s1='hello|world|python'
print(s1.split(sep='|'))
print(s1.split(sep='|',maxsplit=1))
''''rsplit从右侧开始劈分'''
print(s.rsplit())
print(s1.rsplit(sep='|'))
print(s1.rsplit(sep='|',maxsplit=1))
#合法的标识符是:字母,数字,下划线
demo2 字符串的替换与合并
# 学校:上海海洋大学工程学院
# 时间:2021/10/14 9:30
'''字符串的替换'''
s='hello,Python'
print(s.replace('Python','Java'))
s1='hello,Python,Python,Python'
print(s1.replace('Python','Java',2))
'''字符串的合并'''
lst=['hello','Python','Java']
print('|'.join(lst))
print(''.join(lst))
t=('hello','Java','Python')
print(''.join(t))
print('*'.join('Python'))
demo3 字符串的比较操作
# 学校:上海海洋大学工程学院
# 时间:2021/10/15 15:44
print('apple'>'app')
print('apple'>'banana')
print(ord('a'),ord('b')) #比较的是ord原始值的大小
print(chr(97),chr(98)) #chr可以得到原始值对应的字符
print(ord('茆'))
print(chr(33542))
demo4 字符串的切片
# 学校:上海海洋大学工程学院
# 时间:2021/10/23 9:53
s='hello,python'
s1=s[:5] #没有指定起始位置,从0开始,切到4
s2=s[6:] #没有指定最后位置,切到字符串的最后一个元素
s3='!'
new=s1+s3+s2
print(s,id(s))
print(s1,id(s1)) #切片之后都将产生一个新的对象
print(s2,id(s2))
print(s3,id(s3))
print(new,id(new))
print('--------------------[start:end:step]---------------------------')
print(s[1:5:1])
print(s[::-1]) #默认从字符串的最后一个元素开始,到字符串的最后一个元素结束,因为步长为负数
print(s[-6::1]) #步长为正就是从左往右切片,索引为-6是逆向索引
demo5 字符串的格式
# 学校:上海海洋大学工程学院
# 时间:2021/10/23 10:17
'''格式化字符串的第一种方式'''
name='张三'
age=20
'''第一种 % 占位符(%s是字符串,%d是整数,%f是浮点数)'''
print('我叫%s,今年%d岁'%(name,age))
'''第二种 {} 占位符'''
print('我叫{0},今年{1}岁'.format(name,age))
'''第三种 f-string!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'''
print(f'我叫{name},今年{age}岁')
print('--------------------------------------------------')
print('%d' % 99)
print('%10d' % 99) #10表示的是宽度,99前面有8位,加上99刚好宽度为10
print('%f' % 3.1415926)
print('%.3f' % 3.1415926) #.3表示的是保留三位小数
print('%10.3f' % 3.1415926) #一共总宽度为10,小数点后三位
demo6 小数的表示
# 学校:上海海洋大学工程学院
# 时间:2021/10/23 10:31
print('{0}'.format(3.1415926)) #0代表的是索引,没其他意思,可以省略不写
print('{0:.3}'.format(3.1415926)) #.3表示的是一共是三位数
print('{0:.3f}'.format(3.1415926)) #.3f表示的是保留三位小数
print('{0:10.3f}'.format(3.1415926)) #同时设置宽度和精度
demo7 字符串的编码解码
# 学校:上海海洋大学工程学院
# 时间:2021/10/23 10:39
s='天涯共此时'
'''编码'''
print(s.encode(encoding='GBK')) #在GBK这种编码格式中,一个中文占两个字节 #b表示的是二进制
print(s.encode(encoding='UTF-8')) #在UTF-8这种编码格式中,一个中文占三个字节
'''解码'''
#byte代表的就是一个二进制数据(字节类型的数据)
byte=s.encode(encoding='GBK') #编码
print(byte.decode(encoding='GBK')) #解码
byte=s.encode(encoding='UTF-8')
print(byte.decode(encoding='UTF-8'))