與數學中整數概念一致(數字大小沒有限制,這和其餘語言不一樣),整數可正可負,默認狀況下,整數採用十進制。其餘進制須要增長相應的引導符號。
若是是二進制在前面加上0b或者0B便可,若是是八進制在前面加上0o或者0O便可,若是是十六進制在前面加上0x或者0X便可。html
與數學中的實數概念一致,取值範圍與精度都有限制。
表達方式:
1.小數:1.23,3.14,-9.01
2.科學計數法:1.23e9,1.2e-5
浮點數運算存在不肯定位數,有偏差,這是因爲計算機用二進制存儲浮點數形成的。
若是要消除位數可使用round函數。
該函數原型爲:round(number,ndigit=none)
python
與數學中的複數概念一致。
由實部和虛部組成,虛部用j表示。
例如:2+3j,2爲實部,3j爲虛部。
real方法取實部,imag方法取虛部。
complex(real,imag)函數能夠用於建立一個職位real+imag*j的複數。git
python只支持加減乘除和冪運算。
與其餘語言不一樣的是,python的整數除法與浮點數除法是分開的。其中:
/爲浮點數除法,結果爲小數。
//爲整數除法,結果爲整數,向下(左)取餘。
另外python提供了冪運算,符號爲**,它的優先級高於乘除和加減。
python不支持自增自減。
注意python中的--i與++i不是自增自減操做,詳見:python開發_++i,i += 1的區分shell
e 天然常數
pi 圓周率
log(x[,base=e]) 返回以base爲底的對數,缺省爲e
pow(x,y) 返回x的y次方
sqrt(x) 返回x的平方根
fabs(x) 返回x的絕對值
round(x[,n]) 返回浮點數x的四捨五入值,n表明舍入到小數點後的位數
divmod(x,y) 返回x和y的商和餘數函數
python中沒有字符類型,即便是一個字符也是字符串。
字符串是以引號括起來的任意文本,是一個有序序列
表示形式:
單引號:'abc'
雙引號:"hello"
三引號:"'hello
world'"
關於這些引號的用法詳見:Python中單引號,雙引號,3個單引號及3個雙引號的區別
轉義字符:和C/C++基本一致.net
+鏈接字符串 >>>'hello'+'world'
'helloworld'
* 複製字符串 >>>'ab'*3
'ababab'code
字符串是一個有序序列,能夠是正向遞增,也能夠是反向遞減。
索引:在[]中給出序號
切片:在[]中給出切片序號
例如:orm
>>> a='abcdefgh' >>> a[0] 'a' >>> a[-8] 'a' >>> a[1] 'b' >>> a[1:5] 'bcde'
python中提供布爾值:True、False(注意首字母大寫)。
邏輯運算和關係運算的結果是布爾值。
注意python3中不一樣類型的數據不能夠在一塊兒比較。
另外python中支持連續的關係運算,如:
>>>1<3<5 #等價於1<3 and 3<5
另外與C/C++中不一樣的是,邏輯運算符,與或非爲and,or,not而非&&、||、!
另外按位與,或,異或,翻轉python是支持的。
1.與運算:A與B值均爲1時,A、B與的運算結果才爲1,不然爲0 (運算符:&)
2.或運算:A或B值爲1時,A、B或的運算結果才爲1,不然爲0 (運算符:|)
3.異或運算:A與B不一樣爲1時,A、B的預算結果才爲1,不然爲0 (運算符:^)
4.按位翻轉(按位取反):將內存中表示數字的2進制數取反0取1,1取0 (運算符:~)
運算符優先級與C/C++一致。htm
內置函數指不須要導入類的函數
如圖:
類型轉換函數實例:
基本格式:int(x[,base])blog
>>> int() #不傳入參數時,獲得結果0. 0 >>> int("02") #去掉0 2 >>> int(" 35 ") #去掉空格 35 >>> int("35",8) #八進制 29
python語句包括賦值語句,分支語句,循環語句等。
語句一般是一行一條,若是須要一行多條的話須要在語句末尾加分號。
若是一條語句過長咱們也可使用續行符來跨行表示。
基本形式是「變量=值」的形式。
>>> x=1 >>> y=2 >>> k=x+y >>> x 1 >>> y 2 >>> k 3
也能夠進行序列賦值
>>> x,y=4,8 >>> x 4 >>> y 8 >>> a,b="34" >>> a '3' >>> b '4'
注意序列賦值時,兩邊序列容器中的元素個數必須一致不然會報錯。
>>> i,j=[1,2,3] Traceback (most recent call last): File "<pyshell#18>", line 1, in <module> i,j=[1,2,3] ValueError: too many values to unpack (expected 2)
小技巧:在python中可使用序列賦值來進行swap
>>> a=4;b=8 >>> a,b=b,a >>> a 8 >>> b 4
還能夠進行多變量賦值(即連等)
>>> a=b=c=5 >>> print(a,b,c) 5 5 5
if 邏輯表達式: 語句塊1 else: 語句塊2
這個沒啥好說的。
for variable in 序列: 語句塊
例如:
>>> s="hello,world" >>> for i in s: print(i,end='') hello,world
有時爲了方便產生序列咱們引入range函數
range(start,stop,step)
start:計數從start開始。默認是從0開始。
例如range(5)等價於range(0,5)
stop:計數到stop結束,但不包括stop。
例如:list(range(0,5))是[0,1,2,3,4]沒有5
step:步長,默認爲1。
例如:range(0,5)等價於range(0,5,1)
注意range的返回值並不爲序列,而是iterable,(具體是什麼我暫時也不是很清楚,只知道能夠在for循環中迭代使用,其餘狀況下只有變成列表才管用),須要用list()強制轉換。
>>> list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> list(range(1,10)) [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> list(range(1,10,4)) [1, 5, 9] >>> list(range(0,-10,-1)) [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
基本格式:str.format()
>>> x=3.14159 >>> y=2*x*3 >>> print("{0:.2f} {1:.2f}".format(x,y)) 3.14 18.85
0和1表示format函數中的第一和第二個參數 .2f表示小數部分保留兩位,四捨五入。 格式化的方法與C/C++一致。 除了format函數實際上還有一種方式%能夠將字符串格式化,用法基本與這個一致,下節會提一下。