pytho的使用和分發完全是免費的,它是一種物件導向的語言,它的。它的類別模組支援多態,操作符重載和多重繼承等進階概念,並且以python特有的簡潔的文法和類型,OOP十分便於使用。python內建了眾多先行編譯並可移植的功能模組,這些功能模組叫做標準庫(standard library)。python可以調用C和C++的庫,可以被C和C++的程式調用,可以與java組件整合,可以和COM和.Net等架構進行通訊,並且可以通過SOAP、XML-RPC和CORBA等介面與網路進行互動,所以,python絕不僅僅是一個獨立的工具。
本來是想打算使用eval函數對變數進行賦值的,沒想到出現了invalid syntax錯誤。原始碼如下
In [2]: eval('a = 1') File "", line 1 a = 1 ^SyntaxError: invalid syntax
百度沒百度到結果,最後在stackoverflow上找到了好的答案.
作者的意思是,eval函數只負責對錶達式進行處理,並沒有賦值的功能,也就是說,eval函數只負責對你的輸入進行輸出,True還是False又或者是什麼東西。但它本身是沒有影響當前代碼環境的能力的。如果我們想用來進行賦值,那麼應該使用exec()函數。看代碼:
In [3]: exec('a = 1')In [4]: aOut[4]: 1
問題的解決方案已經供出了,那麼我們現在再看看官方文檔對這兩個函數怎麼說。
eval(expression, global=None, local=None)
參數是字串和可選的global和local。global應當為一個字典檔案,local應為一個映射對象。
expression參數將被處理為一個python的運算式(嚴格來說,是一串條件陳述式),global和local參數將被用來當做全域和局部的命名空間。
exec(object[,global,[locals])
這個函數能夠為python提供動態代碼執行功能。