Python字符串方法3:字符串比较格式化

原创
2021/04/24 05:41
阅读数 9

字符串比较

运算符

> ,>=,<,<=,==,!=

比较规则:

首先比较两个字符串中的第一个字母,如果相等则继续比较下一个字母,依次比较下去,
直到两个字符串中,有一个字母不相等,这两个字母的比较结果就是两个字符串的比较结果,
两个字符串中所有的后续字母不再比较。

比较原理:

两个字符进行比较时,比较的是其原始值,调用内置函数ord(),可以得到字母的ASCII 码

案例:

print("apple">"app")             #True   "l" > "" 
print("apple">"banana")          #False 因为第一个字母转换后 97<98
print(ord("a"))                  #97
print(ord("b"))                  #98

== 和 is 的区别

== 比较的是value

is   比较的是 内存地址 id()

a = b = "python"
c = "python"
d = a[:]
print(id(a))  # 2008148549872
print(id(b))  # 2008148549872
print(id(c))  # 2008148549872
print(a == b)  # True
print(b == c)  # True
print(a is b)  # True 字符串储存机制
print(b is c)  # True
print(d == a)  # True
print(d is a)  # True 字符串储存机制  

a = ['1',"2","3"]
b = a[:]
print(a,id(a))  #['1', '2', '3'] 1865106539968
print(b,id(b))  #['1', '2', '3'] 1865106535168
print(a==b)     #True
print(a is b)   #False

字符串格式化

  • % 占位符格式化
    %s  字符串
    %d 或%i  
    %f 浮点数

注意: % 后面加整数数字代表宽度 加小数代表 小数精度

print("hellohello")
print("%10d" % 99)
print("%10f" %3.1415926)
print("%10.3f" %3.1415926)

#输出
hellohello
        99
  3.141593
     3.142
  • {}.format格式化

注意:{} 格式化也有和%类似的特殊写法

print("{0}".format(3.1415926))               # {0} 占位符,第一个位置
print("{0:.3}".format(3.1415926))            # :.3 代表一共3位小数
print("{0:.3f}".format(3.1415926))           # :.3f 代表小数后面有3位
print("{0:10}".format(99))                   # :10 代表宽度为10,不足前面补空格

#输出
3.1415926
3.14      
3.142     
        99
  • f-sting  f 开头的字符串
name = '张三'
age = 20
print("我叫%s,今年%d岁" %(name,age))
print("%10d" % 99)  # %10d  这个10代表宽度
print("hellohello")
print("%f" % 3.1415926)
print("%.3f" % 3.1415926)  #代表小数位数
print("我是{0},今年{1}岁,我真的叫{0}".format(name,age))
print(f"我是{name},今年{age}岁,我真的叫{name}")

#输出
我叫张三,今年20岁
        99
hellohello
3.141593
3.142
我是张三,今年20岁,我真的叫张三
我是张三,今年20岁,我真的叫张三

以 f 开头表示在字符串内支持大括号内的python 表达式

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部
返回顶部
顶部