#測試eval()函式用法
#功能:將字串str中的字串當成有效的表示式進行運算並返回值
'''eval 的語法結構:
eval(source[, globals[, locals]])
eval(**[,全域性變數[,區域性變數]])
value
引數: source:乙個 python 表示式或函式 compile()返回的**物件
globals:可選。必須是 dictionary
locals:可選。任意對映物件
''''''
eval /ɪ'væl/ 重新運算求出引數的內容
source /sɔːrs/ **
compile /kəmˈpaɪl/ 編譯
globals /ˈɡloʊbls/ 全域性變數
locals /ˈloʊkls/ 區域性變數
dictionary /ˈdɪkʃəneri/ 字典 dict
value /ˈvæljuː/ 值
'''#例1:
s ="print(abcd)"
eval
("s"
)# 執行字串的內容
#運算結果: abcd
# 去""執行其內容。
a =10
b =30
c =eval
("a+b"
)c = a + b #這樣寫同樣沒用問題
print
(c)# 運算結果: 40
#例2:
print
("-----------------------------"
)dict1 =
dict
(a =
100, b =
200)
d =eval
("a+b"
,dict1)
# eval("**",變數)
# 括號內加dict1是為了讓python識別a與b是哪兩個值
print
(d)#運算結果:300
位運算求和
劍值offer上有道題很有趣,求兩數和,要求 寫乙個函式,求兩個整數之和,要求在函式體內不得使用 四則運算符號。一看不能直接加減,那就考慮二進位制之間的與或非移位操作。求和主要有兩點 1.每一位數字相加 2.考慮是否進製 主要步驟 二進位制各位數字相加,我們都知道運算規則是 0 0 0,1 1 0,...
位運算求a b
位運算 給出兩個整數 a 和 b,求他們的和。挑戰顯然你可以直接 return a b,但是你是否可以挑戰一下不這樣做?不使用 等算數運算子 分析 主要利用異或運算來完成,異或運算有乙個別名叫做 不進製加法,那麼a b就是a和b相加之後,該進製的地方不進製的結果,然後下面考慮哪些地方要進製,自然是a...
位運算求相反數
n的相反數等於 n 1 對於取相反數之後不會產生溢位的情況都適用 對於正數的相反相反數來說,原碼就是除符號位變為1,其他不變,計算機中 對於乙個數字來說儲存的都是其補碼,負數的補碼為符號位不變其他位按位取反,然後將得到的結果 1 而 n 1的過程第一步就是將符號為變為1,變為其相反數原碼的情況,然後...