ASCII与字符转换
ord和chr及相关应用
ord为字符换转化为ASCII
chr为ASCII转化为字符串
随机生成A~Z和数字0 ~9
lis=[chr(x) for x in range[65,91]]+[j fro j in range[1,10]]
显示:['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
lis2=[ord(str(x)) for x in lis]
显示:[65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57]
注:因为0-9类型是int,故需将读出来的int转换为str后进行ord转换
运算符
算术运算符
符号 内容 说明 + 相加 int、float和str都可相加,int(float)+str最后结果为str - 相减 int、float方可相减 * 相减 int类型可相乘。int与str可相乘,最后表现为str的次数 / 除 float、int方可相除,分母不可为0,结果为float // 整除 int整除,结果为int,float整除,结果为float -1//3 整数为-1,余数为2 % 取余 int取余,结果为int,float取余,结果为float -1//3 整数为-1,余数为2 ** 幂运算 33表示3的3次方,27 (1/3)表示27的三次开方
赋值运算符
符号 说明 += x += 3 相当于 x = 2 + 3 -= x -= 3 相当于 x = 2 - 3 *= x*= 3 相当于 x = 2 * 3 /= x/= 3 相当于 x = 2 / 3 //= x//= 3 相当于 x = 2 // 3 %= x%= 3 相当于 x = 2 % 3
比较运算符
符号 说明 > r=10>20,r的值为F < r=10<20,r的值为T >= 大于或等于 == 两个对象的值是否相等 != 两个对象的值是否不相等 is 比较两个对象是否为同个对象,即比较对象的id is not 比较两个对象是否不是同一个对象
逻辑运算符
0、none、空字符串及表示空性质的值会转换为False,剩下的都为True
符号 内容 说明 not 非 a= not None 结果为T,a=not ‘a’,结果为F and 与 and左右两个判断有一个为F,那结果为F or 或 or左右两个判断有一个为T,那结果为T
非布尔值运算
符号 内容 列子 说明 and 与 r= 0 and 1,计算结果为0 第一个值是F,那么返回值就是第一个值,否则返回第二个值 or 或 r=0 or 1,计算结果为1 第一个值是T,那么返回值就是第一个值,否则返回第二个值
条件运算
语法:语句1 if 条件表达式 else 语句2
如果判断结果为True 则会执行语句1,并返回执行结果
如果判断结果为False 则会执行语句2 ,并返回执行结果
练习
现在有 a b c三个变量 三个变量分别保存3个值
通过条件运算符获取三个值中的最大值
a=90
b=40
c=50
m=a if a>b and a>c else b if b>c else c
print(m)
运算符优先级
符号 描述 lambda 匿名函数表达式 if-else 条件运算符 or 或 and 与 not X 非 in、not in、is,is not,<,<=,>,>=,!=,== 比较运算符 +,- *,/,//,% ()