Python学习笔记【第二篇】:运算符、比较、关系运算符
运算符
python支持以下几种运算符
算术运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 两个对象相加 a + b 输出结果 30 |
- | 减 | 得到负数或是一个数减去另一个数 a - b 输出结果 -10 |
* | 乘 | 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200 |
/ | 除 | x除以y b / a 输出结果 2 |
// | 取整除 | 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 |
% | 取余 | 返回除法的余数 b % a 输出结果 0 |
** | 幂 | 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000 |
案例:a = 20 b = 80
a = 20 b = 80 a*b 1600 b/a 4.0 b//a 4 a%b 20 a**b 120892581961462917470617600000000000000000000000000000000000000000000000000000000000000000000000000000000 b-a 60 a+b 100
比较(即关系)运算符
python中的比较运算符如下表
运算符 | 描述 | 示例 |
---|---|---|
== | 检查两个操作数的值是否相等,如果是则条件变为真。 | 如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. |
<2> 逻辑运算符
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 | (a and b) 返回 20。 |
or | x or y | 布尔"或" - 如果 x 是 True,它返回 True,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
in :包含 返回 True 或 False
not in :不包含 True 或 False
a = "hello python" a in 'hello' False 'hello' in a True 'python' in a True 'word' in a False 'hello' not in a False 'word' not in a True
补充:三元运算符
三元运算(三目运算),是对简单的条件语句的缩写。
# 格式 #num = 值1 if 条件 else 值2 # 如果条件成立,那么将 “值1” 赋值给num变量,否则,将“值2”赋值给num变量 a =10 num = 10 if a>20 else num=20
is 和 == 区别:
is:比较左右两个值id是否相等
==:比较左右两个值是否相等
小整数池 (-5 到 256)内存优化
从python解释器启动的那一刻开始,就会在内存中事先申请好一系列内存空间存放好长用的整数
在实际开发中我们使用的pycharm也会进行内存空间申请,它的范围就比较大。
python解析器中查看id值:
超过范围:
但是在pytcharm中确不同:
结论:最终我们是以python解析的结果为准,因为以后的代码最终在服务器上是通过python解析器来执行。
1:id不同的情况下,值有可能相同,即两块不同的内存空间里可以存在相同的值。
2:id相同的情况下,值一定相同, x is y 成立 x==y 也必然成立