gpt4 book ai didi

python - 在这种情况下,这个功能到底做了什么?

转载 作者:太空宇宙 更新时间:2023-11-04 10:40:07 24 4
gpt4 key购买 nike

我正在分析代码,因为我有一些空闲时间并且认为可以学到新东西!这是我发现的二进制到二进制转换器代码。但在过去的 2 到 3 天里,我一直在脑海中反复思考这个问题,但我绝对无法理解这个语句/函数/行的作用或含义?

lambda b: str(int(b, 2))

我认为 (b, 2) 中的 'b' 表示二进制?

我研究并发现 lambda 是一个“调用”匿名函数或没有名称的函数的函数。对吗?

“b:”是什么意思?这也是二进制还是 lambda 中的“子名称”?

还有什么作用

str(int(b, 2))

是什么意思?我知道那是将二进制转换为二进制的代码,但它究竟是如何工作的?

我很想知道!希望有人能够帮助我解决这个问题!

最佳答案

blambda 函数的参数:

lambda b: ....

: 之前的第一部分定义了匿名函数的参数,这一部分只定义了 b,就像函数签名一样:

def binary_to_int(b):
# ...

它也可以被赋予另一个名字:

lambda anothername: int(anothername, 2)

它绑定(bind)到您传递给此 lambda 的参数:

binary_to_int = lambda b: int(b, 2)
result = binary_to_int('010101') # so b is bound to '010101'

该函数返回函数 int(b, 2) 的结果,它将字符串第一个参数解释为基数为 2(二进制)的整数:

If x is not a number or if base is given, then x must be a string or Unicode object representing an integer literal in radix base. Optionally, the literal can be preceded by + or - (with no space in between) and surrounded by whitespace. A base-n literal consists of the digits 0 to n-1, with a to z (or A to Z) having values 10 to 35. The default base is 10. The allowed values are 0 and 2-36. Base-2, -8, and -16 literals can be optionally prefixed with 0b/0B, 0o/0O/0, or 0x/0X, as with integer literals in code. Base 0 means to interpret the string exactly as an integer literal, so that the actual base is 2, 8, 10, or 16.

关于python - 在这种情况下,这个功能到底做了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21145909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com