Python语言零基础入门教程(三)

news/2025/1/11 4:25:34/

Python 运算符

什么是运算符?
本章节主要说明Python的运算符。举个简单的例子 4 +5 = 9 。 例子中,4 和 5 被称为操作数,+ 称为运算符。

Python语言支持以下类型的运算符:
1、算术运算符
2、比较(关系)运算符
3、赋值运算符
4、逻辑运算符
5、位运算符
6、成员运算符
7、身份运算符
8、运算符优先级
接下来让我们一个个来学习Python的运算符。

Python算术运算符

以下假设变量: a=10,b=20:
在这里插入图片描述
以下实例演示了Python所有算术运算符的操作:

#!/usr/bin/python
# -*- coding: UTF-8 -*-a = 21
b = 10
c = 0c = a + b
print "1 - c 的值为:", cc = 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 的值为:", ca = 10
b = 5
c = a//b 
print "7 - c 的值为:", c

以上实例输出结果:

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

注意:Python2.x 里,整数除整数,只能得出整数。如果要得到小数部分,把其中一个数改成浮点数即可。

>>> 1/2
0
>>> 1.0/2
0.5
>>> 1/float(2)
0.5

Python比较运算符

以下假设变量a为10,变量b为20:
在这里插入图片描述
以下实例演示了Python所有比较运算符的操作:

#!/usr/bin/python
# -*- coding: UTF-8 -*-a = 21
b = 10
c = 0if  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"if  a > b :print "5 - a 大于 b"
else:print "5 - a 小于等于 b"# 修改变量 a 和 b 的值
a = 5
b = 20
if  a <= b :print "6 - a 小于等于 b"
else:print "6 - a 大于  b"if  b >= a :print "7 - b 大于等于 a"
else:print "7 - b 小于 a"

以上实例输出结果:

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

Python赋值运算符

以下假设变量a为10,变量b为20:
在这里插入图片描述
以下实例演示了Python所有赋值运算符的操作:

#!/usr/bin/python
# -*- coding: UTF-8 -*-a = 21
b = 10
c = 0c = a + b
print "1 - c 的值为:", cc += a
print "2 - c 的值为:", c c *= a
print "3 - c 的值为:", c c /= a 
print "4 - c 的值为:", c c = 2
c %= a
print "5 - c 的值为:", cc **= a
print "6 - c 的值为:", cc //= 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

Python位运算符

按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:

下表中变量 a 为 60,b 为 13,二进制格式如下:

a = 0011 1100b = 0000 1101-----------------a&b = 0000 1100a|b = 0011 1101a^b = 0011 0001~a  = 1100 0011

在这里插入图片描述
以下实例演示了Python所有位运算符的操作:

#!/usr/bin/python
# -*- coding: UTF-8 -*-a = 60            # 60 = 0011 1100 
b = 13            # 13 = 0000 1101 
c = 0c = a & b;        # 12 = 0000 1100
print "1 - c 的值为:", cc = a | b;        # 61 = 0011 1101 
print "2 - c 的值为:", cc = a ^ b;        # 49 = 0011 0001
print "3 - c 的值为:", cc = ~a;           # -61 = 1100 0011
print "4 - c 的值为:", cc = a << 2;       # 240 = 1111 0000
print "5 - c 的值为:", cc = 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

Python逻辑运算符

Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:
在这里插入图片描述
以上实例输出结果:

#!/usr/bin/python
# -*- coding: UTF-8 -*-a = 10
b = 20if  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

Python成员运算符

除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。
在这里插入图片描述
以下实例演示了Python所有成员运算符的操作:

#!/usr/bin/python
# -*- coding: UTF-8 -*-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 中

Python身份运算符

身份运算符用于比较两个对象的存储单元
在这里插入图片描述
注: id() 函数用于获取对象内存地址。

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

#!/usr/bin/python
# -*- coding: UTF-8 -*-a = 20
b = 20if ( 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

Python运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:
在这里插入图片描述
以下实例演示了Python所有运算符优先级的操作:

#!/usr/bin/python
# -*- coding: UTF-8 -*-a = 20
b = 10
c = 15
d = 5
e = 0e = (a + b) * c / d       #( 30 * 15 ) / 5
print "(a + b) * c / d 运算结果为:",  ee = ((a + b) * c) / d     # (30 * 15 ) / 5
print "((a + b) * c) / d 运算结果为:",  ee = (a + b) * (c / d);    # (30) * (15/5)
print "(a + b) * (c / d) 运算结果为:",  ee = 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

http://www.ppmy.cn/news/22739.html

相关文章

九龙证券|基金独门重仓股揭秘,多只超级大牛股浮现

随着基金上一年四季报发表结束&#xff0c;基金独门重仓股也浮出水面。一般而言&#xff0c;基金独门重仓股主要指的是某基金公司或某只基金独家重仓股。 通常来说&#xff0c;基金公司独门重仓相比单只基金产品独门重仓股对个股走势的影响会更大一些&#xff0c;但这往往也是把…

呕心沥血终于在Linux中写下了第一个C代码,快来看看这些基本指令你都会了吗?干货过多,建议收藏!【LinuxXshell 7】

目录 1.如何在Linux中添加账户信息 2.Linux的基本指令 关于文件 1.mkdir指令 2.ls指令 3.touch指令 4.cd指令 5.pwd指令 6.rmdir指令 7.rm指令 8.nona指令 9.cat指令 1.如何在Linux中添加账户信息 在上一章中我们学习过&#xff0c;在Xshell中远程登录我们的Linux…

NetIQ Identity and Access Management—— NetIQ 身份和访问管理解决方案

NetIQ Identity and Access Management&#xff08;以下简称NetIQ IAM&#xff09; NetIQ 身份和访问管理 NetIQ 通过针对员工和客户身份的一套全面身份和访问服务来保护组织。 NetIQ IAM 的优势 优势1&#xff1a;实现高效的员工队伍 使用自适应访问控制措施减少阻碍。 优…

【C++实现AVL树】

文章目录一、AVL树概念二、AVL树节点的定义三、AVL树的插入四、AVL树的旋转五、AVL树的验证六、AVL树的性能七、总结一、AVL树概念 AVL树出现在二叉搜索树之后&#xff0c;弥补了二叉搜索树的一些缺点。 二叉搜索树虽可以缩短查找的效率&#xff0c;但如果数据有序或接近有序二…

Vue基础11之TodoList案例第一篇

Vue基础11TodoList案例组件拆分静态组件代码目录结构App.vueHeader.vueList.vueItem.vueFooter.vue初始化列表List.vueItem.vue添加功能使用nanoid作为每项的id值安装nanoid使用nanoid兄弟组件之间的传值App.vueHeader.vueList.vue勾选App.vueList.vueItem.vue使用v-model也能实…

Java特性之设计模式【观察者模式】

一、观察者模式 概述 当对象间存在一对多关系时&#xff0c;则使用观察者模式&#xff08;Observer Pattern&#xff09; 观察者模式是一种对象行为模式。它定义对象间的一种一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都得到通知…

路由器连接WIFI组网

白驹过隙&#xff0c;逝者如斯。经过断断续续几个月的更新&#xff0c;关于无线路由器和Wi-Fi的介绍终于告一段落。 其实&#xff0c;这个话题下还有很多很多的内容没有涉及到&#xff0c;然生有涯而知无涯&#xff0c;只能在此暂且搁笔&#xff0c;后续缘起再续。 下面&…

第九章(14):STL之常用拷贝和替换算法

文章目录前情回顾常用拷贝算法copy常用替换算法replacereplac_ifswap下一座石碑&#x1f389;welcome&#x1f389; ✒️博主介绍&#xff1a;一名大一的智能制造专业学生&#xff0c;在学习C/C的路上会越走越远&#xff0c;后面不定期更新有关C/C语法&#xff0c;数据结构&…