算術(shù)最基本的操作符,是*數(shù)學(xué)的+ - * / ,對(duì)于整數(shù),還可以用+=,*=的操作符,對(duì)自身的值進(jìn)行改變(對(duì)象引用)。以下是小編為你整理的怎樣用python學(xué)習(xí) ?
對(duì)于整數(shù)的加減乘除,但需要注意的是,整數(shù)相除的結(jié)果是小數(shù) ?
PS:在一些其他語(yǔ)言,比如c語(yǔ)言,java,兩個(gè)整數(shù)相除,如果產(chǎn)生小數(shù),直接把小數(shù)給忽略掉,而Python剛剛相反,比如1/3,在其他語(yǔ)言的結(jié)果是0,在Python則是0.333333333...... ?
如果需要把整數(shù)相除的商作為int類型整數(shù)結(jié)果,需要轉(zhuǎn)化,int(小數(shù)值) ?
PS:直接把小數(shù)忽略掉,不會(huì)進(jìn)行四舍五入的運(yùn)算 ?
列表的相加
?
2個(gè)列表相加之后,元素進(jìn)行合并 ?
需要注意的是,不能直接用運(yùn)算符進(jìn)行減法,乘法,除法運(yùn)算 ?
str類型相加(連接符) ?
數(shù)值相加的數(shù)學(xué)運(yùn)算,字符串相加是連接 ?
比如:'abc'+'def',結(jié)果是'abcdef' ?
需要注意的是,字符串只能用+號(hào)連接,不能用乘除減符號(hào) ?
+=,-=,*=,/= ?
需要注意的是,這種賦值不是改變?cè)镜臄?shù)據(jù),而且進(jìn)行運(yùn)算之后產(chǎn)生一個(gè)新的數(shù)據(jù),然后a重新指向新數(shù)據(jù),原來(lái)的數(shù)據(jù)如果沒有被任何標(biāo)識(shí)符引用,那么會(huì)進(jìn)入等待垃圾回收器清理 ?
另外,這類操作符的左邊是一個(gè)集合的時(shí)候,右邊也需要是集合 ?
有一個(gè)需要注意的是 ?
字符串集合與字符串相加 ?
比如,['abc']與'def'相加,不能用a = a + b,要用a += b ?
解析:直接相加,相當(dāng)于用列表與字符串相加,如果用+=,會(huì)默認(rèn)把后面的字符串轉(zhuǎn)成列表 ?
python的注釋注釋是什么? ?
我們寫程序的時(shí)候,是否要標(biāo)明程序的作用。例如函數(shù)、對(duì)象、方法的作用、源代碼的作者等。 ?
也就是說(shuō)python解釋器不解釋的部分,用來(lái)我們開發(fā)時(shí)可以一目了然的功能標(biāo)明,就是注釋。 ?
怎么注釋呢? ?
這里分單行注釋和多行注釋。 ?
什么是單行注釋? ?
也就是說(shuō)單行注釋,標(biāo)識(shí)符為# ?
什么是多行注釋? ?
多行注釋一般用于作者、版本標(biāo)明。標(biāo)識(shí)符為3個(gè)'''或者""" ?
當(dāng)然你也可以用單行注釋來(lái)實(shí)現(xiàn)多行注釋。 ?
例如: ?
#!/usr/bin/python ?
# 這是一個(gè)python程序 ?
# 作者 binn louis zeng ?
# 版本:1.0 ?
# 功能:1.xxxxxx ?
# 2.xxxxx ?
import sys ?
...... ?
但是多行的情況是這樣的: ?
#!/usr/bin/python ?
''' ?
這是一個(gè)python程序 ?
作者 binn louis zeng ?
版本:1.0 ?
功能:1.xxxxxx ?
2.xxxxx ?
''' ?
import sys ?
...... ?
或者把'''替換成""" ?
跟著我做一遍你就完全能理解啦。 ?
首先touch test.py ?
新建一個(gè)py文件。 ?
vim打開它。 ?
然后按a插入。 ?
輸入以下代碼: ?
#!/usr/bin/python ?
#print 'test' ?
print 'test' ?
先來(lái)看看我們的代碼 ?
#!/usr/bin/python ?
這個(gè)是聲明解釋器路徑 ?
#print 'test' ?
這個(gè)是注釋,不起作用的注釋 ?
print 'test' ?
這是一個(gè)打印test這個(gè)字符串的操作。 ?
如果#注釋生效的話,那么只會(huì)打印一個(gè)test對(duì)不對(duì)? ?
也就是只執(zhí)行print 'test'這一條語(yǔ)句 ?
我們:wq保存退出,然后python test.py看看結(jié)果? ?
二進(jìn)制的實(shí)用方法
0b是二進(jìn)制,比如a = 0b1001100110100110 ?
注意:無(wú)論幾進(jìn)制,打印出來(lái)的都是十進(jìn)制 ?
0o表示八進(jìn)制 ?
注意:前面是數(shù)字0,后面是小寫字母x ?
0x表示十六進(jìn)制 ?
注意:前面的是數(shù)字0,后面的是小寫字母x,數(shù)值用大寫字母,A~E ?
/與//
?
a/b,帶小數(shù)的結(jié)果 ?
a//b,忽略小數(shù)的結(jié)果 ?
注意:帶不帶小數(shù),它的結(jié)果都是小數(shù) ?
%取模(余數(shù)) ?
比如,10/3,正常結(jié)果的3.333333 ?
如果需要*算術(shù)那樣,10/3,求余數(shù) ?
可以用10 % 3 ?
divmod(x,y) ?
如果需要同時(shí)求商與余數(shù),可以用這個(gè)函數(shù),這個(gè)函數(shù)是返回一個(gè)元組的 ?
abs(x) ?
獲取某個(gè)數(shù)的*,這個(gè)計(jì)算比較常用 ?
Web方向的練手項(xiàng)目 ?
這個(gè)其實(shí)是肯定不用多少的了。Python的練手項(xiàng)目就是可以做一個(gè)網(wǎng)站了。我們可以做一個(gè)屬于自己的博客。在做博客的時(shí)候,我們可以鞏固的知識(shí)點(diǎn)是 ?
Html+CSS+JS的基礎(chǔ)知識(shí),以及熟練的運(yùn)用Python的Web開發(fā)框架(例如Django或者Flask)做出一個(gè)屬于自己的網(wǎng)站。 ?
也就是我們常說(shuō)的網(wǎng)絡(luò)爬蟲??梢哉业揭粋€(gè)自己喜歡的網(wǎng)站。試著抓取一些網(wǎng)站數(shù)據(jù),在抓取數(shù)據(jù)的過(guò)程中,你會(huì)遇到例如 反抓取 需要登陸 驗(yàn)證碼驗(yàn)證以及IP檢測(cè)等多種問(wèn)題。但這恰恰不就是提高的過(guò)程么?;蛟S,你也可能寫一個(gè)自己的“小百度”呢、 ?
不要覺得太難。我們可以從一個(gè)簡(jiǎn)單的項(xiàng)目開啟。驗(yàn)證碼就是一個(gè)圖片。我們是不是可以試著識(shí)別一下驗(yàn)證碼上面的文字?不要覺得麻煩,也不要覺得太過(guò)簡(jiǎn)單。所有復(fù)雜的事情都是從簡(jiǎn)單開始的。學(xué)習(xí)驗(yàn)證碼識(shí)別對(duì)于我們寫網(wǎng)絡(luò)爬蟲是不是特別有用呢?在后期深入的過(guò)程中,你還可以做一個(gè)圖像識(shí)別軟件。 ?
是不是覺得現(xiàn)在手機(jī)軟件中的智能聊天軟件很神奇。你同樣可以做一個(gè)屬于自己的聊天機(jī)器人。前期我們可以做一個(gè)應(yīng)答式的,也就是所有的會(huì)話就是存儲(chǔ)在數(shù)據(jù)庫(kù)中。后期的話可以學(xué)習(xí)人工智能學(xué)習(xí)。讓你的機(jī)器人更加智能。 ?
使用Python你可以非常方便的實(shí)現(xiàn)一個(gè)網(wǎng)絡(luò)服務(wù)器和瀏覽器的功能。通過(guò)網(wǎng)絡(luò)編程項(xiàng)目的實(shí)踐。對(duì)于網(wǎng)絡(luò)應(yīng)用以及網(wǎng)絡(luò)協(xié)議的理解將會(huì)是一個(gè)非常寶貴的經(jīng)驗(yàn)。 ?
隨著互聯(lián)網(wǎng)的高速發(fā)展。深度學(xué)習(xí) 區(qū)塊鏈等等高新技術(shù)詞匯涌入我們的眼前。Python現(xiàn)在的主要方向也正是向著人工智能方向邁進(jìn)。所以一些人工智能的算法以及人工智能框架的學(xué)習(xí) 也同樣的是我們可以作為練手的項(xiàng)目。