2017-09-24 35 views
0

有人可以請解釋我那些特定的代碼行是什麼意思?Lambda二元計算器

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

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

我真的也想知道什麼是2的意思是,和2:它是如何工作的,因爲我想與教程,理解和無法理解。

回答

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