- 第01课:初识 Python
- 第02课:第一个 Python 程序
- 第03课:Python 语言元素之变量
- 第04课:Python 语言元素之运算符
- 第05课:分支结构
- 第06课:循环结构
- 第07课:分支和循环结构的应用
- 第08课:常用数据结构之列表
- 第09课:常用数据结构之元组
- 第10课:常用数据结构之字符串
- 第11课:常用数据结构之集合
- 第12课:常用数据结构之字典
- 第13课:函数和模块
- 第14课:函数的应用
- 第15课:函数使用进阶
- 第16课:函数的高级应用
- 第17课:面向对象编程入门
- 第18课:面向对象编程进阶
- 第19课:面向对象编程应用
- 第20课:Python 标准库初探
- 第21课:文件读写和异常处理
- 第22课:对象的序列化和反序列化
- 第23课:用 Python 读写 CSV 文件
- 第24课:用 Python 读写 Excel 文件-1
- 第25课:用 Python 读写 Excel 文件-2
- 第26课:用 Python 操作 Word 文件和 PowerPoint
- 第27课:用 Python 操作 PDF 文件
- 第28课:用 Python 处理图像
- 第29课:用 Python 发送邮件和短信
- 第30课:正则表达式的应用
- 第31课:网络数据采集概述
- 第32课:用 Python 获取网络资源
- 第33课:用 Python 解析 HTML 页面
- 第34课:Python 中的并发编程-1
- 第35课:Python 中的并发编程-2
- 第36课:Python 中的并发编程-3
- 第37课:并发编程在爬虫中的应用
- 第38课:抓取网页动态内容
- 第39课:爬虫框架 Scrapy 简介
- 第40课:关系型数据库和 MySQL 概述
- 第41课:SQL 详解之 DDL
- 第42课:SQL 详解之 DML
- 第43课:SQL 详解之 DQL
- 第44课:SQL 详解之 DCL
- 第45课:索引
- 第46课:视图 + 函数 + 过程
- 第47课:MySQL 新特性
- 第48课:Python 程序接入 MySQL 数据库
第04课:Python 语言元素之运算符
第04课:Python语言元素之运算符
Python语言支持很多种运算符,我们先用一个表格为大家列出这些运算符,然后选择一些马上就会用到的运算符为大家进行讲解。
运算符 | 描述 | |
---|---|---|
[] [:] | 下标,切片 | |
** | 指数 | |
~ + - | 按位取反, 正负号 | |
* / % // | 乘,除,模,整除 | |
+ - | 加,减 | |
>> << | 右移,左移 | |
& | 按位与 | |
^ `\ | ` | 按位异或,按位或 |
<= < > >= | 小于等于,小于,大于,大于等于 | |
== != | 等于,不等于 | |
is is not | 身份运算符 | |
in not in | 成员运算符 | |
not or and | 逻辑运算符 | |
= += -= *= /= %= //= **= &= `\ | =`^= >>= <<= | (复合)赋值运算符 |
说明: 上面这个表格实际上是按照运算符的优先级从上到下列出了各种运算符。所谓优先级就是在一个运算的表达式中,如果出现了多个运算符,应该先执行哪个运算再执行哪个运算的顺序。在实际开发中,如果搞不清楚运算符的优先级,可以使用圆括号来确保运算的执行顺序。
算术运算符
Python中的算术运算符非常丰富,除了大家最为熟悉的加减乘除之外,还有整除运算符、求模(求余数)运算符和求幂运算符。下面的例子为大家展示了算术运算符的使用。
"""
算术运算符
Version: 0.1
Author: 骆昊
"""
print(321 + 123) # 加法运算
print(321 - 123) # 减法运算
print(321 * 123) # 乘法运算
print(321 / 123) # 除法运算
print(321 % 123) # 求模运算
print(321 // 123) # 整除运算
print(321 ** 123) # 求幂运算
赋值运算符
赋值运算符应该是最为常见的运算符,它的作用是将右边的值赋给左边的变量。下面的例子演示了赋值运算符和复合赋值运算符的使用。
"""
赋值运算符和复合赋值运算符
Version: 0.1
Author: 骆昊
"""
a = 10
b = 3
a += b # 相当于:a = a + b
a *= a + 2 # 相当于:a = a * (a + 2)
print(a) # 算一下这里会输出什么
比较运算符和逻辑运算符
比较运算符有的地方也称为关系运算符,包括==
、!=
、<
、>
、<=
、>=
,我相信没有什么好解释的,大家一看就能懂,需要提醒的是比较相等用的是==
,请注意这里是两个等号,因为=
是赋值运算符,我们在上面刚刚讲到过,==
才是比较相等的运算符;比较不相等用的是!=
,这不同于数学上的不等号,Python 2中曾经使用过<>
来表示不等关系,大家知道就可以了。比较运算符会产生布尔值,要么是True
要么是False
。
逻辑运算符有三个,分别是and
、or
和not
。and
字面意思是“而且”,所以and
运算符会连接两个布尔值,如果两个布尔值都是True
,那么运算的结果就是True
;左右两边的布尔值有一个是False
,最终的运算结果就是False
。相信大家已经想到了,如果and
左边的布尔值是False
,不管右边的布尔值是什么,最终的结果都是False
,所以在做运算的时候右边的值会被跳过(短路处理),这也就意味着在and
运算符左边为False
的情况下,右边的表达式根本不会执行。or
字面意思是“或者”,所以or
运算符也会连接两个布尔值,如果两个布尔值有任意一个是True
,那么最终的结果就是True
。当然,or
运算符也是有短路功能的,在它左边的布尔值为True
的情况下,右边的表达式根本不会执行。not
运算符的后面会跟上一个布尔值,它的作用是得到与该布尔值相反的值,也就是说,not
后面的布尔值如果是True
,运算结果就是False
;而not
后面的布尔值如果是False
,运算结果就是True
。
"""
比较运算符和逻辑运算符的使用
Version: 0.1
Author: 骆昊
"""
flag0 = 1 == 1
flag1 = 3 > 2
flag2 = 2 < 1
flag3 = flag1 and flag2
flag4 = flag1 or flag2
flag5 = not (1 != 2)
print('flag0 =', flag0) # flag0 = True
print('flag1 =', flag1) # flag1 = True
print('flag2 =', flag2) # flag2 = False
print('flag3 =', flag3) # flag3 = False
print('flag4 =', flag4) # flag4 = True
print('flag5 =', flag5) # flag5 = False
说明:比较运算符的优先级高于赋值运算符,所以
flag0 = 1 == 1
先做1 == 1
产生布尔值True
,再将这个值赋值给变量flag0
。,
进行分隔,输出的内容之间默认以空格分开。
运算符的例子
例子1:华氏温度转换为摄氏温度。
提示:华氏温度到摄氏温度的转换公式为:
C = (F - 32) / 1.8
。
"""
将华氏温度转换为摄氏温度
Version: 0.1
Author: 骆昊
"""
f = float(input('请输入华氏温度: '))
c = (f - 32) / 1.8
print('%.1f华氏度 = %.1f摄氏度' % (f, c))
说明:在使用
%.1f
是一个占位符,稍后会由一个float
类型的变量值替换掉它。同理,如果字符串中有%d
,后面可以用一个int
类型的变量值替换掉它,而%s
会被字符串的值替换掉。除了这种格式化字符串的方式外,还可以用下面的方式来格式化字符串,其中{f:.1f}
和{c:.1f}
可以先看成是{f}
和{c}
,表示输出时会用变量f
和变量c
的值替换掉这两个占位符,后面的:.1f
表示这是一个浮点数,小数点后保留1位有效数字。print(f'{f:.1f}华氏度 = {c:.1f}摄氏度')
例子2:输入圆的半径计算计算周长和面积。
"""
输入半径计算圆的周长和面积
Version: 0.1
Author: 骆昊
"""
radius = float(input('请输入圆的半径: '))
perimeter = 2 * 3.1416 * radius
area = 3.1416 * radius * radius
print('周长: %.2f' % perimeter)
print('面积: %.2f' % area)
例子3:输入年份判断是不是闰年。
"""
输入年份 如果是闰年输出True 否则输出False
Version: 0.1
Author: 骆昊
"""
year = int(input('请输入年份: '))
is_leap = year % 4 == 0 and year % 100 != 0 or year % 400 == 0
print(is_leap)
说明:比较运算符会产生布尔值,而逻辑运算符
and
和or
会对这些布尔值进行组合,最终也是得到一个布尔值,闰年输出True
,平年输出False
。
总结
通过上面的例子相信大家感受到了,学会使用运算符以及由运算符构成的表达式,就可以帮助我们解决很多实际的问题,运算符和表达式对于任何一门编程语言都是非常重要的。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论