跳转到主要内容

您期望在Python内置模块中找到的内容

项目描述

unbuiltins

PyPI version

经过彻底测试且与MyPy兼容的常量和函数,您可以在Python内置模块中找到。

安装

需要python 3.8或更高版本

pip install unbuiltins

使用方法

from unbuiltins import *

缺失

例如,与常量None一样,Missing可用于可选函数参数。

def say(value: Missable[str] = Missing):
    if value is Missing:
        print('*silence*')
    else:
        print(value)

frozendict

内置模块包括frozenset,但frozendict却无处可寻(参见PEP 416)。

frozendict基本上是一个不可变且可哈希的dict

assert frozendict(spam='spam') == dict(spam='spam')
assert {frozendict(): 'empty'}[frozendict()] == 'empty'

它接受通用类型参数,并支持合并(|)操作符,就像dict自Python 3.9一样。

def add_eggs(value: frozendict[str, str]) -> frozendict[str, Union[str, int]]: 
    return value | dict(eggs=6)

assert 'eggs' in add_eggs(frozendict(spam='spam')) 

first

next的行为相同,但适用于所有可迭代对象。

assert first([42, 666, 69]) == 42
assert first([], default='empty') == 'empty'
assert first(iter(dict(eggs=6))) == 'eggs'

filternone

返回那些不是Noneiterable项。

assert list(filternone(['', None, 0, False])) == ['', 0, False]

either

返回第一个不是NoneMissing的参数。

assert either(None, None, False) is False

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

unbuiltins-0.2.2.tar.gz (17.2 kB 查看哈希值)

上传于 源代码

构建分发版

unbuiltins-0.2.2-py3-none-any.whl (17.2 kB 查看哈希值)

上传于 Python 3

支持