文章目录
P21——20. 比较运算符
P22——21. 逻辑运算符
P23——22. 位运算和运算符的优先级
P24——23. 本章总结和章节习题
P21——20. 比较运算符
示例3-17—比较运算符的使用:
P22——21. 逻辑运算符
示例3-18—逻辑运算符的使用:
print(True and True) # True
print(True and False) # False
print(False and False) # False
print(False and True) # False
print('-'*40)print(8>7 and 6>5) # True
print(8>7 and 6<5) # False
print(8<7 and 10/0) # False, 10/0并没有运算,当第一个表达式的结果为False,直接得结果,不会计算and右侧的表达式了print('-'*40)
print(True or True)
print(True or False)
print(False or False) # False
print(False or True)print('-'*40)
print(8>7 or 10/0) # True,左侧的表达式结果为True时,or的右侧表达式根本不执行运算
print('-'*40)
print(not True) # False
print(not False) # True
print(not (8>7)) # False
P23——22. 位运算和运算符的优先级
位运算符把数字看作二进制数来计算的。
“左移位”运算(<<)是将一个二进制数向左移动指定的位数,左边(高位端)溢出的位被丢弃,右边(低位端)的空位用0补充。
“右移位”运算(>>)是将一个二进制数向右移动指定的位数,右边(低位端)溢出的位被丢弃,左边(高位端)的空位端,如果最高位是0(正数)左侧空位填0,如果最高位是1(负数),左侧空位填1。
示例3-19—位运算:
print('按位与运算', 12&8) # 8
print('按位或运算', 4|8) # 12
print('按位异或运算符', 31^22) # 9
print('按位取反:', ~123) # -124# 左乘右除
print('左移位:', 2<<2) # 8, 表示2向左移动两位 2*2*2
print('左移位:', 2<<3) # 16, 相当于2* 2*2*2
print('右移位:', 8>>2) # 2, 8向右移动两位相当于 8//2,4//2
print('右移位:', -8>>2) # -2
运算符的优先级:
P24——23. 本章总结和章节习题
本章总结
- 保留字是Python已经被赋予特定意义的一些单词,保留字严格区分大小写
- 标识符可用来给变量、函数、类、模块和其他对象命名
- 标识符的命名规则:
可以是字母(包含中文)、数字、下划线,第一个字符不能是数字
不能是Python中的保留字
标识符严格区分大小写
以下划线开头的标识符有特殊意义,不能随便使用
允许使用中文作为标识符,但不建议使用
- 变量的语法结构:
变量名=value
- 整数类型的四种表示形式:二进制、八进制、十进制和十六进制
- 浮点数可以使用内置函数round() 限定运算结果需要保留的小数位数
- 字符串又称为不可变字符序列,可根据索引检索元素,也可根据索引进行切片操作
- 布尔类型有两种取值True 和 False
- 常用的数据类型转换函数为 int()、float()、str()
- 内置函数eval() 可接字符串转换成真实的数据类型
- 算术运算符:+、-、*、/、//、%、**
- 赋值运算符:=、+=、-=、*=、/=、//=、%=、**=
- 比较运算符:>、>=、<、<=、==、!=
- 逻辑运算符:and、or、not
- 位运算符:&、|、^、~、<<、>>
章节习题
参考答案:1-5:C(大写的True才是) BADB 6-10: AADB
实战一:
num = eval(input("请输入一个四位整数:"))
print('个位上的数字为:', num % 10)
print('十位上的数字为:', num // 10 % 10)
print('百位上的数字为:', num // 100 % 10)
print('千位上的数字为:', num // 1000)print('-'*40)
num = input('请输入一个四位整数:') # num是一个字符串类型
print('个位上的数:', num[3])
print('十位上的数:', num[2])
print('百位上的数:', num[1])
print('千位上的数:', num[0])
实战二:
father_height = eval(input('请输入爸爸的身高:'))
mother_height = eval(input('请输入妈妈的身高:'))
son_height = (father_height + mother_height) * 0.54
print('预测儿子的身高为:', son_height)