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

python基础篇-函数和代码的复用

python 基础篇第一篇

100天精通Python(进阶篇)——第40天:pymongo操作MongoDB数据库基础+代码实战

Python基础篇第十一篇:正则表达式之计算器

Python学习笔记——基础篇第五周——正则表达式