运算符 —— Python教程

本节教程讲解 Python 的运算法,例如算术、比较、赋值、逻辑、按位、身份(identity operator)和成员运算符。主要介绍语法和如何使用。html

每个运算符都有表明的特定符号,并使用一个或多个操做数(变量)来执行特定的操做。python

例如:a | b or a & b。变量 a 和 b 是操做数,'|' 和 '&' 是运算符,'|' 运算符作二进制数的 OR 操做,'&' 运算符作二进制数的 AND 操做。算法

什么是运算符?

与许多编程语言同样,Python 保留了一些特殊字符做为运算符。每一个运算符都会执行一些运算,例如作加法、乘法来操纵数据和变量。将做为输入被传递给运算符的变量称为操做数。建议阅读下 Python 的关键字编程

例如:bash

>>> 7%4
3
复制代码

% 是计算除法余数的模运算符,数字 7 和 4 是执行输入的操做数,最后的数字 3 是执行操做的结果。编程语言

算术运算符

使用算术运算符能够作任何数学计算,例如加、减、乘、除、模和指数计算等等。Python 程序有不少地方使用了算术运算符,例如 eval 函数、声明变量、计算和调用函数。ide

下面用列表描述内置的算术运算符:函数

运算符 做用 用法
+ 加法 —— 两数之和 a+b
- 减法 —— 两数之差 a-b
* 乘法 —— 两数的乘积数 a*b
/ 除法(浮点计算) —— 两数之商 a/b
// 除法(浮点计算) —— 两数之商(无小数) a//b
% 模 —— a 除 b 获得的整数余数 a%b
** 指数 —— b 次 a 的乘积 a**b

例如:post

a=7
b=4

print('Sum : ', a+b)
print('Subtraction : ', a-b)
print('Multiplication : ', a*b)
print('Division (float) : ', a/b)
print('Division (floor) : ', a//b)
print('Modulus : ', a%b)
print('Exponent : ', a**b)
复制代码

输出结果:测试

Sum : 11
Subtraction : 3
Multiplication : 28
Division (float) : 1.75
Division (floor) : 1
Modulus : 3
Exponent : 2401
复制代码

比较运算符

比较运算符可以肯定两个值是否相等或一个值是否大于另外一个值,而后根据结果进行决策。

下面用列表描述内置的比较运算符:

运算符 做用 用法
> 大于 —— 左操做数大于右操做数则返回True a>b
< 小于 —— 左操做数小于右操做数则返回True a<b
== 等于 —— 两个操做数相等则返回True a==b
!= 不等于 —— 两个操做数不相等则返回True a!=b
>= 大于或等于 —— 左操做数大于或等于右操做数则返回True a>=b
<= 小于或等于 —— 左操做数小于或等于右操做数则返回True a<=b

例如:

a=7
b=4

print('a > b is',a>b)
print('a < b is',a<b)
print('a == b is',a==b)
print('a != b is',a!=b)
print('a >= b is',a>=b)
print('a <= b is',a<=b)
复制代码

输出结果:

a > b is True
a < b is False
a == b is False
a != b is True
a >= b is True
a <= b is False
复制代码

逻辑运算符

逻辑运算符能够根据多种条件作出决策,执行后的操做结果是一个布尔值(True 或者 False)。

可是,并非全部逻辑运算符的结果是布尔值,例如 and 和 or 运算符返回的结果不是纯布尔值(可表示布尔值),而 not 运算符返回的结果就是纯布尔值。

下面用列表描述内置的逻辑运算符:

运算符 做用 用法
and 若是 a 是 false 返回 a,不然返回 b a and b
or 若是 a 是 false 返回 b,不然返回 a a or b
not 若是 a 是 false 返回 True,不然返回 False not a

例如:

a=7
b=4

print('a and b is',a and b)
print('a or b is',a or b)
print('not a is',not a)
复制代码

输出结果:

a and b is 4
a or b is 7
not a is False
复制代码

位运算符

按位运算符用来处理整数值的各个位,将整数值转化成二进制序列来处理。

按位运算符通常用来检查是否设置了特定位。例如物联网(IOT)应用程序基因而否设置了特定位来从传感器读取数据。

下面用列表描述内置的位运算符:

运算符 做用 用法
& 按位 AND(与) —— 在位级别比较两个操做数,两个对应的位均为 1 则返回 1 a & b
| 按位 OR(或) —— 在位级别比较两个操做数,任何一个位为 1 则返回 1 a | b
~ 按位 NOT(取反) —— 反转单个操做数的全部位 ~a
^ 按位 XOR(异或) —— 在位级别比较两个操做数,当任何一个位为 1 时返回 1(两个都为 1 时返回 0) a ^ b
>> 右移 —— a 的二进制位右移 b 位 a >> b
<< 左移 —— a 的二进制位左移 b 位 a << b

例如:

4 和 6 的二进制数分别是 00000100 和 00000110。如今咱们使用 AND 位运算符举例。

a=4
b=6

print('a & b is',a & b)
复制代码

输出结果:

a & b is 4
复制代码

这就进行了一次 AND(与) 操做。

0 0 0 0 0 1 0 0 &
0 0 0 0 0 1 1 0
---------------
0 0 0 0 0 1 0 0  # 对应的结果就是数字 4
复制代码

赋值运算符

Python 中能够使用赋值运算符来定义变量值。

例如指令 a = 4 使用了原始赋值运算符,目的是将 4 的值赋给 a 变量。

下面用列表描述内置的赋值运算符:

运算符 例子 做用等同
= a=4 a=4
+= a+=4 a=a+4
-= a-=4 a=a-4
*= a*=4 a=a*4
/= a/=4 a=a/4
%= a%=4 a=a%4
**= a**=4 a=a**4
&= a&=4 a=a&4
|= a|=4 a=a|4
^= a^=4 a=a^4
>>= a>>=4 a=a>>4
<<= a<<=4 a=a<<4

高级运算符

Python 还有一些高级运算符,例如身份运算符和成员运算符。

身份运算符(Identity Operators)

身份运算符用来比较两个对象/变量的位置,能够用来肯定对象是否共享同一个内存地址,这也就是说两个相等的变量内存地址不必定相同。

另外,身份运算符也能够用来肯定一个值是特定的类仍是类型。

运算符 做用 用法
is 两个操做数都指向同对象返回 True,不然返回 False a is b
is not 两个操做数指向不一样对象返回 True,不然返回 False a is not b

例如:

# 使用 'is' 运算符
a = 7
if (type(a) is int):
    print("true")
else:
    print("false")

# 使用 'is not' 运算符
b = 7.5
if (type(b) is not int):
    print("true")
else:
    print("false")
复制代码

输出结果:

true
true
复制代码

成员运算符(Membership Operators)

成员运算符用来测试某值是不是对象(字符串、列表、元组或字典键)的成员。

在 C 语言中测试成员须要遍历序列并检查每个值,与 C 相比,Python 会使这项工做变得简单不少。

运算符 做用 用法
in 值存在序列中返回 True 7 in [3, 7, 9]
not in 值不存在序列中返回 True 7 not in [3, 5, 9]

例如:

str = 'Python operators'
dict = {6:'June',12:'Dec'}

print('P' in str) 
print('Python' in str)
print('python' not in str)
print(6 in dict) 
print('Dec' in dict)
复制代码

输出结果:

True
True
True
True
False
复制代码
相关文章
相关标签/搜索