上一篇文章:Python标识符+python注释+语句和缩进+变量与常量+Python输入输出
算术运算符
- 加、减和乘没什么好说的,都是小学数学。除法注意一点,在python中除法得到的结果是一个浮点数,如下图:
计算机只能识别二进制,所有的运算都是转换成二进制数运算后再转换成十进制数显示出来,所以上图中计算10/3的结果会有误差,只不过这个误差非常小。具体的原因可以参考二进制、十进制互相转换(小数)。其实这个问题知道就行了,没有深究的必要。 %
相除取余数,这里主要注意一下负数取余数//
整除,返回商的整数部分,取整是向下取整。
- 无论是在C语言还是Python中,从数学逻辑上看,有很多的浮点数都是不准确的,准确范围只在小数点后15位。
- 在python中解决浮点数精度问题
python有一个内置的模块,专门来解决浮点数精度的问题,这个模块就是decimal模块。打开pycharm,输入import decimal
,然后再输入from decimal import Decimal
,从decimal中导入Decimal类。这样在做一些需要高精度的计算中就不会出错。
Decimal类最高能精确到小数点后25位。最后的结果数据类型为:
- 使用
divmod()
(了解一下即可)
下图为divmod()
的说明文档:
返回两个值,一个是商,一个是余数
比较运算符
- 在python2中,
<>
表示不等于,但是在python3中,用!=
表示不等于,<>
被废除了,所以,如果拿到一个前辈所写的代码,自己想要用的时候,看到<>
,应该改为!=
- 在python中,字符串是可以直接使用关系运算符比较大小的。也可以使用
+
号拼接字符串
- python中不同数据类型之间是不可比较大小的:
(C语言中int型可以和char型比较大小,比较的是ASCII码值的大小) - python中可以连续比较多个数,比较
3>2>1
就是比较3>2
且2>1
赋值运算符
逻辑运算符
如下图:
and连接的逻辑式,会从左往右进行判断,如果都为真,则输出最后一个数,如果有一个不为真,则输出这个不为真的数,即0或False。or连接的逻辑式,输出第一个不为假的值。
位运算符(以二进制,了解)
成员运算符
成员运算符是python独有的运算符:
身份运算符
在python中像[1,2,3]
这样的东西叫列表,我们可以把列表理解为一个盒子,这个盒子里面放了1,2,3三个数。
a和b两个列表相等,但内存地址不一样。a和b可以理解为数学里面的集合,a和b是两个不同的集合,只不过这俩集合中的元素都是一样的。c和d两个变量的数值相等,且内存地址也一样,这是因为python中值相等的两个变量指向同一个内存地址。
条件运算符(三目运算符)
条件运算符是一个三目运算符,因为这个运算符连接三个表达式。python中条件运算符的使用形式如下图:
如果表达式expression为真,则执行True_statements语句,否则执行False_statements语句。
运算符优先级
- 小练习:
id_card = input("用户输入:")
if str.isdigit(id_card): # 判断输入的字符串是否全部都为数字
print(id_card)
else:
print("id_card格式有误!")
或者:
id_card = input("用户输入:")
if id_card.isdigit(): # 判断输入的字符串是否全部都为数字
print(id_card)
else:
print("id_card格式有误!")