Python中的exec的用法是什么?Python中exec()和eval()的區別

eval()和exec()函數都屬于Python中的內置函數,由于這兩個函數在功能和用法方面都有相似之處,所以將它們放到一起進行介紹 。下面就一起來看看這篇關于Python中的exec()的用法是什么?Python中exec()和eval()的區別的文章吧 。

Python中的exec的用法是什么?Python中exec()和eval()的區別


一、eval()和exec()的用法
在Python中,這兩個函數的功能非常的相似,都是對字符串形式的Python代碼執行,有人可以把它們看成是一個Python解釋器,下面一起看看它們的基本語法:
eval()函數的語法格式為:
eval(expression, globals=None, locals=None, /)而exec()函數的語法格式如下:
exec(expression, globals=None, locals=None, /)通過語法的觀察,我們可以看到這兩個函數除了函數名不同之外,參數都是一樣的,一共包含了三個參數,第一個參數表示的是字符串,也就是我們需要執行的語句,在這個參數后面的兩個參數就是用來指定字典類型參數,globals用來對全局的命名空間進行管控,最后一個參數是管控局部的命名空間,類似于globals 。
二、exec()和eval()的區別
【Python中的exec的用法是什么?Python中exec()和eval()的區別】在前面語法的學習中,我們提過了它們之間的一些區別,其主要的區別就是在于是否會將執行結果返回,如果使用eval()函數的話,執行完會返回結果,而使用exec()執行完不返回結果 。下面看一個具體的實例,代碼如下:
a = 1exec("a = 2")在這里就是直接執行a=2一樣的操作print(a)a = exec("2+3")直接執行 2+3,但是不會有任何的返回值,a對應的值為none 。print(a)a = eval('2+3') #執行 2+3,并把結果返回給 aprint(a)運行結果為:
2None5:a= eval("a = 2")關于Python中的exec()的用法是什么?Python中exec()和eval()的區別的文章就分享到這里了,希望通過對這篇文章的學習可以讓大家掌握到更多的Python知識 。

    猜你喜歡