欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python學習筆記之調用eval函數(shù)出現(xiàn)invalid syntax錯誤問題

 更新時間:2015年10月18日 15:21:33   投稿:mrr  
python是一門多種用途的編程語言,時常扮演腳本語言的角色。一般來說,python可以定義為面向對象的腳本語言,這個定義把面向對象的支持和面向腳本語言的角色融合在一起。很多時候,人們常常喜歡用“腳本”和不是語言來描述python的代碼文件。

pytho的使用和分發(fā)完全是免費的,它是一種面向對象的語言,它的。它的類模塊支持多態(tài),操作符重載和多重繼承等高級概念,并且以python特有的簡潔的語法和類型,OOP十分易于使用。python內置了眾多預編譯并可移植的功能模塊,這些功能模塊叫做標準庫(standard library)。python可以調用C和C++的庫,可以被C和C++的程序調用,可以與java組件集成,可以和COM和.Net等框架進行通信,并且可以通過SOAP、XML-RPC和CORBA等接口與網(wǎng)絡進行交互,所以,python絕不僅僅是一個獨立的工具。

本來是想打算使用eval函數(shù)對變量進行賦值的,沒想到出現(xiàn)了invalid syntax錯誤。源代碼如下

In [2]: eval('a = 1')
 File "<string>", line 1
 a = 1
  ^
SyntaxError: invalid syntax

  百度沒百度到結果,最后在stackoverflow上找到了好的答案.

  作者的意思是,eval函數(shù)只負責對表達式進行處理,并沒有賦值的功能,也就是說,eval函數(shù)只負責對你的輸入進行輸出,True還是False又或者是什么東西。但它本身是沒有影響當前代碼環(huán)境的能力的。如果我們想用來進行賦值,那么應該使用exec()函數(shù)??创a:

In [3]: exec('a = 1')
In [4]: a
Out[4]: 1

  問題的解決方案已經供出了,那么我們現(xiàn)在再看看官方文檔對這兩個函數(shù)怎么說。

eval(expression, global=None, local=None)

      參數(shù)是字符串和可選的global和local。global應當為一個字典文件,local應為一個映射對象。

  expression參數(shù)將被處理為一個python的表達式(嚴格來說,是一串條件語句),global和local參數(shù)將被用來當做全局和局部的命名空間。

exec(object[,global,[locals])

  這個函數(shù)能夠為python提供動態(tài)的代碼執(zhí)行功能。

相關文章

最新評論