Python 2.表达式(基础篇)
Posted 阎冬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 2.表达式(基础篇)相关的知识,希望对你有一定的参考价值。
- 表达式
1.由一个或者多个变量夹杂数字和运算符组合成的一行代码
2.通常会有一个返回值
3.运算符:
1.用于运算的符号叫做运算符
2.运算符分类:
1.算数运算符
2.比较或者关系运算符
3.赋值运算符
4.逻辑运算符
5.位运算符
6.成员运算符
7.身份运算符
-算数运算符-
+,-如同算数一般
a = 2 + 1
b = 2 - 1
print(a)
print(b)
结果如下
3 1
乘号用星号(*)代替
a =2*3
print(a)
结果如下
6
除号使用斜杠(/)代替
并且python2和python3不同 这里以python3位准
a = 36/6
print(a)
结果如下
6.0
//表示取商运算,也叫地板除
a = 35//6
print(a)
结果如下
5
**表示幂运算 3的3次方
a = 3**3
print(a)
结果如下
27
-比较运算符-
对两个变量或者值进行比较的运算符
比较的结果是布尔值 则是true是 或 false否
”==“:等于号
a = 1
b = 2
c = a == b #将a和b进行比较 c为存放比较的结果
print(c)
结果如下
False
!=不等于
a = 1
b = 2
c = a!=b #同理上面进行比较之后把值赋给c
print(c)
结果如下
True
== 等于 - 比较对象是否相等 (a == b) 返回 False。
!= 不等于 - 比较两个对象是否不相等 (a != b) 返回 true.
<> 不等于 - 比较两个对象是否不相等 (a <> b) 返回 true。这个运算符类似 != 。
> 大于 - 返回x是否大于y (a > b) 返回 False。
< 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。 (a < b) 返回 true。
>= 大于等于 - 返回x是否大于等于y。 (a >= b) 返回 False。
<= 小于等于 - 返回x是否小于等于y。
-赋值运算符-
= :赋值
a = 0 #对a进行赋值 c = a = 4 #把4作为值赋给a 从而改变a 赋值是从右变得值赋值给左边的变量 print(c)
结果如下
4
+=:缩写
a = 4
a += 7 #因为上面赋值的原因所以a=4 所以 a = 4+7
print(a)
结果如下
11
所有的算数运算符都可以缩写
比如 +=,-=,*=,/=,//=,%=,**= 都是缩写方式
-逻辑运算符-
对布尔值进行计算的符号
and 逻辑与
or 逻辑或
not 逻辑非
python中没有逻辑异或运算
运算规则:
and看做乘法,or看做加法
True看作1 ,False看作0
则逻辑运算就能换转成整数数学运算
最后结果如果是为0则为False ,否则为True
逻辑运算的短路问题:
逻辑运算式,按照运算顺序计算,一旦能够确定整个式子未来的值,则不进行计算,直接返回返回值
逻辑运算案例
a = True b = False c = True #以下式子等价于 d = 1 * 0 + 1 d = a and b or c print(d) #所以d大于0为True d = a or b and c #d = 1 + 0 * 1 print(d)
结果如下
True
True
逻辑运算的短路案例
下面这个例子 d的值一定是为true 于是乎运行到or时候 整个表达式就不在向下计算
a = True d = a or (132) #d = 1 + 一个我们随便定义的数字当时不能为负数的情况下 最小的当为0 0+1=1所以就会出现短路 print(d)
结果如下
True
而有的时候逻辑运算表达式里面还有赋值表达式,所以赋值表达式的结果就很难预期
例子(伪代码=不一定能成功运行的东西)
a = True b=0 d = a or (b=9) and 6 #d = 1 + 9 * 6 括号是为了让他先执行 #假定上面的语法没有错误的情况下 b是等于9呢还是0呢 print(b)
结果如下
File "D:/图灵/2.基础语法/测试.py", line 3
d = a or (b=9) and 6 #d = 1 + 9 * 6 括号是为了让他先执行
^
SyntaxError: invalid syntax
-成员运算符号-
用来检测某一个变量是否是另一个变量的成员,或者说在一个成员里面对另一个成员的内容进行查找
in 和 not in进行判断
语法 var1 in var2 var not in var2
案例:
a = [1,23,4,5,5] b = 6 print(b in a) #不存在则返回False c = 5 print(c in a) #存在则返回True
结果如下
False
True
-身份运算-
is用来检测两个变量是否是同一个变量
is not两个变量不是同一个变量
通过查看对象所在的内存地址来进行检测
var1 is var2 var is not var2
有时候值相同 但是不一定是同一个变量
后面有使用id内置函数来解析
a = 1 b = 1 print( a is b) a = "I love zhu" b = "I love zhu" print( a is b)
结果如下
True
True
运算符的优先级问题
括号具有最高优先级
优先级表格
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 [email protected] 和 [email protected])
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 ‘AND‘
^ | 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符
文笔不好,仅供参考
要有错误或者有其他更多的见解,欢迎大家加我QQ384435742来交流
想第一时间看更新的文章,请关注,谢谢
以上是关于Python 2.表达式(基础篇)的主要内容,如果未能解决你的问题,请参考以下文章
Python基础篇第2篇: Python内置函数--map/reduce/filter/sorted