Python eval函數(shù)介紹及用法
我們之前跟大家描述了在Python里面一些函數(shù)的不同使用,以及一些函數(shù)的潛藏使用技巧,可是大家有沒(méi)有聽(tīng)說(shuō)過(guò),有一個(gè)函數(shù)一直被譽(yù)為最神奇的函數(shù),神奇的地方在哪里?到底怎么神奇?請(qǐng)看下文。
關(guān)于eval():
將字符串string對(duì)象轉(zhuǎn)化為有效的表達(dá)式參與求值運(yùn)算返回計(jì)算結(jié)果。
語(yǔ)法上:
調(diào)用的是:eval(expression,globals=None, locals=None)返回的是計(jì)算結(jié)果
其中:
1、expression是一個(gè)參與計(jì)算的python表達(dá)式
2、globals是可選的參數(shù),如果設(shè)置屬性不為None的話,就必須是dictionary對(duì)象了
3、locals也是一個(gè)可選的對(duì)象,如果設(shè)置屬性不為None的話,可以是任何map對(duì)象了
4、python是用命名空間來(lái)記錄變量的軌跡的,命名空間是一個(gè)dictionary,鍵是變量名,值是變量值。
下面簡(jiǎn)單演示一下eval()函數(shù)的使用:
#!usr/bin/env python#encoding:utf-8import mathdef eval_test(): l=’[1,2,3,4,[5,6,7,8,9]]’ d='{’a’:123,’b’:456,’c’:789}' t=’([1,3,5],[5,6,7,8,9],[123,456,789])’ print ’--------------------------轉(zhuǎn)化開(kāi)始--------------------------------’ print type(l), type(eval(l)) print type(d), type(eval(d)) print type(t), type(eval(t))if __name__=='__main__': eval_test()
測(cè)試結(jié)果輸出如下:
--------------------------轉(zhuǎn)化開(kāi)始--------------------------------<type ’str’> <type ’list’><type ’str’> <type ’dict’><type ’str’> <type ’tuple’>[Finished in 0.2s]
到此這篇關(guān)于Python eval函數(shù)介紹及用法的文章就介紹到這了,更多相關(guān)Python eval函數(shù)是什么?怎么使用??jī)?nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. vue使用moment如何將時(shí)間戳轉(zhuǎn)為標(biāo)準(zhǔn)日期時(shí)間格式2. bootstrap select2 動(dòng)態(tài)從后臺(tái)Ajax動(dòng)態(tài)獲取數(shù)據(jù)的代碼3. js select支持手動(dòng)輸入功能實(shí)現(xiàn)代碼4. php redis setnx分布式鎖簡(jiǎn)單原理解析5. 《Java程序員修煉之道》作者Ben Evans:保守的設(shè)計(jì)思想是Java的最大優(yōu)勢(shì)6. CSS3中Transition屬性詳解以及示例分享7. Python數(shù)據(jù)相關(guān)系數(shù)矩陣和熱力圖輕松實(shí)現(xiàn)教程8. 如何在PHP中讀寫(xiě)文件9. java加載屬性配置properties文件的方法10. 什么是Python變量作用域
