Chr*_*ski 6 python types tuples python-3.x
根据Python Typing的文档,这些是处理元组的文档......
Tuple[()]- 空元组Tuple[int, int]- 两个 int 对象的元组Tuple[int, ...]- 任意数量的 int 对象的元组Tuple我想创建一个至少有 8 秒的类型int。
我的目标介于最后两种类型之间(Tuple[int, int]、 和Tuple[int, ...])。
如果元组有...
如果 PyCharm 不会发出警告,这是否可能?这是我在下面尝试的。然而,PyCharm 会“错误地”给我关于该assert声明的警告
# Type Alias
Byte = Tuple[int, int, int, int, int, int, int, int] # 8 bits
Nibble = Tuple[int, int, int, int] # 4 bits
# BytePlus Type is not correct. The following code does not work
BytePlus = Tuple[int, int, int, int, int, int, int, int, ...] # 8+ bits
def adder(byte1: Union[Byte, BytePlus], byte2: Byte) -> Byte:
pass
# Incorrect warnings for parameters.
# What I see...
# - parameter 1 (Byte | BytePlus) has no warning, but it should. nibble = 4 bits
# - parameter 2 (Byte) has a warning, good, but it will have a warning for 9 bits
assert adder(nibble(4), nibble(10)) == byte(14)
Run Code Online (Sandbox Code Playgroud)
这是代码nibble(),byte()如果您想要...
def byte(number) -> Byte:
return (
(number & 128) // 128,
(number & 64) // 64,
(number & 32) // 32,
(number & 16) // 16,
(number & 8) // 8,
(number & 4) // 4,
(number & 2) // 2,
(number & 1) // 1
)
def nibble(number) -> Nibble:
return (
(number & 8) // 8,
(number & 4) // 4,
(number & 2) // 2,
(number & 1) // 1
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
346 次 |
| 最近记录: |