麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > Python中eval的用法及注意事項(xiàng)

Python中eval的用法及注意事項(xiàng)

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-06 03:43:27 1699213407

eval是Python的一個(gè)內(nèi)置函數(shù),這個(gè)函數(shù)的作用是,返回傳入字符串的表達(dá)式的結(jié)果。想象一下變量賦值時(shí),將等號右邊的表達(dá)式寫成字符串的格式,將這個(gè)字符串作為eval的參數(shù),eval的返回值就是這個(gè)表達(dá)式的結(jié)果。

python中eval函數(shù)的用法十分的靈活,但也十分危險(xiǎn),安全性是其最大的缺點(diǎn)。本文從靈活性和危險(xiǎn)性兩方面介紹eval。

1、強(qiáng)大之處

舉幾個(gè)例子感受一下,字符串與list、tuple、dict的轉(zhuǎn)化。

a="[[1,2],[3,4],[5,6],[7,8],[9,0]]"

b=eval(a)

b

Out[3]:[[1,2],[3,4],[5,6],[7,8],[9,0]]

type(b)

Out[4]:list

a="{1:'a',2:'b'}"

b=eval(a)

b

Out[7]:{1:'a',2:'b'}

type(b)

Out[8]:dict

a="([1,2],[3,4],[5,6],[7,8],(9,0))"

b=eval(a)

b

Out[11]:([1,2],[3,4],[5,6],[7,8],(9,0))

強(qiáng)大吧,給個(gè)字符串給eval,eval給你一個(gè)表達(dá)式返回值。

eval的語法格式如下:

eval(expression[,globals[,locals]])

expression:字符串

globals:變量作用域,全局命名空間,如果被提供,則必須是一個(gè)字典對象。

locals:變量作用域,局部命名空間,如果被提供,可以是任何映射對象。

結(jié)合globals和locals看看幾個(gè)例子

傳遞globals參數(shù)值為{“age”:1822},

eval("{'name':'linux','age':age}",{"age":1822})

輸出結(jié)果

{‘name':‘linux',‘a(chǎn)ge':1822}

再加上locals變量

age=18

eval("{'name':'linux','age':age}",{"age":1822},locals())

根據(jù)上面兩個(gè)例子可以看到當(dāng)locals參數(shù)為空,globals參數(shù)不為空時(shí),查找globals參數(shù)中是否存在變量,并計(jì)算。

當(dāng)兩個(gè)參數(shù)都不為空時(shí),先查找locals參數(shù),再查找globals參數(shù),locals參數(shù)中同名變量會覆蓋globals中的變量。

2、危險(xiǎn)之處

eval雖然方便,但是要注意安全性,可以將字符串轉(zhuǎn)成表達(dá)式并執(zhí)行,就可以利用執(zhí)行系統(tǒng)命令,刪除文件等操作。

假設(shè)用戶惡意輸入。比如:

eval("__import__('os').system('ls/home/pythontab.com/www/')")

那么eval()之后,你會發(fā)現(xiàn),當(dāng)前文件夾文件都會展如今用戶前面。這句其實(shí)相當(dāng)于執(zhí)行了

os.system('ls/home/pythontab.com/www/')

那么繼續(xù)輸入:

eval("__import__('os').system('cat/home/pythontab.com/www/test.sql')")

代碼都給人看了。

再來一條刪除命令,文件消失。比如

eval("__import__('os').system('rm/home/pythontab.com/www/test.data')")

所以使用eval,一方面享受他的了靈活性同時(shí),也要注意安全性。

以上內(nèi)容為大家介紹了Python中eval的用法及注意事項(xiàng),希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://www.dietsnews.net/

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
有Java基礎(chǔ)的學(xué)習(xí)python應(yīng)該注意些什么

首先,對于具有Java編程基礎(chǔ)的人來說,學(xué)習(xí)Python的初期并不會遇到太大的障礙,但是要結(jié)合自己的發(fā)展規(guī)劃來制定學(xué)習(xí)規(guī)劃,尤其要重視學(xué)習(xí)方向的...詳情>>

2023-11-06 06:25:27
Python 定時(shí)修改數(shù)據(jù)庫

當(dāng)需要定時(shí)修改數(shù)據(jù)庫時(shí),一般我們都選擇起一個(gè)定時(shí)進(jìn)程去改庫。如果將這種定時(shí)任務(wù)寫入業(yè)務(wù)中,寫成一個(gè)接口呢,定時(shí)進(jìn)程顯得有些不太合適?如...詳情>>

2023-11-06 06:03:51
Python有哪些常用函數(shù)?

Python常用函數(shù)有哪些?我想大家都比較好奇這個(gè)問題,今天小編特地整理了一篇有關(guān)Python常用函數(shù)的相關(guān)內(nèi)容,接下來我們一起來看看具體的內(nèi)容介...詳情>>

2023-11-06 05:49:27
Python常用的三大開源框架

眾所周知,Python是一種腳本語言,具有易學(xué)、語法清晰、易維護(hù)等優(yōu)點(diǎn),而且具有豐富和強(qiáng)大的庫,被稱作為膠水語言。Python語言誕生較早,經(jīng)過多...詳情>>

2023-11-06 05:35:03
Python算法是什么?有哪幾類?

了解Python的人應(yīng)該都聽說過Python算法,但是它們的類型和定義并不是很清楚,那么你知道什么是算法嗎?Python算法有哪些類型?讓我們通過這篇文章...詳情>>

2023-11-06 05:31:27
主站蜘蛛池模板: 中文字幕亚洲综合久久菠萝蜜| 再深点灬舒服灬在快点视频| 131美女爽爽爽爱做视频| 黑料不打烊tttzzz网址入口| 美女性生活电影| caopon在线| 男人把女人桶爽30分钟一| 美女张开腿让男人真实视频| 女人是男人的女未来1分49分| 国产精品日本一区二区在线播放 | 亚洲日韩中文字幕在线播放| jux434被公每天侵犯的我| 热久久精品免费视频| 天天舔天天操天天干| 最近免费最新高清中文字幕韩国| 免费看国产精品麻豆| 99久久无色码中文字幕| 欧美日韩亚洲国产精品| 一本到不卡| 两个小姨子韩国| 可以直接看的毛片| 8av国产精品爽爽ⅴa在线观看| 久久综合九色综合97欧美| 99久久精品免费看国产 | 中文字幕在线观看一区二区三区| 日韩三级免费看| 美女黄色录像| 美女被吸乳老师羞羞漫画| 欧美性69式xxxx护士| 男人j进女人p一进一出视频| 欧美性理论片在线观看片免费 | 精品无人区麻豆乱码1区2区| 欧美特黄一片aa大片免费看| 国产成人精品一区二区三在线观看| 亚洲高清二区| 国产女主播喷水视频在线观看| 国产中文字幕电影| www.五月天婷婷| 正在播放宾馆露脸对白视频| 午夜体验试看120秒| 久久精品国产99国产精品|