4、ASCII转换及运算符

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,<,<=,>,>=,!=,== 比较运算符
+,-
*,/,//,%
()

猜你喜欢

转载自blog.csdn.net/qq_37697566/article/details/101345617