Skip to content

Latest commit

 

History

History
146 lines (110 loc) · 4.66 KB

05-运算符与表达式.md

File metadata and controls

146 lines (110 loc) · 4.66 KB

运算符

python支持以下几种运算符:


1 算术运算符

以a=10,b=20为例进行计算:

运算符 描述 实例
+ 两个对象相加a + b输出结果30
- 得到负数或是一个数减去另一个数a - b输出结果-10
* 两个数相乘或是返回一个被重复若干次的字符串a * b输出结果200
/ x除以yb / a输出结果2
// 取整除 返回商的整数分9//2输出结果4 , 9.0//2.0输出结果4.0
% 取余 返回除法的余数b % a输出结果0
** 返回x的y次幂a**b为10的20次方,输出结果100000000000000000000

2 赋值运算符

使用=符号赋值


3 复合赋值运算符

算术运算符后面加上等于号就是符合运算符了:

a = 3
a +=4

上面+=就是复合运算符了


4 比较(即关系)运算符

  • ==检查两个操作数的值是否相等,如果是则条件变为真。如a=3,b=3则(a == b)为 true
  • !=检查两个操作数的值是否相等,如果值不相等,则条件变为真。如a=1,b=3则(a != b) 为true.
  • <>检查两个操作数的值是否相等,如果值不相等,则条件变为真。如a=1,b=3则(a <> b) 为true.这个类似于 != 运算符
  • >检查左操作数的值是否大于右操作数的值,如果是,则条件成立。如a=7,b=3则(a > b) 为true
  • <检查左操作数的值是否小于右操作数的值,如果是,则条件成立。如a=7,b=3则(a < b) 为false
  • >=检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。如a=3,b=3则(a >= b) 为true
  • <=检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。如a=3,b=3则(a <= b) 为true

关系运算符可用于数字、字符、字符串、设置一定元素类型的列表


5 逻辑运算符

  • and: x and y 布尔"与",如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。
  • or: x or y布尔"或",如果 x 是 True,它返回True,否则它返回 y 的计算值。
  • not: not x布尔"非",如果 x 为 True,返回 False。如果 x 为 False,它返回 True。 not(a and b) 返回False
# 逻辑运算符可用于其他数据类型,不要关心返回结果的具体类型,而是关系返回结果是表示True还是False
bool1 = [1] or []

#下面两个表达式分别返回1和2,那么为什么呢,因为Python根据运算符判断,在遇到第一个值时就可以得出结果,所以立即返回遇到的第一个值
bool2 = 1 or 2
bool3 = 2 or 1

6 常用的数据类型转换

函数 说明
int(x [,base ]) 将x转换为一个整数
long(x [,base ]) 将x转换为一个⻓整数
float(x ) 将x转换到一个浮点数
complex(real[,imag ]) 创建一个复数
str(x ) 将对象x转换为字符串
repr(x ) 将对象x转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列s转换为一个元组
list(s ) 将序列s转换为一个列表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为Unicode字符
ord(x ) 将一个字符转换为它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串

7 身份运算符

运算符 描述 实例
is is是判断两个标识符是不是引用自一个对象,比较的是内存地址 x is y, 如果 id(x) 等于 id(y) , is 返回结果 1
is not is not是判断两个标识符是不是引用自不同对象 x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1
bool1 = {1,2} == {2,1} # True,为什么,集合是无序的
bool2 = [1,2] == [2,1] # False,为什么,列表是有序的

注意:

  • is 是比较两个引用是否指向了同一个对象(引用比较)
  • == 是比较两个对象是否相等

8 判断的条件

任何数据类型都可以作为判断的条件,比如整型:当a != 0时表示true,当a = 0时表示false

a = 3
if a:
 print(a)

9 操作符

  • +表示合并,可用于字符串、列表、元组
  • *表示复制,可用于字符串、列表、元组
  • in表示元素是否存在,可用于字符串、列表、元组、字典
  • not in表示元素是否不存在,可用于字符串、列表、元组、字典

10 类型判断

使用type(不推荐)

num = 44
isSame = type(num) == int

使用isinstance(推荐)

num = 33
isSame = isinstance(num, (int,float,str))

11 位为运算符

支持的位运算:&、|、 <<、 >> 、^、 ~


12 表达式

表达式是运算符和操作数所构成的序列