多段实例代码详解7大类Python运算符,建议收藏!

Posted 大数据v

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多段实例代码详解7大类Python运算符,建议收藏!相关的知识,希望对你有一定的参考价值。

导读:本文主要介绍Python运算符。举个简单的例子:4+5=9,其中,4和5被称为操作数,+称为运算符。Python语言支持以下类型的运算符:算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符、运算符优先级。下面分别介绍这些运算符的相关内容。

作者:刘鹏 高中强 王一凡 等

来源:大数据DT(ID:hzdashuju)

01 算术运算符

假设变量a=10,b=20,Python中算术运算符及其实例如下所示。

+

  • 加:两个对象相加

  • a+b:30

-

  • 减:得到负数或是一个数减去另一个数

  • a–b:-10

*

  • 乘:两个数相乘或是返回一个被重复若干次的字符串

  • a*b:200

/

  • 除:x除以y

  • b/a:2

%

  • 取模:返回除法的余数

  • b%a:0

**

  • 幂:返回x的y次幂

  • a**b:100000000000000000000

//

  • 取整除:返回商的整数部分(向下取整)

  • 9//2:4

  • -9//2:-5

以下实例演示了Python所有算术运算符的操作:

a = 21
b = 10 
c = 0 
c = a + b 
print ("1 - c 的值为:", c)
c = a - b 
print ("2 - c 的值为:", c)
c = a * b 
print ("3 - c 的值为:", c) 
c = a / b 
print ("4 - c 的值为:", c) 
c = a % b 
print ("5 - c 的值为:", c) 
# 修改变量 a 、b 、c
a = 2 
b = 3 
c = a**b 
print ("6 - c 的值为:", c) 
a = 10 
b = 5 
c = a//b 
print ("7 - c 的值为:", c)

输出结果为:

1 - c 的值为:31
2 - c 的值为:11
3 - c 的值为:210
4 - c 的值为:2.1
5 - c 的值为:1
6 - c 的值为:8
7 - c 的值为:2

有一点要注意,在Python 2.x中,整数除整数,只能得出整数。如果要得到小数部分,则需要其中一个数改成浮点数。例如:

1/2 
0

1.0/2
0.5

1/float(2)
0.5

02 比较运算符

假设变量a=10,b=20,Python中比较运算符及其实例如表下所示。

==

  • 等于:比较对象是否相等

  • (a==b):返回false

!=

  • 不等于:比较两个对象是否不相等

  • (a != b):返回true

< >

  • 不等于:比较两个对象是否不相等(Python 3已废弃)

  • (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<=b):返回true

以下实例演示了Python所有比较运算符的操作:

a = 21
b = 10
c = 0
if a == b :
    print ("1 - a 等于 b")
else:
    print ("1 - a 不等于 b")
if a != b :
    print ("2 - a 不等于 b")
else:
    print ("2 - a 等于 b")
if a < b :
    print ("3 - a 小于 b")
else:
    print ("3 - a 大于等于 b")
if a > b :
    print ("4 - a 大于 b")
else:
    print ("4 - a 小于等于 b")
# 修改变量 a 和 b 的值
a = 5
b = 20
if a <= b :
    print ("5 - a 小于等于 b")
else:
    print ("5 - a 大于 b")
if b >= a :
    print ("6 - b 大于等于 a")
else:
    print ("6 - b 小于 a")

输出结果为:

1 - a 不等于 b
2 - a 不等于 b
3 - a 大于等于 b
4 - a 大于 b
5 - a 小于等于 b
6 - b 大于等于 a

03 赋值运算符

假设变量a=10,b=20,Python中赋值运算符及其实例如下所示。

=

  • 简单的赋值运算符

  • c=a+b:将a+b的运算结果赋值为c

+=

  • 加法赋值运算符

  • 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

以下实例演示了Python所有赋值运算符的操作:

a = 21 
b = 10 
c = 0 
c = a + b 
print ("1 - c 的值为:", c )
c += a 
print ("2 - c 的值为:", c) 
c *= a 
print ("3 - c 的值为:", c) 
c /= a 
print ("4 - c 的值为:", c)
c = 2 
c %= a 
print ("5 - c 的值为:", c)
c **= a 
print ("6 - c 的值为:", c) 
c //= a 
print ("7 - c 的值为:", c)

输出结果为:

1 - c 的值为:31
2 - c 的值为:52
3 - c 的值为:1092
4 - c 的值为:52
5 - c 的值为:2
6 - c 的值为:2097152
7 - c 的值为:99864

04 按位运算符

按位运算符是把数字看作二进制来进行计算。假设变量a=60,b=13,Python中按位运算符及其实例如下所示。

&

  • 按位与运算符:参与运算的两个值,如果两个对应位都为1,则该位的结果为1,否则为0

  • (a&b)输出结果:12

  • 二进制解释:0000 1100

|

  • 按位或运算符:只要对应的两个二进位有一个为1时,结果位就为1

  • (a|b)输出结果:61

  • 二进制解释:0011 1101

^

  • 按位异或运算符:当两个对应的二进位相异时,结果为1

  • (a^b)输出结果:49

  • 二进制解释:0011 0001

~

  • 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x类似于-x-1

  • (~a)输出结果:-61

  • 二进制解释:1100 0011

  • 在一个有符号二进制数的补码形式

<<

  • 左移动运算符:运算数的各二进位全部左移若干位,由<<右边的数字指定移动的位数,高位丢弃,低位补0

  • a<<2输出结果:240

  • 二进制解释:1111 0000

>>

  • 右移动运算符:把>>左边的运算数的各二进位全部右移若干位,由>>右边的数字指定移动的位数

  • a>>2输出结果:15

  • 二进制解释:0000 1111

以下实例演示了Python所有位运算符的操作:

a = 60# 60 = 0011 1100 
b = 13# 13 = 0000 1101 
c = 0 
c = a & b;# 12 = 0000 1100 
print ("1 - c 的值为:", c)
c = a | b;# 61 = 0011 1101 
print ("2 - c 的值为:", c) 
c = a ^ b;# 49 = 0011 0001 
print ("3 - c 的值为:", c) 
c = ~a;# -61 = 1100 0011 
print ("4 - c 的值为:", c) 
c = a << 2;# 240 = 1111 0000 
print ("5 - c 的值为:", c) 
c = a >> 2;# 15 = 0000 1111 
print ("6 - c 的值为:", c)

输出结果为:

1 - c 的值为:12
2 - c 的值为:61
3 - c 的值为:49
4 - c 的值为:-61
5 - c 的值为:240
6 - c 的值为:15

05 逻辑运算符

假设变量a=10,b=20,Python中逻辑运算符及其实例如下所示。

and

  • x and y

  • 布尔与:如果x为false,x and y返回false,否则它返回y的计算值

  • (a and b)返回20

or

  • x or y

  • 布尔或:如果x是非0,返回x的计算值,否则返回y的计算值

  • (a or b)返回10

not

  • not x

  • 布尔非:如果x为true,返回false。如果x为false,返回true

  • not(a and b)返回False

以下实例演示了Python所有逻辑运算符的操作:

a = 10 
b = 20 
if a and b : 
    print ("1 - 变量 a 和 b 都为 true") 
else: 
    print ("1 - 变量 a 和 b 有一个不为 true") 
if a or b : 
    print ("2 - 变量 a 和 b 都为 true,或其中一个变量为 true") 
else: 
    print ("2 - 变量 a 和 b 都不为 true") 

# 修改变量 a 的值 
a = 0 
if a and b : 
    print ("3 - 变量 a 和 b 都为 true") 
else: 
    print ("3 - 变量 a 和 b 有一个不为 true") 
if a or b : 
    print ("4 - 变量 a 和 b 都为 true,或其中一个变量为 true") 
else: 
    print ("4 - 变量 a 和 b 都不为 true") 
if not( a and b ): 
    print ("5 - 变量 a 和 b 都为 false,或其中一个变量为 false") 
else: 
    print ("5 - 变量 a 和 b 都为 true")

输出结果为:

1 - 变量 a 和 b 都为 true
2 - 变量 a 和 b 都为 true,或其中一个变量为 true
3 - 变量 a 和 b 有一个不为 true
4 - 变量 a 和 b 都为 true,或其中一个变量为 true
5 - 变量 a 和 b 都为 false,或其中一个变量为 false

06 成员运算符

除了以上运算符外,Python还支持成员运算符。以下测试实例中包含一系列成员,例如字符串、列表或元组,如下所示。

in

  • 如果在指定的序列中找到值,返回true,否则返回false

  • x在y序列中:如果x在y序列中,则返回True

not in

  • 如果在指定的序列中没有找到值,返回true,否则返回false

  • x不在y序列中:如果x不在y序列中,则返回True

以下实例演示了Python所有成员运算符的操作:

a = 10 
b = 20 
list = [1, 2, 3, 4, 5 ]; 
if ( a in list): 
    print ("1 - 变量 a 在给定的列表list中") 
else: 
    print ("1 - 变量 a 不在给定的列表list中")
if ( b not in list ): 
    print ("2 - 变量 b 不在给定的列表list中")
else: 
    print ("2 - 变量 b 在给定的列表list中")
# 修改变量 a 的值 
a = 2 
if ( a in list ): 
    print ("3 - 变量 a 在给定的列表list中")
else: 
    print ("3 - 变量 a 不在给定的列表list 中")

输出结果为:

1 - 变量 a 不在给定的列表list 中
2 - 变量 b 不在给定的列表list 中
3 - 变量 a 在给定的列表list 中

07 身份运算符

身份运算符用于比较两个对象的存储单元,如下所示。

is

  • is用于判断两个标识符是否引自一个对象

  • X is y,类似id(x)==id(y),如果引用的是同一个对象,则返回true,否则返回false

is not

  • is not用于判断两个标识符是否引自不同对象

  • x is not y,类似id(a)!=id(b)。如果引用的不是同一个对象,则返回结果true,否则返回false

以下实例演示了Python所有身份运算符的操作:

a = 20 
b = 20 
if ( a is b ): 
    print ("1 - a 和 b 有相同的标识") 
else: 
    print ("1 - a 和 b 没有相同的标识") 
if ( a is not b ): 
    print ("2 - a 和 b 没有相同的标识") 
else: 
    print ("2 - a 和 b 有相同的标识") 

# 修改变量 b 的值 
b = 30 
if ( a is b ): 
    print ("3 - a 和 b 有相同的标识") 
else: 
    print ("3 - a 和 b 没有相同的标识") 
if ( a is not b ): 
    print ("4 - a 和 b 没有相同的标识") 
else: 
    print ("4 - a 和 b 有相同的标识")

输出结果为:

1 - a 和 b 有相同的标识
2 - a 和 b 有相同的标识
3 - a 和 b 没有相同的标识
4 - a 和 b 没有相同的标识

is与==的区别在于:is用于判断两个变量引用的对象是否为同一个(同一块内存空间),==用于判断引用变量的值是否相等。例如:

a = [1, 2, 3]
b = a

b is a
True

b == a
True

b = a[ : ]
b is a
False

b == a
True

08 运算符优先级

按优先级从高到低的顺序对所有运算符排序,结果如表下所示。

**

  • 指数(最高优先级)

~ + -

  • 按位翻转,一元加号和减号(最后两个的方法名为+@和-@)

* / % //

  • 乘、除、取模和取整除

+ -

  • 加法减法

>> <<

  • 右移、左移运算符

&

  • 位AND

^ |

  • 位运算符

<=?< >?>=

  • 比较运算符

<>?==?!=

  • 等于运算符

= %= /= //= -= += *= **=

  • 赋值运算符

is is not

  • 身份运算符

in not in

  • 成员运算符

not and or

  • 逻辑运算符

以下实例演示了Python中不同运算符按照不同优先级的操作:

a = 20 
b = 10 
c = 15 
d = 5 
e = 0 
e = (a + b) * c / d# ( 30 * 15 ) / 5 
print ("(a + b) * c / d 运算结果为:", e )
e = ((a + b) * c) / d# (30 * 15 ) / 5 
print ("((a + b) * c) / d 运算结果为:", e) 
e = (a + b) * (c / d);# (30) * (15/5) 
print ("(a + b) * (c / d) 运算结果为:", e) 
e = a + (b * c) / d;# 20 + (150/5) 
print ("a + (b * c) / d 运算结果为:", e)

输出结果为:

(a + b) * c / d 运算结果为:90
((a + b) * c) / d 运算结果为:90
(a + b) * (c / d) 运算结果为:90
a + (b * c) / d 运算结果为:50

关于作者:刘鹏,教授,清华大学博士,云计算、大数据和人工智能领域的知名专家,南京云创大数据科技股份有限公司总裁、中国大数据应用联盟人工智能专家委员会主任。中国电子学会云计算专家委员会云存储组组长、工业和信息化部云计算研究中心专家。

高中强,人工智能与大数据领域技术专家,有非常深厚的积累,擅长机器学习和自然语言处理,尤其是深度学习,熟悉Tensorflow、PyTorch等深度学习开发框架。曾获“2019年全国大学生数学建模优秀命题人奖”。参与钟南山院士指导新型冠状病毒人工智能预测系统研发项目,与钟南山院士团队共同发表学术论文。

本文摘编自《Python金融数据挖掘与分析实战》,经出版方授权发布。(ISBN:9787111696506)

《Python金融数据挖掘与分析实战》

点击上图了解及购买

转载请联系微信:DoctorData

推荐语:云创大数据(上市公司)总裁撰写,零基础学会金融数据挖掘,配有案例、视频、代码、数据、习题及答案。

划重点👇

干货直达👇

更多精彩👇

在公众号对话框输入以下关键词

查看更多优质内容!

读书 | 书单 | 干货 讲明白 | 神操作 | 手把手

大数据 | 云计算 | 数据库 | Python | 爬虫 | 可视化

AI | 人工智能 | 机器学习 | 深度学习 | NLP

5G | 中台 | 用户画像 数学 | 算法 数字孪生

据统计,99%的大咖都关注了这个公众号

👇

以上是关于多段实例代码详解7大类Python运算符,建议收藏!的主要内容,如果未能解决你的问题,请参考以下文章

全网独一份python+requests接口自动化测试框架实例详解教程建议收藏

❤️[数据结构]动图+万字详解栈和队列(动图+实例)建议收藏❤️

❤️[数据结构]动图详解链表(单链表/双链表……)(动图+实例)建议收藏!❤️

Python 正则表达式详解(建议收藏!)

OpenCV-Python实战——图像与视频文件的处理(两万字详解,️建议收藏️)

❤️❤️新生代农民工爆肝8万字,整理Python编程从入门到实践(建议收藏)已码:8万字❤️❤️