1.review
# 集合
# 可变、无序
s1 = {1, 23, 4}
s2 = set() # 转换成集合
# 交集(&)、并集(|)、差集(-)、对称差集(^)
# 子集(>=、<=) 真子集(>、<)
例:集合比较大小实际是判断是否是子集或则真子集
s1 = {100, 200, 300, 1, 2}
s2 = {1, 2, 3}
print(s1 > s2) # False
s1 = {1,2,3}
s2 = {1,2,3}
print(s1 > s2) # False
print(s1 >= s2) # True
# 字符串
# ''、""、''''''、""""""
# 不可变; 有序
# 普通字符和转义字符
# \n、\t、 \"、\'、 \\ (任何转义字符的长度一定是1)
# \u4位的16进制编码值 - 编码字符
# 字符编码
# ASCII和 Unicode
# 4e00 ~ 9fa5
print('\u4eff') # 仿
print(chr(0x4eff)) # 仿
print(chr(98)) # b
print(ord('二')) # 20108
print('azzzz' < 'b') # True
print(ord('仿')) # 20223
2.字符串的格式化
name = 'hu'
age = 34
money = 8800.7896789
练习:message = 'xxx 今年 xx 岁'
# 方法一: 字符串拼接
message = name +'今年' + str(age) + '岁'
print(message)
# 方法二:字符串格式占位符 !!!!!!!!
'''
语法:包含格式占位符的字符串%(数据1,数据2,数据3,...)
注意:a.数据必须和占位保持一致
b.当只需要一个数据的时候,()可以省略
%s = 字符串(任何数据的类型都可以使用%s占位,因为python所有的数据都能转换成字符串)
%d = 整数
%f = 浮点数 (默认小数点6位,最后一位四舍五入)
%.nf - 浮点数(保留n位小数)
'''
message = '%s今年%d岁%f'%(name, age, money)
# 方法三:f - string !!!!!!
message = f'{name}今年{age}岁,月薪:{money}'
# 格式1:.nf - 控制浮点数保留n位小数
message = f'月薪:{money:.2f}'
# 格式2:字符>长度 - 将数据通过前面加指定字符填充到指定长度
num = 19
message = f'学号:{num:*>4}' #>表示左边添加,<表示在右边加
print(message) # 学号:**19
message = f'{num:0>8.2f}' !!!!!!!
print(message) # 00019.00
money = 182930000
message = f'{money:,}' !!!!!!!
print(message) # 182,930,000
num = 0.45
message = f'{num:%}'
print(message) # 45.000000%
message = f'{num-10:.2%}'
print(message) # -955.00%