算術(shù)最基本的操作符,是*數(shù)學(xué)的+ - * / ,對于整數(shù),還可以用+=,*=的操作符,對自身的值進行改變(對象引用)。以下是小編為你整理的python系統(tǒng)的學(xué)習(xí)教程 ?
對于整數(shù)的加減乘除,但需要注意的是,整數(shù)相除的結(jié)果是小數(shù) ?
PS:在一些其他語言,比如c語言,java,兩個整數(shù)相除,如果產(chǎn)生小數(shù),直接把小數(shù)給忽略掉,而Python剛剛相反,比如1/3,在其他語言的結(jié)果是0,在Python則是0.333333333...... ?
如果需要把整數(shù)相除的商作為int類型整數(shù)結(jié)果,需要轉(zhuǎn)化,int(小數(shù)值) ?
PS:直接把小數(shù)忽略掉,不會進行四舍五入的運算 ?
列表的相加
?
2個列表相加之后,元素進行合并 ?
需要注意的是,不能直接用運算符進行減法,乘法,除法運算 ?
str類型相加(連接符) ?
數(shù)值相加的數(shù)學(xué)運算,字符串相加是連接 ?
比如:'abc'+'def',結(jié)果是'abcdef' ?
需要注意的是,字符串只能用+號連接,不能用乘除減符號 ?
+=,-=,*=,/= ?
需要注意的是,這種賦值不是改變原本的數(shù)據(jù),而且進行運算之后產(chǎn)生一個新的數(shù)據(jù),然后a重新指向新數(shù)據(jù),原來的數(shù)據(jù)如果沒有被任何標(biāo)識符引用,那么會進入等待垃圾回收器清理 ?
另外,這類操作符的左邊是一個集合的時候,右邊也需要是集合 ?
有一個需要注意的是 ?
字符串集合與字符串相加 ?
比如,['abc']與'def'相加,不能用a = a + b,要用a += b ?
解析:直接相加,相當(dāng)于用列表與字符串相加,如果用+=,會默認(rèn)把后面的字符串轉(zhuǎn)成列表 ?
python的注釋注釋是什么? ?
我們寫程序的時候,是否要標(biāo)明程序的作用。例如函數(shù)、對象、方法的作用、源代碼的作者等。 ?
也就是說python解釋器不解釋的部分,用來我們開發(fā)時可以一目了然的功能標(biāo)明,就是注釋。 ?
怎么注釋呢? ?
這里分單行注釋和多行注釋。 ?
什么是單行注釋? ?
也就是說單行注釋,標(biāo)識符為# ?
什么是多行注釋? ?
多行注釋一般用于作者、版本標(biāo)明。標(biāo)識符為3個'''或者""" ?
當(dāng)然你也可以用單行注釋來實現(xiàn)多行注釋。 ?
例如: ?
#!/usr/bin/python ?
# 這是一個python程序 ?
# 作者 binn louis zeng ?
# 版本:1.0 ?
# 功能:1.xxxxxx ?
# 2.xxxxx ?
import sys ?
...... ?
但是多行的情況是這樣的: ?
#!/usr/bin/python ?
''' ?
這是一個python程序 ?
作者 binn louis zeng ?
版本:1.0 ?
功能:1.xxxxxx ?
2.xxxxx ?
''' ?
import sys ?
...... ?
或者把'''替換成""" ?
跟著我做一遍你就完全能理解啦。 ?
首先touch test.py ?
新建一個py文件。 ?
vim打開它。 ?
然后按a插入。 ?
輸入以下代碼: ?
#!/usr/bin/python ?
#print 'test' ?
print 'test' ?
先來看看我們的代碼 ?
#!/usr/bin/python ?
這個是聲明解釋器路徑 ?
#print 'test' ?
這個是注釋,不起作用的注釋 ?
print 'test' ?
這是一個打印test這個字符串的操作。 ?
如果#注釋生效的話,那么只會打印一個test對不對? ?
也就是只執(zhí)行print 'test'這一條語句 ?
我們:wq保存退出,然后python test.py看看結(jié)果? ?
二進制的實用方法
0b是二進制,比如a = 0b1001100110100110 ?
注意:無論幾進制,打印出來的都是十進制 ?
0o表示八進制 ?
注意:前面是數(shù)字0,后面是小寫字母x ?
0x表示十六進制 ?
注意:前面的是數(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ù),這個函數(shù)是返回一個元組的 ?
abs(x) ?
獲取某個數(shù)的*,這個計算比較常用 ?
python中的加法運算
python中的加法運算,符號就是數(shù)學(xué)中的加號,再運算界面直接輸入表達式,shell中直接輸出結(jié)果。2.減法運算和加法運算都是和數(shù)學(xué)運算一致,直接使用減號。 ?
乘法運算,使用的乘號是*,這個和數(shù)學(xué)中的運算稍微有些區(qū)別。輸入8*9就代表數(shù)學(xué)運算中的8x9.除法運算使用的除號是/。輸入9/3就代表數(shù)學(xué)運算中的9÷3.有一點需要特殊說明的是除法中還有另外一種情況。10.28/7和10.28//7,情況不一樣。 ?
由上圖可以看出10.28/7得出的是真實的除法結(jié)果,而10.28//7得出的是1.0.這里的//是截斷除法,指的是將他的運算結(jié)果向下取舍。**代表次方,2**3代表2的三次方, ?
還有一個比較常用的運算叫做求余,符號是%.它的作用是求出除法運算中的余數(shù)。兩外一些常用的計算包括,比較運算中的>.輸出的是布爾類型的值。如圖所示,輸出true或者false。 ?
小于和大于的情況相似,以及小于等于,小于等于,等于,不等于。都是輸出布爾類型。都是常用的判斷語句中的條件,這些以后學(xué)習(xí)更復(fù)雜的運算中都會遇到。 ?
混合運算和數(shù)學(xué)中的運算一樣,有時候也需要用到括號來改變他們的運算順序。總的來說,這些運算符和表達式都需要經(jīng)常練習(xí),記住他們的用法和注意事項。