本文正在参加「Python主题月」,详情查看 活动链接
前言
相信有认真学习上节课的同学们,都已经掌握了变量数值类型的运用了,虽然内容确实有点简单,但是还是希望同学们掌握了以后还是要多多练习,那么废话就不多说,让我们开始学习今节课的内容吧!
什么是运算符
运算符是一种特殊的符号,用来表示数据的运算、赋值和比较等。Python语言使用运算符将一个或多个操作连接成可执行语句,用来实现特定功能。 Python语言中的运算符可分为如下几种: ~赋值运算符 ~算术运算符 ~位运算符 ~索引运算符 ~比较运算符 ~逻辑运算符
赋值运算符
赋值运算符用于为变量或者常量指定值,Python使用 “=” 作为赋值运算符,通常,使用赋值运算符将表达式的值赋给另一个变量。例:
st = "python"
pi = st
print(pi)
输出结果:
python
另外说明一下,python也支持连续多个变量进行赋值的,例:
a = b = c = 20
print(b)
输出结果:
20
算术运算符
Python支持所有的基本算术运算符,这些算术运算符用于执行基本的数学运算,如加、减、乘、除和求余等。 +:加法运算符,例:
a = 5.2
b = 3.1
ab_sum = a + b
print(ab_sum)
输出结果:
8.3
-:减法运算符,例:
a = 5.2
b = 3.1
sub = a - b
print(sub)
输出结果:
2.1
此外,“-” 除可以作为减法运算符之外,还可以作为求负的运算符,例:
a = -5.0
x = -a
print(x)
输出结果:
5.0
*:乘法运算符,例:
a = 5.2
b = 3.1
ab_sum = a * b
print(ab_sum)
输出结果:
16.12
/:除法运算符,例:
a = 8
b = 4
ab_sum = a / b
print(ab_sum)
输出结果:
2.0
//:整除运算符,例:
a = 5.2
b = 3.1
ab_sum = a // b
print(ab_sum)
输出结果:
1.0
此外,Python不允许使用 0 作为除数,否则将会引发 ZeroDivisonError错误。
%:求余运算符,python不要求求余运算符的两个操作数都是整数,python的求余运算符完全支持对浮点数求余。求余运算的结果不一定总是整数,它是使用第一个操作数来除以第二个操作数,得到一个整除的结果后剩下的值就是余数,例:
a = 5.2
b = 3.1
ab_sum = a % b
print(ab_sum)
输出结果:
2.1
**:乘方运算符,例:
a = 5 ** 2
print(a)
输出结果:
25
位运算符(简单了解就可以了)
位运算符通常在图形、图像处理和创建设备驱动等底层开发中使用。使用位运算符可以直接操作数值的原始bit位,尤其是在使用自定义的协议进行通信时,使用位运算符对原始数据进行编码和解码也非常有效。 &:按位与 |:按位或 ^:按位异或 ~:按位取反 <<:左位移运算符 .>>:右位移运算符
扩展后的赋值运算符
赋值运算符可以与算术运算符、位运算符等结合,扩展成功能更加强大的运算符。扩展后的赋值运算符如下:
索引运算符
前面介绍字符串时已经使用了索引运算符,索引运算符就是方括号,在方括号中既可使用单个索引值,也可以使用索引范围。实际上,在使用索引范围时,还可指定步走。例:
a = 'abcdefghijklkmn'
print(a[2:8:3])
输出结果:
cf
比较运算符与bool类型
python提供了bool类型来表示真(对)或假(错),比如常见的 5 > 3 比较算式,这个是正确的,在程序世界里称之为真(对),python 使用 True 来代表; 再比如 4 > 20 比较算式,这个是错误的,在程序世界里称之为假(错),python使用false来代表。
例:
a = 5
b = 4
print(a > b)
print(a < b)
print(a >= b)
print(b <= 4)
print(a == b)
print(a != b)
print(a is b)
print(a is not b)
输出结果:
True
False
True
True
False
True
False
True
注: == 与is看上去相似,但实质上有区别,==只比较两个变量的值,但is要求两个变量引用同一个对象。
逻辑运算符
逻辑运算符用于操作bool类型的变量、常量或表达式,逻辑运算的返回值也是bool值。 python的逻辑运算符有如下三个: and:与,前后两个操作数必须都是 True 才返回 True;否则返回false or:或,只要两个操作数中有一个是 True,就可以返回 True;否则返回 false not:非,只需要一个操作数,如果操作数为True,则返回False;如果操作数为False,则返回True
例:
print(5 > 3 and 20 > 5)
print(5 > 6 or 20 > 5)
print(not 5 > 6)
输出结果:
True
True
True
三目运算符(重点) 是与其他编程语言不同的
python可通过if语句来实现三目运算符的功能,因此可以近似地把这种if语句当成三目运算符,作为三目运算符的if语句的语法格式如下:
True_statements if expression else False_statements
例:
a = 5
b = 3
st = "a大于b" if a > b else "a不大于b"
print(st)
输出结果:
a大于b
python允许在三目运算符的 True_statements 或 False_statements 中放置多条语句。Python主要支持两种放置方式: 多条语句以英文逗号隔开:每条语句都会执行,程序返回多条语句的返回值组成的元组
多条语句以英文分号隔开:每天语句都会执行,程序只返回第一条语句的返回值
第一种情况,例:
a = 5
b = 4
st = print("python三目运算符"), "a大于b" if a > b else "a不大于b"
print(st)
输出结果:
python三目运算符
(None, 'a大于b')
第二种情况,例:
a = 5
b = 4
st = print("python三目运算符"); "a大于b" if a > b else "a不大于b"
print(st)
输出结果:
python三目运算符
None
in运算符
python提供了 in 运算符,用于判断某个成员是否位于序列中,比如前面介绍的str就是一个序列,因此程序可使用 in 运算符判断字符串是否包含特定子串 除 in 运算符之外,python也提供了 in 的反义词:not in 例:
s = 'crazyit.org'
print('it' in s)
print('it' not in s)
输出结果:
True
False
运算符的结合性和优先级
所有的数学运算都是从左向右进行的,python语言中的大部分运算符也是从左向右结合的,只有单目运算符、赋值运算符和三目运算符例外,它们是从右向左结合的,也就是说,它们是从右向左运算的。
乘法和加法是两个可结合的运算符,也就是说,这两个运算符左右两边的操作数可以互换位置而不会影响结果。
运算符有不同的优先级,所谓优先级就是在表达式运算中的运算顺序,以下就是它们的优先级顺序排序
课后问答
1、为什么没有视频教程的? 答:视频教程已经在筹备录制当中了,麻烦各位同学耐心等待
2、课程每天都会更新吗? 答:课程不是每天都更新的,因为我本人的工作时间也比较忙,所以很难跟你们保证每天都更新教程,大概每个星期更新 2 到 3 次左右吧!
3、现在都是学python基础的,后面还会继续学习python实战的吗? 答:因为本教程是免费面向 0 基础入门的同学,所以先从 基础开始 学习,你们可以先关注下面的公众号,留意公众号的通知,等基础篇更新后,就会在持续的更新实战篇(包括:爬虫、django、flask、大数据、人工智能等)
课外监督
最近一部分同学在后台私聊我说,自己每天都准备要学习了,但是一去到电脑桌上就是提不起劲来,怎么办呢?针对这种情况的同学,我决定每天花一点时间对你们学习进行监督和辅导,如有需要的同学,点击 “联系作者” 进行报名。
结语
课程的内容只有那么多了,希望每个同学都能认真地去学习好每一节课,记住学习编程的道路真的有点苦,但是每天都能坚持下来了,就肯定会有很大的收获,下节课会出一些练习题,内容是关于前面基础学习的巩固的,敬请期待。