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