跳转到主要内容

额外的布尔值:KindaTrue、KindaFalse、VeryTrue和VeryFalse。(这是一个玩笑项目。)

项目描述

PyFuzzyBool

额外的布尔值:KindaTrue、KindaFalse、VeryTrue和VeryFalse。(这是一个玩笑项目。)

安装

使用pip安装,请运行

pip install pyfuzzybool

快速入门指南

在Python语言中,bool数据类型是整数的子类。值TrueFalse实际上与整数值10相同:您可以使用它们像使用整数一样:True + True + False + True计算结果为3,而'Hello[True]'计算结果为'e'

Python还有一个“真值”和“假值”的概念:00.0、空字符串、空列表/字典/元组等都是“假值”;当传递给bool()时,它们将评估为布尔值False。所有其他值都是“真值”,当传递给bool()时,将评估为True

类似地,fuzzybool(1)fuzzybool(0)将评估为TrueFalse,但传递一个大于1.0的浮点数或整数将评估为VeryTrue,而传递一个小于0.0的值将评估为VeryFalse。传递一个介于0.01.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 (4.0 kB 查看哈希值)

上传时间: 源代码

由以下支持