type_coercion#
用于强制转换类型并进行智能猜测的函数集合。
函数#
|
|
|
将数字、字符串或序列类型转换为纯布尔值。 |
|
接受一个原始值(通常是字符串),并尝试从中创建更相关的类型。可选的 type_hint 将尝试将值强制转换为该类型。 |
|
- numberify(value)#
示例
>>> [numberify(x) for x in ('1234', 1234, '0755', 0o0755, False, 0, '0', True, 1, '1')] [1234, 1234, 755, 493, 0, 0, 0, 1, 1, 1] >>> [numberify(x) for x in ('12.34', 12.34, 1.2+3.5j, '1.2+3.5j')] [12.34, 12.34, (1.2+3.5j), (1.2+3.5j)]
- boolify(value, nullable=False, return_string=False)#
将数字、字符串或序列类型转换为纯布尔值。
- 参数:
value (number, string, sequence) -- 几乎任何类型
- 返回:
给定值的布尔表示形式
- 返回类型:
示例
>>> [boolify(x) for x in ('yes', 'no')] [True, False] >>> [boolify(x) for x in (0.1, 0+0j, True, '0', '0.0', '0.1', '2')] [True, False, True, False, False, True, True] >>> [boolify(x) for x in ("true", "yes", "on", "y")] [True, True, True, True] >>> [boolify(x) for x in ("no", "non", "none", "off", "")] [False, False, False, False, False] >>> [boolify(x) for x in ([], set(), dict(), tuple())] [False, False, False, False] >>> [boolify(x) for x in ([1], set([False]), dict({'a': 1}), tuple([2]))] [True, True, True, True]
- typify(value, type_hint=None)#
接受一个原始值(通常是字符串),并尝试从中创建更相关的类型。可选的 type_hint 将尝试将值强制转换为该类型。
示例
>>> typify('32') 32 >>> typify('32', float) 32.0 >>> typify('32.0') 32.0 >>> typify('32.0.0') '32.0.0' >>> [typify(x) for x in ('true', 'yes', 'on')] [True, True, True] >>> [typify(x) for x in ('no', 'FALSe', 'off')] [False, False, False] >>> [typify(x) for x in ('none', 'None', None)] [None, None, None]
- maybecall(value)#