有人可以解释一下这些特定代码行的含义吗?
convert = lambda b: str(int(b, 2))
convert = lambda d: bin(int(d))[2:]
我真的也想知道2是什么意思,2:以及它是如何工作的,因为我试图用教程理解并且无法理解。
答案 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