Python基础(16)-运算符

16.1-算数运算符:

运算符 描述
+ 加-两个对象相加
- 减 - 得到负数或是一个数减去另一个数
* 乘 - 两个数相乘或是返回一个被重复若干次的字符串
/ 除 - a除以b
% 取模 - 返回除法的余数
** 幂 - 返回a的b次幂
// 取整除 - 返回商的整数部分

实例:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#以下设置变量 a = 20,b = 10
a = 20
b = 10

print("a + b的值为:",a + b)

print("a - b的值为:",a - b)

print("a * b的值为:",a * b)

print("a / b的值为:",a / b)

print("a % b的值为:",a % b)

print("a ** b的值为:",a ** b)

print("a // b的值为:",a // b)

运行结果:

Python基础(16)-运算符_第1张图片

Python2 和 Python3 的区别:

在 Python2.7 中 11 / 4 = 2,在传统的算数中是等于 2.75 的,这是因为 Python2.7 中使用的是舍去式除法,当两个操作对象都是整数时,结果也是个整数,舍去式除法会舍去小数部分,如果想要在 Python2.7 中进行改变的话需要导入一个模块。但在 Python3 中,这个除法的结果是浮点数类型。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from __future__ import division
a = 11 / 4
print(a)

运行结果:

16.2-比较运算符:

运算符 描述
== 等于,比较对象是否相等
!= 不等于 - 比较两个对象是否不相等
<> 不等于 - 比较两个对象是否不相等,这个运算符类似 != 。(Python3中已废弃)
> 大于 - 返回a是否大于b
< 小于 - 返回a是否小于b。
>= 大于等于 - 返回a是否大于等于b。
<= 小于等于 - 返回a是否小于等于b。

实例:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#以下设置变量 a = 20,b = 10
a = 20
b = 10

if a == b:      #a == b 返回 False
    print("a == b")
else:
    print("a != b")

if a != b:      #a !=b 返回 True
    print("a != b")
else:
    print("a == b")

if a > b:       # a > b 返回 True
    print("a > b")
else:
    print("a < b")

if a < b:       # a < b 返回 False
    print("a < b")
else:
    print("a > b")

if a >= b:       # a >= b 返回 True
    print("a >= b")
else:
    print("a <= b")

if a <= b:       # a <= b 返回 False
    print("a <= b")
else:
    print("a >= b")

运行结果:

Python基础(16)-运算符_第2张图片

16.3-赋值运算符:

运算符 描述
= 简单的赋值运算符
+= 加法赋值运算符
-= 减法赋值运算符
*= 乘法赋值运算符
/= 除法赋值运算符
%= 取模赋值运算符
**= 幂赋值运算符
//= 取整除赋值运算符

实例:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#以下设置变量 a = 20,b = 10
a = 20
b = 10

a += b      #a += b 等效于 a = a + b
print("a += b:",a)

a -= b      #a -= b 等效于 a = a - b
print("a -= b:",a)

a *= b      #a *= b 等效于 a = a * b
print("a *= b:",a)

a /= b      #a /= b 等效于 a = a / b
print("a /= b:",a)

#修改了变量 a 和 b 的值
a = 20
b = 10

a %= b      #a %= b 等效于 a = a % b
print("a %= b:",a)

#修改了变量 a 和 b 的值
a = 20
b = 10

a **= b     #a **= b 等效于 a = a ** b
print("a **= b:",a)

#修改了变量 a 和 b 的值
a = 20
b = 10

a //= b     #a //= b 等效于 a = a // b
print("a //= b:",a)

运行结果:

Python基础(16)-运算符_第3张图片

16.4-位运算符:

运算符 描述
& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
\ 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
^ 按位异或运算符:当两对应的二进位相异时,结果为1。
~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1,且符号位进行补码,简单的可以理解为 ~a=-(a+1)。
<< 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。
>> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数。

实例:

按位运算符就是把数字看作二进制来进行计算的。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
以下设置变量 a = 60,b = 13
二进制格式: a = 00111100,b = 00001101
"""
a = 60      # a = 00111100
b = 13      # b = 00001101

print("按位与运算符:",a & b,bin(a & b))       # 12 = 00001100

print("按位或运算符:",a | b,bin(a | b))       # 61 = 00111101

print("按位异或运算符:",a ^ b,bin(a ^ b))      # 49 = 00110001

print("按位取反运算符:",~a,bin(-61))       # 60 -> -(60+1) 即 -61 转为二进制为 -00111101

print("左移动运算符:",a << 2,bin(a << 2))     # 240 = 11110000

print("右移动运算符:",a >> 2,bin(a >> 2))     # 15 = 00001111

运行结果:

Python基础(16)-运算符_第4张图片

16.5-逻辑运算符

运算符 逻辑表达式 描述
and a and b 布尔"与" - 如果 a 为 False,a and b 返回 False,否则它返回 b 的计算值。
or a or b 布尔"或" - 如果 a 是非 0,它返回 a 的值,否则它返回 b 的计算值。
not not a 布尔"非" - 如果 a 为 True,返回 False 。如果 a 为 False,它返回 True。

实例:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#以下设置变量 a = 20,b = 10
a = 20
b = 10

if a and b:
    print("变量 a 和 b 都为 True")
else:
    print("变量 a 和 b 有一个不为 True")

if a or b:
    print("变量 a 和 b 有一个为 True 或都为 True")
else:
    print("变量 a 和 b 都不为 True")

if not(a and b):
    print("变量 a 和 b 都为 False 或一个为 False")
else:
    print("变量 a 和 b 都为 true")

运行结果:

16.6-成员运算符:

运算符 描述
in 如果在指定的序列中找到值返回 True,否则返回 False。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。

实例:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
list = [11,22,33,44,[55,66,77,88]]

ret = 22 in list        # 22 在 list列表中所以返回 True
print(ret)

ret = [55,66,77,88] in list     # [55,66,77,88]该列表 在 list列表中所以返回 True
print(ret)

ret = 55 not in list        # 55 不在 list列表中所以返回True
print(ret)

运行结果:

16.7-身份运算符:

运算符 描述
is is 是判断两个标识符是不是引用自一个对象
is not is not 是判断两个标识符是不是引用自不同对象

实例:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#以下设置变量 a = 20,b = 20
a = 20
b = 20

c = a is b      # 类似于 id(a) == id(b),a 和 b 引用的是统一对象所以返回 True
print(c)

c = a is not b      # a 和 b 引用的是统一对象所以返回 False
print(c)

运行结果:

你可能感兴趣的:(Python基础(16)-运算符)