eval()
在print干事情之前,先看看這個東東。不是沒有用,因為說不定某些時候要用到。
代碼如下:
>>> help(eval) #這個是一招鮮,凡是不理解怎么用,就用這個看文檔
Help on built-in function eval in module __builtin__:
eval(...)
eval(source[, globals[, locals]]) -> value
Evaluate the source in the context of globals and locals.
The source may be a string representing a Python expression
or a code object as returned by compile().
The globals must be a dictionary and locals can be any mapping,
defaulting to the current globals and locals.
If only globals is given, locals defaults to it.
能看懂更好了,看不懂也沒有關系??次覍懙陌伞9?。概括一下,eval()是把字符串中符合python表達式的東西計算出來。意思就是:
代碼如下:
>>> 3+4 #這是一個表達式,python會根據計算法則計算出結果來
7
>>> "3+4" #這是一個字符串,python就不計算里面的內容了,雖然里面是一個符合python規范的表達式
'3+4'
>>> eval("3+4") #這里就跟上面不一樣了,就把字符串里面的表達式計算出來了
7
下面再看一個字符串“相加”的例子:
代碼如下:
>>> "qiwsir"+".github.io"
'qiwsir.github.io'
>>> "'qiwsir'+'.github.io'" #字符串里面,python是不會進行“計算”的
"'qiwsir'+'.github.io'"
>>> eval("'qiwsir'+'.github.io'") #eval()做的事情完全不一樣,它會把字符串里面的計算出來
'qiwsir.github.io'
順便再說一下另外一個跟eval()有點類似的函數:exec(),這個函數專門來執行字符串或文件里面的python語句。
代碼如下:
>>> exec "print 'hello, qiwsir'"
hello, qiwsir
>>> "print 'hello, qiwsir'"
"print 'hello, qiwsir'"
print詳解
print命令在編程實踐中用的比較多,特別是要向看看程序運行到某個時候產生了什么結果了,必須用print來輸出,或者說,本講更寬泛地說,就要說明白把程序中得到的結果輸出問題。
比較簡單的輸出,前面已經涉及到過了:
代碼如下:
>>> name = 'qiwsir'
>>> room = 703
>>> website = 'qiwsir.github.io'
>>> print "MY name is:%s/nMy room is:%d/nMy website is:%s"%(name,room,website)
MY name is:qiwsir
My room is:703
My website is:qiwsir.github.io
其中,%s,%d就是占位符。
代碼如下:
>>> a = 3.1415926
新聞熱點
疑難解答