在python中,當引數為可變型別的時候,有時候程式執行結果可能會出乎人的意料
def test(a,b=):
print(b)
test(1) #[1]
test(1) #[1,1]
為什麼兩次執行結果不一樣尼,原因出在b=這個上面,列表是乙個可變引數,在python中,當乙個函式被建立時,同時也建立了對引數的引用,當函式第一次執行後,b的引用值被修改,所以造成了第二次執行的時候,b的值是被修改之後的值。
>>> a = 5
>>> b = 5
>>> a == b
true
>>> a is b
true
>>> c = 300
>>> d = 300
>>> c == d
true
>>> c is d
false
首先,==對比的是兩個物件是否相等,或者說值一樣,is對比的是記憶體位址。
造成這種情況的原因是,在python中整數分為大整數和小整數,小整數物件在全域性直譯器範圍內被放入快取供重複使用,它的範圍是[-5,256],而且永遠也不會被銷毀。
>>> a,b = 300,300
>>> a == b
true
>>> a is b
true
如果賦值在同一行,可以實現物件id值一樣。 分享職場心得《9》
先上圖,我的風格 白骨精心得330 職場總有人來也有人走,經歷過不少交接的工作,有人一走了之,留下爛攤子 也有人是敬業到最後一分鐘,把所有東西交代得一清二楚。人在職場,圈子很小,行內總是那堆人,走要走得乾淨,別留下話柄和漏洞,說不准以後還有重逢碰面的日子,愉快負責任的交接等於給自己的未來多留一扇門 ...
CISSP考試心得分享
拖拉了好幾年,去年年底終於決定開始認真學習cissp準備考試。11月4號報的匯哲的培訓班,截止今天2018.1.19,一共2個半月,順利通過了。隨便寫寫經驗,分享給大家。我自身本科學的資訊科技,碩士學的網路 通訊,工作後一直搞網路以及運營,以及少量專案管理,考了工信部下面的資訊系統專案管理師,跟著單...
JFreeChart使用 之 IT 分享心得
2012年4月17日,嘿嘿,公司做到報表問題,結合公司,使用了jfreechart,自己花了乙個上午學習,總結一點出來了,希望能對所有在it新接觸人員有所幫助 首先,去官方 public class test 圓餅形狀 public void display4 categorydataset dat...