额外的布尔值:KindaTrue、KindaFalse、VeryTrue和VeryFalse。(这是一个玩笑项目。)
项目描述
PyFuzzyBool
额外的布尔值:KindaTrue、KindaFalse、VeryTrue和VeryFalse。(这是一个玩笑项目。)
安装
使用pip安装,请运行
pip install pyfuzzybool
快速入门指南
在Python语言中,bool数据类型是整数的子类。值True和False实际上与整数值1和0相同:您可以使用它们像使用整数一样:True + True + False + True计算结果为3,而'Hello[True]'计算结果为'e'。
Python还有一个“真值”和“假值”的概念:0、0.0、空字符串、空列表/字典/元组等都是“假值”;当传递给bool()时,它们将评估为布尔值False。所有其他值都是“真值”,当传递给bool()时,将评估为True。
类似地,fuzzybool(1)和fuzzybool(0)将评估为True和False,但传递一个大于1.0的浮点数或整数将评估为VeryTrue,而传递一个小于0.0的值将评估为VeryFalse。传递一个介于0.0和1.0之间的值将有一半的时间评估为KindaTrue,另一半时间评估为KindaFalse。
以下是一些交互式shell中的示例
>>> from pyfuzzybool import *
>>> KindaTrue == KindaFalse
True
>>> KindaTrue == True
False
>>> VeryTrue == True
True
>>> VeryFalse == False
True
>>> KindaFalse == False
False
>>> fuzzybool(1)
fuzzybool(True)
>>> fuzzybool(0.9)
KindaTrue
>>> fuzzybool(0)
fuzzybool(False)
>>> fuzzybool(-1)
VeryFalse
>>> fuzzybool(1.1)
VeryTrue
>>> fuzzybool()
KindaFalse
>>> KindaFalse < True
True
>>> KindaFalse > False
True
>>> KindaFalse <= KindaTrue
True
我认为其中许多都可以更改。是否应该将KindaTrue == True评估为True?或者应该评估为KindaTrue?或者评估一半的时间为KindaTrue和另一半为KindaFalse?
这个项目是个玩笑,但它引发了许多值得思考的问题(如果你没有更好的事情可做)。毕竟,数学只是一堆关于如何操作抽象符号的虚构、任意的规则。数学碰巧在科学中表现出不合理的有效性。
贡献
如果你想为PyFuzzyBool做出贡献,请查看https://github.com/asweigart/pyfuzzybool
项目详情
PyFuzzyBool-0.1.2.tar.gz的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | fbe83f54b49e1a7f3d0e18f662e969b8dc3b7fceb779e7832c1797689035ecfa |
|
| MD5 | e6ca8ace1d5bc5abc813242cb7ff657c |
|
| BLAKE2b-256 | f2f1393df2d6012042ee15970ddd9aadabc19713cd302e695b3dbf7c25e00e9d |