零基础学Python2——Python运算符(算术运算符,比较运算符,赋值运算符,逻辑运算符,位运算符,成员运算符,身份运算符,三目运算符)

一.算数运算符

运算符 描述
+
-
*
/
% 返回除法的余数
** 幂次
// 返回商的整数部分


1.'+' 为加法运算符:

2.'-'为减法运算符:

3.'*'为乘法运算符: 

4.'/'为除法运算符(返回值类型为float):

 5.'%'为返回除法的余数:

6.'**'为幂次运算符:

 7.'//'为返回商的整数部分(注意python中取整的规则为向下取整):

 

 8.如果想要同时得到商和余数,可以使用divmod()这个方法,该方法的返回值是tuple(x//y,x%y)

 二.算数运算符

运算符 描述
== 比较值是否相等
!= 比较值是否不相等
> 大于
< 小于
>= 大于等于
<= 小于等于

注意:1.int 不能直接与str比较;

           2.python3中不支持<>,但是在python2中<>与!=的作用相同;

           3.==和!=符号不能分开写成= =;

           4.str 与 str 之间比较的是ASCII,并且逐个比较(可以用ord()函数可以查看ASCII值);

           5.最后要知道的是算术运算符的返回值均为bool值,即不是True就是Flase。

           

三.赋值运算符

运算符 描述 实例
= 赋值运算符 c = a + b
+= 加法赋值运算符 c+=a 等效 c = c + a
-= 减法赋值运算符 c-=a 等效 c = c - a
*= 乘法赋值运算符 c*=a 等效 c = c * a
/= 除法赋值运算符 c/=a 等效 c = c / a
%= 取余数赋值运算符 c%=a 等效 c = c % a
**= 幂赋值运算符 c**=a 等效 c = c ** a
//= 取整值赋值运算符 c//=a 等效 c = c // a

注意:1.赋值是将右边的值赋值给等号左边;

           2.python不支持自加,自减等类似的运算,如a++,a--;

           3.符号不能分开写。

四.逻辑运算符

运算符 表达式 描述
and a and b 逻辑与,a与b都为True则返回True
or a or b 逻辑或,a与b只要有一个为True则返回True
not not a 逻辑非,当a为True,not a 则为False

1.对于连续比较a>b>c可以写为 a>b and a>c

2.python的短路原则(懒惰原则) 

零基础学Python2——Python运算符(算术运算符,比较运算符,赋值运算符,逻辑运算符,位运算符,成员运算符,身份运算符,三目运算符)_第1张图片

可以发现打印输出 10 and 20 总是打印后面的20;打印输出10 or 20 时,总是打印前面的10。

五.位运算符(以二进制)

运算符 描述
& 按位与,两者都为1才为1,否则为0
| 按位或,只有一个为1才为1,否则为0
^ 按位异或,两者相等则为0,否则为1

例子:当a=60,b=13。取二进制。a = 0011 1100 , b = 0000 1101 有:

a & b = 0000 1100

a | b = 0011 1101

a ^ b = 0011 0001

六.成员运算符

运算符 描述
in 判断某个值是否在指定序列中,在则返回True
not in 判断某个值是否在指定序列中,不在则返回True

in 与 not in 是python独有的运算符 (全部为小写字母),用于判断对象是否在某个集合中,非常好用,并且速度很快,返回结果为布尔值类型的 True 或 False。

零基础学Python2——Python运算符(算术运算符,比较运算符,赋值运算符,逻辑运算符,位运算符,成员运算符,身份运算符,三目运算符)_第2张图片

七.身份运算符

运算符 描述
is 判断两个对象的内存地址是否一致,是则返回True
is not 判断两个对象的内存地址是否不一致,是则返回True

is 与 not is 也是python独有的运算符 (全部为小写字母),这里要注意 is 与 == 之间的区别,

is 用于判断两个变量的引用是否为同一个内存地址(可以用id()函数查看);

== 用于判断两个变量的值是否相等。

最后在这里我们可以注意到a与b的地址相等,与前两个又有着不同,在这里我想说的是:跟Java一样, 为提高内存利用效率, Python 解释器在运行程序时会建立一个共享对象池, 将常用的小整数(不大于256)都放在这个池子里.创建不大于256的整数对象时, 直接从池子里面取, 而不是分配新的内存空间创建新的对象.所以对于不大于256的整数, 相同值的整数对象其内存地址都一样。


八.三目运算符

 表达方法: True_statements(条件成立执行) if expression (条件) else False_statements (条件不成立执行)

即将判断语句写在了一行里,注意python中的三目运算符与c语言或java中的还有些许不同,不能以 a>b ? a:b 的形式去写。

九.运算符的优先级

下表列出了从最高到最低优先级的所有运算符(除去了二进制的位运算符)。优先级高的运算符优先计算或处理。同级别的运算符按从左到右的顺序计算(赋值运算符除外,它是按从右向左的)。

运算符 描述
** 指数(最高优先级)
*  /  %  // 乘  除   取余   整除
+  - 加    减
<=   <   >   >= 比较运算符
==    != 比较运算符
=  %=  /=   //=   -=   +=   *=     **= 赋值运算符
is    is not 身份运算符
in    in ont 成员运算符
not   or    and 逻辑运算符

你可能感兴趣的:(零基础学python,python,开发语言)