- images
- results
- .gitignore
- 1.1概论.ipynb
- 1.2 环境配置.pdf
- 1.3数据类型.ipynb
- 1.4 人机交互.ipynb
- 1.5 对象与变量.ipynb
- 1.6 编码与命名规范.ipynb
- 2.1 数值类型.ipynb
- 2.2 数值类型转换.ipynb
- 2.3 数值元算.ipynb
- 2.4常用数学运算函数.ipynb
- 2.5 math 模块及其应用.ipynb
- 2.6.1 逻辑值测试.ipynb
- 2.6.2 成员运算.ipynb
- 2.6.3 比较运算.ipynb
- 2.6.4 布尔运算.ipynb
- 2.6.5 运算优先级.ipynb
- 2.ipynb
- 3.1 流程控制结构.ipynb
- 3.3.1 for 循环语句.ipynb
- 3.3.3 rang.ipynb
- 3.3.3 while 循环语句.ipynb
- 3.4 and 3.5 分支结构和条件.ipynb
- 3.6 and 3.7 .ipynb
- 3.9 异常处理.ipynb
- 4 函数和模块化编程.ipynb
- 4.1 函数的定义、调用与返回值.ipynb
- 4.2 函数的参数传递.ipynb
- 4.3 变量的作用域.ipynb
- 4.4 匿名函数.ipynb
- 4.5 递归.ipynb
- 4.6 内置函数.ipynb
- 4.7 模块化程序设计.ipynb
- 5.1 序列通用操作.ipynb
- 5.1.1 索引.ipynb
- 5.1.2 切片.ipynb
- 5.1.3 序列拼接与重复.ipynb
- 5.1.4 成员测试.ipynb
- 5.2.1 字符串的创建.ipynb
- 5.2.2 字符串常量.ipynb
- 5.2.4 字符串的遍历.ipynb
- 5.2.5 文件遍历.ipynb
- 5.2.6 字符串的处理方法.ipynb
- 5.2.7 字符串格式化.ipynb
- 5.2.8 转义字符.ipynb
- 5.3 random 模块及其应用.ipynb
- 6.1 元组.ipynb
- 6.2 列表.ipynb
- 6.2.1 列表的创建.ipynb
- 6.2.2 列表的更新.ipynb
- 6.2.3 列表的删除.ipynb
- 6.2.4 列表的排序.ipynb
- 6.2.5 列表赋值与复制.ipynb
- 6.2.6 列表推导式.ipynb
- 6.2.8 常用内置函数.ipynb
- 6.2.9 列表嵌套及其排序.ipynb
- 6.3 列表综合应用.ipynb
- 7.1.1 集合的创建.ipynb
- 7.1.2可变集合类型的操作.ipynb
- 7.1.3 成员关系.ipynb
- 7.1.4 集合关系.ipynb
- 7.1.5 集合运算.ipynb
- 7.2.1 字典创建.ipynb
- 7.2.2 获取字典值.ipynb
- 7.2.3 修改字典值.ipynb
- 7.2.4内置函数与方法.ipynb
- 7.2.5字典排序输出.ipynb
- 7.3 集合与字典的应用.ipynb
- 8 中 numpy 概述.ipynb
- 8 中panda 库.ipynb
- 8.1 文件的打开与关闭.ipynb
- 8.2 文件读写操作.ipynb
- 8.3 文件的应用.ipynb
- 8.4 numpy 文件操作.ipynb
- 8.4.2 and 3.ipynb
- 8.5.1 pandas文件读写.ipynb
- 8.5.2 and 3 and 4.ipynb
- 9.1 matplotlib 线性图.ipynb
- 9.1.5 数据文化绘图.ipynb
- 9.2 非线性图.ipynb
- 9.3 词云.ipynb
- _overview.md
- _readme.ipynb
- coding_here.ipynb
- dream.png
- score.txt
- score_total.csv
- 成绩分析综合.json
2.6.1 逻辑值测试.ipynb @master — view markup · raw · history · blame
逻辑值测试¶
Python中代表真值的布尔对象称为布尔(bool)类型,布尔类型只有两个常量实例:True和False。内置函数 bool() 可将任意值转换为布尔值。bool 是 int 的子类, 在许多数字场景下,True 和 Fasle 分别对应于整数“1”和“0”, 但是,一般建议使用 int() 显式地执行转换再进行运算。
print(bool(100)) # bool() 可将任意值转换为布尔值,True
print(True == 1) # True 对应于整数“1”,比较运算结果为True
print(False == 0) # Fasle 对应于整数“0”,比较运算结果为True
print(5 + True) # 5 + 1,输出值为6
print(True * 5 + False * 2) # 1 * 5 + 0 * 2,输出值为5
print(int(True) * 5 + int(False) * 2) # 规范用法,等价于1 * 5 + 0 * 2,输出值为5
python中__任何对象都能直接进行逻辑(真假)值的测试__,而不需要额外的类型转换,用于__if__或者__while__语句的条件判断,也可以做为__布尔(逻辑)运算符__的操作数。</font>
对象的逻辑(真假)值测试的结果为__布尔类型__(bool),所以对象是不管什么类型,其逻辑值检测的结果必然是__True__和__False__中的一个。</font>
在python中逻辑值的测试结果可以通过调用__内置函数bool()__来确认。</font>
print(bool(3.14)) # True
print(bool(100)) # True
print(bool(3+4j)) # True
print(bool('123')) # True
print(bool(0)) # False
利用if或while条件表达式或通过逻辑运算,任何对象都能被用于逻辑值检测。逻辑值检测的结果只有True和False。一个对象会被视为具有真值,除非其所属的类定义了在对象上调用时返回 False 的 bool() 方法或者返回零的 len() 方法。 以下基本完整地列出了具有假值的内置对象: Python中,除以下几种情形以外,__其他对象__的真值测试结果均为__True__:
- 常量 __None__ 或者 __False__
其中,None是一个特殊的常量,起到空的占位作用,它有自己的数据类型NoneType。None不是False、不是0、不是空字符串。None是一个特殊的常量,起到空的占位作用,他有自己的数据类型NoneType。
- 任何数值类型的__0__
Python中一切值为0的数值类型的真值测试结果均为False。包括: 0、0.0、0j、Decimal(0)、 Fraction(0, 1))。等。
- __空对象__
Python中一切都是对象,一切空对象如:''、 ()、[]、 range(0)、{}、set()的真值测试结果均为False。
空对象包括:
空字符串
空序列
空字典
空集合
空对象等。
from decimal import Decimal # decimal模块中的小数函数Decimal
from fractions import Fraction # fractions模块中的分数函数Fraction
print(bool(0)) # 整数0,False
print(bool(0.0)) # 浮点数0.0与数字0等值,False
print(bool(0j)) # 复数0j,False
print(bool(Fraction(0, 1))) # Fraction(0,1)表示分子为0分数,0/1,False
print(bool(Decimal(0))) # Decimal(0) 表示0,False
print(bool('hello')) # 非空字符串,True
print(bool(100)) # 非0数字,True
print(bool(' ')) # 空格是非空字符串,True
print(bool('')) # 空字符串,False
print(bool(())) # 空元组,False
print(bool([])) # 空列表,False
print(bool({})) # 空字典,False
print(bool(set())) # 空集合,False
print(bool(range(0))) # 空 range,False
print(bool(None)) # None类型,False
print(bool(False)) # False
练一练
完成下面的程序,判断输入的正整数是否为奇数。¶
用户输入一个正整数,若该数为奇数,则输出True;若该数为偶数,则输出False。
提示:
奇数对2取模结果为1,真值测试为True;
偶数对2取模结果为0,真值测试为False。
所以只需要将整数对2取模(n % 2)做为bool()的参数进行输出即可
n = int(input())
# 补充代码,实现n为奇数时,输出True;否则输出False
内置函数all()用于判断给定的可迭代参数iterable中的所有元素是否都为 True。如果所有元素是否都为 True,函数返回 True,否则返回 False。
print(all([1, 2, 3])) # 输出: True
print(all([0, 1, 2])) # 输出: False,因为0是False
内置函数any() 用于判断给定的可迭代参数 iterable 中的任一元素是否为真。如果有一个元素为 True,则返回 True,否则返回 False。
print(any([0, 0, 1])) # 输出: True
print(any([0, 0, None])) # 输出: False