ambda的通常形式是關鍵字lambda後面跟一個或多個參數,緊跟一個冒號,之後是一個表達式。lambda是一個表達式而不是一個語句。它可以出如今Python語法不容許def出現的地方。做爲表達式,lambda返回一個值(即一個新的函數)。lambda用來編寫簡單的函數,而def用來處理更強大的任務。
eval(str)函數很強大,官方解釋爲:將字符串str當成有效的表達式來求值並返回計算結果。因此,結合math當成一個計算器很好用。ide
eval()函數常見做用有:函數
Python 3.6.8 |Anaconda, Inc.| (default, Dec 29 2018, 19:04:46) Type 'copyright', 'credits' or 'license' for more information IPython 7.4.0 -- An enhanced Interactive Python. Type '?' for help. In [1]: eval('1+1') Out[1]: 2 In [2]: eval('pow(2,2)') Out[2]: 4 In [3]: n = 10 In [4]: eval('n+1') Out[4]: 11 In [11]: def hello(): ...: print('hello') ...: In [12]: eval('hello()') hello In [13]: eval('hello')() hello
>>> a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]" >>> b = eval(a) >>> b [[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]] >>> a = "{1:'xx',2:'yy'}" >>> c = eval(a) >>> c {1: 'xx', 2: 'yy'} >>> a = "(1,2,3,4)" >>> d = eval(a) >>> d (1, 2, 3, 4)
>>> list1 = [1,2,3,4,5] >>> `list1` '[1, 2, 3, 4, 5]' >>> type(`list1`) <type 'str'> >>> type(eval(`list1`)) <type 'list'> >>> a = eval(`list1`) >>> a [1, 2, 3, 4, 5]