最近在改項目中的python代碼,之前用python2寫的,現(xiàn)在準(zhǔn)備改成python3,遇到一些小情況,在此記錄一下:
(1)除法的區(qū)別
在python2中,對于兩個int變量進行 “ / ” 除法操作,得到的結(jié)果是整數(shù),小數(shù)部分直接舍去。
而在python3中, 單斜線 “ / ” 表示的就是實際的除法,而對應(yīng)于python2的整除模式要用雙斜杠 “ // ” 來代替
import sys
sys.version
Out[69]: '3.5.2 (default, Nov 23 2017, 16:37:01) \n[GCC 5.4.0 20160609]'
a = 5
b = 3
a/b
Out[72]: 1.6666666666666667
a//b
Out[73]: 1
(2)print的區(qū)別
打印輸出函數(shù)print在py2和3中也不同,在py2中,print可以是一個語法結(jié)構(gòu),可以直接寫成 print xxx,當(dāng)然,也可以用函數(shù)的形式寫成print(xxx)的形式。
而在py3中,print只保留了函數(shù)的功能,因此是一個內(nèi)置函數(shù)了,因此只能用括號括起來才能使用。
print函數(shù)的原型為:
print(value1, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
其中,value1,value2等等表示要打印的值,sep是分隔符,默認(rèn)是空格,也就是用空格分開,end表示結(jié)尾,如果想要不換行,就可以把 " \n " 換成其他,如空格等。
print(a,b)
5 3
print(a,b,sep=',')
5,3
print(a,b,end=' '); print('end')
5 3 end
print(a,b); print('end')
5 3
end
(3)dict中查找鍵值的區(qū)別
在python2中,dict又一個成員函數(shù)
has_key()
,可以用來看有沒有某個key值。在python3中,這個函數(shù)被
“__contains__”
代替,用來查看是否有某個鍵值。
a = dict({'air':50, 'ball':1, 'cat':3})
a
Out[88]: {'air': 50, 'ball': 1, 'cat': 3}
a.__contains__('air')
Out[89]: True
a.__contains__('dog')
Out[90]: False
a.has_key('cat')
Traceback (most recent call last):
File "
", line 1, in
a.has_key('cat')
AttributeError: 'dict' object has no attribute 'has_key'
ps: 最近畢業(yè)事務(wù)繁忙,日常時間都用來寫論文和做實驗了,因此博客好久沒更新。。。
本周已經(jīng)答辯完啦~順利從master candidate變成了一只master
所以以后將繼續(xù)用這個blog記一些筆記和總結(jié)
近期的一些準(zhǔn)備關(guān)注的方向:CA、NLP、小樣本、醫(yī)學(xué)圖像處理。可能會整理一些相關(guān)的論文筆記。
傷情最是晚涼天,憔悴斯人不堪憐。 邀酒摧腸三杯醉,尋香驚夢五更寒。 釵頭鳳斜卿有淚,荼蘼花了我無緣。 小樓寂寞新雨月,也難如鉤也難圓。 ——馬 東
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
