Python基础–12
字符串比较
print('apple'>'app')
print('aanan'>'banan')
print(ord('a'),ord('b'))
print(chr(97),chr(98))
# True
# False
# 97 98
# a b
print(ord('孙'))
print(chr(23385))
# 23385
# 孙
==和is的区别:
==比较的是value
is比较的是id是否相等
字符串切片
切片[start:stop:step]
从start开始截到stop(不包含stop),步长为1(两个元素之间的间隔)
s='hello,Python'
s1=s[:5]#由于没有指定起始位置,从0开始切
s2=s[6:]#由于没有指定结束位置,切到字符串的最后一个元素
print(s1+'!'+s2)
# hello!Python
s='hello,Python'
print(s[1:5:1])
print(s[::2])
# ello
# hloPto
格式化字符串
name='张三'
age=20
print('我叫%s,今年%d岁' % (name,age))
# 我叫张三,今年20岁
print('我叫{0},今年{1}岁了'.format(name,age))
# 我叫张三,今年20岁了
print(f'我叫{name},今年{age}岁!')#字符串前加f代表格式化字符串
用%和{}来设置宽度和精度
print('%10d' % 99)#宽度
print('0123456789')
print('%.3f'%3.1415926)#保留小数
print('%10.3f'%3.1415926)
# 99
# 0123456789
# 3.142
# 3.142
print('{0:.3}'.format(3.1415926))#:.3表示一共是三位数
print('{0:.3f}'.format(3.1415926))#:.3f表示三位小数
print('{0:10.3f}'.format(3.1415926))#同时设置宽度和精度
# 3.14
# 3.142
# 3.142
字符串的编码与解码
s='天涯共此时'
print(s.encode(encoding='GBK'))#一个中文占两个字节
print(s.encode(encoding='UTF-8'))#一个中文占三个字节
# b'\xcc\xec\xd1\xc4\xb9\xb2\xb4\xcb\xca\xb1'
# b'\xe5\xa4\xa9\xe6\xb6\xaf\xe5\x85\xb1\xe6\xad\xa4\xe6\x97\xb6'
#解码
byte=b'\xcc\xec\xd1\xc4\xb9\xb2\xb4\xcb\xca\xb1'
print(byte.decode(encoding='GBK'))
byte=b'\xe5\xa4\xa9\xe6\xb6\xaf\xe5\x85\xb1\xe6\xad\xa4\xe6\x97\xb6'
print(byte.decode(encoding='UTF-8'))
# 天涯共此时
# 天涯共此时