2017-09-24 9 views
0

誰かが特定のコード行が意味するものを教えてください。ラムダバイナリ計算機

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の意味をここで説明しています。

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