Python基础21 字符串的比较操作、切片操作、格式化和编码转换

一、字符串的比较操作

"""
字符串比较的规则:
首先比较字符串的第一个字符,如果相等则比较下一个字符
直到有两个字符不相等为止。
字符串比较的原理:
字符进行比较的时候,比较的是ordinal value,调用内置函数ord可以得到指定字符的ordinal value
与ord对应的内置函数是chr,chr函数可以根据指定的ordinal value得到对应的字符
"""
# 字符串的比较操作 > >= < <= == !=
print("apple">"appz")
print("apple">="appz")
print("apple"<"appz")
print("apple"<="appz")
print("apple"=="appz")
print("apple"!="appz")
# 字符和 ordinal value的互相转换
print(ord("万"))
print(ord("b"))
print(chr(22222))
print(chr(88))
"""
is 和 ==的区别
==比较的value值
is比较的是id
"""

二、字符串的切片操作

"""
字符串是不可变类型
不具备是增删改操作
所以切片得到的结果是产生新的对象

字符串索引
从左到右 从0开始
从右到左 从-1开始
"""
# 字符串的切片操作

name="hello,python"
print(name[:5]) # 由于没有指定起始位置,所以从0开始切
print(name[6:]) # 由于没有指定结束位置,所有切到字符串的最后一个元素
print(name[2:4])    # name[a:b] 切片范围[a,b)
print(name[2:6:2])    # name[start:end:step] 切片范围[start,end) 步长为step step默认为1
print(name[::2])    # 不写开始位置,不写结束位置,范围就是全部,步长为2
print(name[::-2])    # 步长为负的 从尾到头开始切
print(name[:5]+"!"+name[6:])

三、字符串的格式化

"""
格式化字符串的两种方式
1、%作为占位符
%s 表示字符串
%i 或 %d 表示整数
%f 表示浮点数
2、{}作为占位符
{}括号里面放序号 例如{0}、{1}
或者用f-string方法 格式为f"字符串{name}{age}"
"""
# 格式化字符串
# 1、%作为占位符
# 语法格式: 字符串 % 元组
name="张三"
age=18
print("我叫%s,今年%d岁" % (name,age))
print("%10d" % 99)  # 10表示的是宽度
print("%.3f" % 3.1415926)   # .3表示的是小数点后三位数
print("%10.3f" % 3.1415926)   # 同时表示精度和宽度
# 2、{}作为占位符
print("我叫{0},今年{1}岁".format(name,age))
print("{0:.3}".format(3.1415926))   # .3表示的是三位数
print("{:.3f}".format(3.1415926))   # .3表示的是小数点后三位数
print("{:10.3f}".format(3.1415926))   # .3表示的是小数点后三位数宽度为10
# 3、f-string方法进行格式化
print(f"我叫{name},今年{age}岁")

四、字符串的编码转换

"""
字符串的编码转换
之所以需要字符串的编码转换母的是为了两个计算机之间进行数据传输
编码与解码的方式
1、编码:将字符串转换为二进制数据(bytes)
2、解码:将bytes类型的数据转换成字符串类型
"""
# 编码 encoding方法
s="如何学习python代码"
print(s.encode(encoding="GBK")) # 在GBK这种编码中,一个中文占两个字节 b代表二进制
print(s.encode(encoding="UTF-8")) # 在UTF-8这种编码中,一个中文占三个字节 b代表二进制
# 解码 decode方法
byte=s.encode(encoding="GBK")   # 编码
print(byte.decode(encoding="GBK"))  # 解码

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值