Python 运算符
算数运算符
运算符 | 描述 |
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 返回除法的余数 |
** | 幂次 |
// | 返回商的整数部分 |
- Example
- Print(3*3) run demo 9
- Print(3**4) run demo 81
- Print(50-5*6) run demo 20
- Print((50-5*6)/4) run demo 5.0
- Print(10/3) run demo 3.33335
- Print(-10//3) run demo -4
- Print(10%3) run demo 1 (10//3=3余1 3*3=9 10-9=1)
- Print(-10%3) run demo 2 (-10//3=-4-4*3=-12-10-(-12)=2)
- 为解决精度问题,使用内置模块decimal
- import decimal (导入decimal)
- from decimal import Decimal (从decimal模块中导入Decimal类)
- 计算结果是浮点数,即使两个数都是整数,结果也是浮点数
- %(除法)都是向下取整
- 使用divmod(),可以同时得到商和余数
比较运算符
运算符 | 描述 |
== | 比较值是否相等 |
!= | 比较值是否不相等 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
- EXAMPLE
- print(True == 1) run demo 1
- print(False == 0) run demo 0
- 比较两个值是否相等,返回bool值
- 比较运算符 --> 比较的是数值
- print(2.0 == 2) --> True
- print(‘2’ == 2) --> False ('2’是字符串不是数值)
- print(a != b) --> True
- Print(“abc”<”xyz”) run demo True (字符串比较,使用的是ASCII比较,逐个比较,直到有结果为止)
- print(3 < ‘a’) --> TypeError(类型错误,int与str不能直接比较)
赋值运算
运算符 | 描述 | 实例 |
= | 赋值运算符 | c=a+b |
+= | 加法赋值运算符 | c += a 等效 c = c + a |
-= | 减法赋值运算符 | c -= a 等效 c = c - a |
*= | 乘法赋值运算符 | c = a 等效 c = ca |
/= | 除法赋值运算符 | c /= a 等效 c = c / a |
%= | 取余数赋值运算符 | c %= a 等效 c = c % a |
**= 幂赋值运算符 | c ** = a 等效 c = c**a | |
//= | 取整除赋值运算符 | c //= a 等效 c = c // a |
逻辑运算符
运算符 | 表达式 | 描述 |
and | a and b | 逻辑与,a与b都为True则返回为True |
or | a or b | 逻辑或,a与b只要有一个为True则返回为True |
not | not a | 逻辑非,当a为True,not a则为False |
- Example
- print(10 and 20) run demo 20 (10的布尔值是True)
- print(10 or 20) run demo 10
位运算符
运算符 | 描述 |
& | 按位与:两者都为1才为1,否则为0 |
I | 按位或:只有一个为1 则为1,否则为0 |
^ | 按位异或:两者相等则为0,否则为1 |
- EXAMPLE
- a = 60, b = 13 (取二进制)
- a = 0011 1100
- b = 0000 1101
- a & b = 0000 1100
- a | b == 0011 1101
- a ^ b = 0011 0001
- PyCharm 中 使用bin函数同样可以 --> print (bin(a& b)) run demo 0000 1100
成员运算符
- in 与 not in 是Python独有的运算符(全部都是小写字母),用于判断对象是否某个集合的元素之一。返回结果是布尔值类型的True或者False
运算符 | 描述 |
in | 判断某个值是否在指定序列中,在则返回True |
not in | 判断某个值是否在指定序列中,不在则返还True |
- EXAMPLE
- name = “popopolar”
- clasee_li = [“南极”, “永恒”, “小于”, “popopolar”]
- name in class_li (判断popopolar在class_li 中则返回True)
- if name in class_li:
print(“在”)
else:
print(“不在”)
run demo 在
身份运算符
运算符 | 描述 |
is | 判断两个对象的内存地址是否一致,是则返回True |
is not | 判断两个对象的内存地址是否不一致,不是则返回True |
- is用于判断两个变量的引用是否为同一个内存地址(可用id()查看)
- == 用于判断两个变量的值是否相等
- EXAMPLE
- a = [1, 2, 3]
- b = [1, 2, 3]
- print (a is b) run demo False (is比较的是两者内存地址)
三目运算符
- Python中的三目运算符表示方法:True_statement if expression else False_statements
- EXAMPLE
- a = 1, b = 2
- 实现,当a+b > 3执行a+b,否则执行b - a
- print(a+b if a+b > 3 else b-a)
运算符优先级
- 同级别按从左往右的顺序计算(赋值运算除外,它是按从右往左的顺序)
运算符 | 描述 |
** | 指数(最高优先级) |
* / % // | 乘 除 取余 整除 |
+ - | 加 减 |
<= < > >= | 比较运算符 |
== != | 比较运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
Python 大作业
作业1
作业2
作业3
作业4
- is用于判断两个变量的引用是否为同一个内存地址(可用id()查看)
- == 用于判断两个变量的值是否相等
- EXAMPLE
- a = [1, 2, 3]
- b = [1, 2, 3]
- print (a is b) run demo False (is比较的是两者内存地址)
作业5 & 作业6
- 编写代码时候发现,if之后代码可以执行,但else之后代码不能执行。