MOOC python筆記(二)python中的數據類型和語句

python數據類型

數字類型

整數(int)

與數學中整數概念一致(數字大小沒有限制,這和其餘語言不一樣),整數可正可負,默認狀況下,整數採用十進制。其餘進制須要增長相應的引導符號。
若是是二進制在前面加上0b或者0B便可,若是是八進制在前面加上0o或者0O便可,若是是十六進制在前面加上0x或者0X便可。html

浮點數(float)

與數學中的實數概念一致,取值範圍與精度都有限制。
表達方式:
1.小數:1.23,3.14,-9.01
2.科學計數法:1.23e9,1.2e-5
浮點數運算存在不肯定位數,有偏差,這是因爲計算機用二進制存儲浮點數形成的。
若是要消除位數可使用round函數。
該函數原型爲:round(number,ndigit=none)python

複數(complex)

與數學中的複數概念一致。
由實部和虛部組成,虛部用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

數學庫(math)

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

內置轉換函數

內置函數指不須要導入類的函數
如圖:
_M0N_V1RW_0MG08MO`T3_YP.png
類型轉換函數實例:
基本格式:int(x[,base])blog

>>> int() #不傳入參數時,獲得結果0.
0
>>> int("02") #去掉0
2
>>> int("   35    ") #去掉空格
35
>>> int("35",8) #八進制
29

python中的語句

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)

for variable in 序列:
    語句塊

例如:

>>> s="hello,world"
>>> for i in s:
    print(i,end='') 
hello,world

有時爲了方便產生序列咱們引入range函數

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]

格式化輸出

format函數

基本格式: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函數實際上還有一種方式%能夠將字符串格式化,用法基本與這個一致,下節會提一下。

相關文章
相關標籤/搜索