Python高阶函数和eval函数
生活随笔
收集整理的這篇文章主要介紹了
Python高阶函数和eval函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、介紹
高階函數:變量可以指向函數,函數的參數能接收變量,那么一個函數就可以接收另一個函數作為參數。
二、具體實用
其實說白了,高階函數功能就是:把函數本身當做一個參數,傳到另一個函數中,然后在這個函數中做處理。代碼如下:
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' #普通函數 def test_1(a,b):return a+b#高階函數 def test_2(a,b,f):return f(a)+f(b)print("------test_1-----") res = test_1(1,-3) print(res) print("------test_2-----") res = test_2(1,-3,abs) #把abs這個內置函數當做參數傳進去 print(res)#輸出 ------test_1----- -2 ------test_2----- 4那這個高階函數具體在什么地方用吶?這個我們以后用到再說,這邊先暫時做了解。
三、eval()函數
在我們使用一些類似于字典的字符串時,雖然它看起來很像字典,但是在它的最外層多了引號,說明它是字符串,但是我們如何把它轉換成字典吶,這就用到了eval()函數,看看eval()函數是如何把字符串轉換成字典的,下面就來看看見證奇跡的時刻:
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' #定義一個類似于字典的字符串,把值賦給arg >>> arg = '''{'backend': 'www.oldboy.org','record':{'server': '100.1.7.9','weight': 20,'maxconn': 30}}''' #這邊根據鍵取值報錯,說明它是一個字符串,不是字典 >>> arg["backend"] Traceback (most recent call last):File "<input>", line 1, in <module> TypeError: string indices must be integers #通過eval()函數把字符串轉成字典 >>> arg = eval(arg) #顯示的類型是字典 >>> type(arg) <class 'dict'> >>> arg {'record': {'server': '100.1.7.9', 'weight': 20, 'maxconn': 30}, 'backend': 'www.oldboy.org'} #通過鍵能獲取對應的值,說明字符串成功轉成字典 >>> arg["backend"] 'www.oldboy.org'總結
以上是生活随笔為你收集整理的Python高阶函数和eval函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python isinstance函数
- 下一篇: Python函数的非固定参数