show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 整型数字 0
- 浮点数 0.0
- 空串 ""
- 空列表 []
- 空元组 ()
- 空字典 {}
- 空集合 set()
- 还有NoneType类型的 None
- 以上对象
- 布尔值都是False
- 除此以外的变量
- 布尔值都是True
- 当然
- 还是用标准布尔型变量
- 进行判断最明确
- 还是用标准布尔型变量
- 一般什么运算的结果是布尔类型呢??🤔
- 搜索 symbols 符号
- 可以看到>号等等
- 继续搜素
- 大于小于是有优先级
- 他们都属于 comparisons 比较运算符类
- 比较运算符
- 成员测试(in)
- 标识测试(is)
- 分别什么意思?
-
这就是比较运算符的定义
- 大于
- 小于
- 大于等于
- 小于等于
- 相等
- 不相等
- is [not]
- [not] in
-
比较的结果是 True 和 False
-
注意都是首字母大写!!!
- 总共八种
- 海象运算符 属于比较运算符 吗?
- 海象运算符本质上是赋值运算符
- 海象运算符可以和比较运算符连用吗?
- 先赋值
- 再比较
- 官方文档是什么说法呢?
- 为什么不等于用!=
- 而不使用<>呢?
- 毕竟<>两个键挨着比!=容易输出的多!
- 这还发生过一个故事
- 引入一个包之后
- 就会发现<> 替代了 !=
- 这是怎么回事呢?
- Guido引领Python多年
- 为了实现爬珠峰的梦
- BDFL头衔被社区投票
- 交给了Barry Warsaw
- 网名FLUFL
- Friendly Language Uncle For Life
- FLUFL 对于!= 深恶痛绝
- 以至于 不允许继续使用!=
- 这就导致使用了!=的代码都不能用了
- 这改革改得都不兼容了
- 也就导致了<>并没有成为运算符
- 其实关于比较还有很多好玩的事情
- 比如说类型
- 字符型和数字型没法比较
- 因为他们相关的比较运算符没有定义
- 那 int 和 float 可以比较吗?
- 数字类型是可以比较的
- 包括
- 整数
- 浮点数
- 复数
- 分数
- 精确十进制数
- 后三种还没有见过
- 他们之间可以比较
- nan
- not-a-number
- 精准十进制的 nan 和浮点型的 nan 很特殊
- 他们的任何比较都是 False!
- 这和 ieee754 对于这个行为的定义是一致的
- 确实如手册所写
- 所有和 nan 的比较运算结果都为 False
- 但唯独除了一种情况
- 哪种呢?
- NaN(not a number)
- 在数学表示上表示一个无法表示的数
- 无法描述的数不等于任何数
- 无法描述的数也不等于无法描述的数
- 和这个 nan 类似的 inf 是什么意思来着?
- 指数部分全 1 的话
- 尾数部分不是全零就是 NaN
- 尾数部分全零就是 inf
- inf
- infinite
- 具体怎么理解呢?
- 这次研究了
- 大于
- 小于
- 等于
- 不等于
- 数字各个类型之间可以比较
- 通过比较 可以把相对连续的量
- 转化为 布尔类型
- 也就是数字化
- inf
- infinite
- 具体怎么理解呢?
- 下次再说 👋