Lambda二进制计算器

时间:2017-09-24 18:03:59

标签: lambda binary

有人可以解释一下这些特定代码行的含义吗?

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

convert = lambda d: bin(int(d))[2:]

我真的也想知道2是什么意思,2:以及它是如何工作的,因为我试图用教程理解并且无法理解。

1 个答案:

答案 0 :(得分:0)

从语法上我猜测你正在使用Python。这是一个暗示。在这种情况下,第一个声明

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

也可以写成

def convert(b): str(int(b,2))

请参阅lambda的Python文档。

int的Python文档解释了2的含义。

第二个语句使用bin返回一个字符串。 [2:]返回该字符串的子字符串。

更好地理解这一点的一个好方法是以交互方式运行python解释器并输入一些表达式。只要这样做,你就会学到很多东西。

$ python
Python 2.7.12 (default, Nov 29 2016, 14:57:54) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> bin(15)
'0b1111'
>>> bin(15)[2:]
'1111'
>>> int('1111',2)
15