Python中的基本類型簡介
1、變量
- 變量不僅可以是數字,還可以是任意數據類型
- 命名規範:變量是用一個變量名表示,變量名必須是大小寫英文、數字和下劃線_的組合,且不能用數字開頭
- python中等號“=”是賦值語句,可以把任意數據類型賦值給變量,同一個變量可以反復賦值,而且可以是不同類型的變量,這種變量本身類型不固定的語言稱之為動態語言
- print ‘a‘,‘b‘ #,為空格;
例如:
a=‘ABC‘
含義為:(1)在內存中創建了一個‘ABC‘的字符串
(2)在內存中創建了一個名為a的變量,並把它指向了‘ABC‘
2、字符串
- 表示:用‘‘ 或者""括起來
- 字符串本身包含 ‘
用 " " 括起來
eg:"I‘m ok"
- 字符串本身包含 "
用 ‘ ‘ 括起來
eg:‘Learn "Python"in imooc‘
- 字符串本身既包含 ‘ 又包含"
用 \進行轉義,轉義字符\不計入字符串內容中
eg:‘Bob said \"I \‘m OK\".‘
- 常見的轉義字符還有:
\n --> 換行
\t--->一個制表符
\\--->\字符本身
- 字符串‘xxx’和Unicode字符串u‘xxx’
- 字符串中的函數:
(1)upper() 把字符變成大寫字母
(2)isintance(x,str)可以判斷x是否是字符串
(3)str.capitalize(s) s字符串首字母大寫
(4)str.strip(rm):刪除str字符串中開頭、結尾處的rm序列的字符;當rm為空時,默認刪除空白符(包括’\n’,’\r’,’\t’,’ ’)。
- raw字符串與多行字符串
在字符串前面加一個前綴r,表示這是一個raw字符串,裏面的字符不需要轉義了例如:r‘\^_^/‘
如果表示多行字符串,可以用‘‘‘.........‘‘‘表示,也可以用r‘‘‘.......‘‘‘表示
- Unicode字符串 用u‘.....‘表示
Unicode字符串除了多了一個u之外,與普通字符沒啥區別,轉義字符和多行表示法仍然有效
3、整數和浮點數
- 整數運算結果仍然是整數,浮點數運算結果仍然是浮點數,整數和浮點數運算結果就變成浮點數了
- 整數除法,即使除不盡,結果仍然是整數
- %為求余
- 如果想著精確結果,把其中一個整數變成浮點數
4、布爾類型
- True False 與(and)或(or) 非(not)
- Python中把0、空字符串‘‘和None看成False,其他數值和非空字符串都堪稱True
5、list
- 創建list list是一個有序的集合,可以隨時添加和刪除其中的元素
- 用[]表示
- python為動態語言,所以list中包含的元素並不要求都必須是同一種數據類型。
- 索引從0開始 註意不要越界
- -1這個索引表示最後一個元素註意不要越界
- list中的函數:
(1)添加新元素 添加到尾部 --> append()
(2)添加新元素 ---> insert() 兩個參數,一個是索引號,第二個是添加的新元素
(3)刪除元素 ---->pop() 刪除最後一個元素並且還返回這個元素 如果想刪除指定下標的元素為pop(下標值)
(4)替換元素 ---->L[2]=‘Mise‘
(5)zip()函數可以把兩個list變成一個list
6、tuple 元祖
- tuple 元組創建完後不能修改了
- 用()表示
- 創建單元素的tuple ---> t=(1,) 不加逗號會被認為是將1賦值給t
- 可以借助list創建“可變”的tuple 但是變得只是list t=(‘a‘,‘b‘,[‘A‘,‘B‘])
- tuple中的不變指的是,tuple中的元素,指向永遠不變
7、if語句
註意:if語句縮進為四個空格
if後接表達式然後用:表示代碼塊開始、
8、dict字典
- 字典dict key-value 用{}表示
- dict就是通過key來尋找value的
- 可以用len()計算長度 一個key-value算一個
- dict的特點:
(1)查找速度快
(2)不論個數,速度都一樣但是list會隨著元素增加而逐漸下降
但是dict占用內存大,會浪費很多內容,list占用內存小。
(3)由於dict是按key查找的,所以,在同一個dict中,key不能重復
(4)存儲的key-value序對是沒有順序的
(5)作為key的元素必須不可變
9、set
使用場景:
有的時候,我們只想要dict的key,不關心key對應的value,目的是保證這個集合的元素不會重復,這時,就用set
特點:
元素不重復,而且是無序的
Set會自動去掉重復的元素
與dict很像,但是不存儲value
與dict中的key類似,必須是不變對象
10、函數
- 函數就是最基本的一種代碼抽象的方式
- 調用函數:
需要知道函數的名稱和參數
- 編寫函數:
要使用def語句,依次寫出函數名、括號、括號中的參數和冒號:,然後,在縮進塊中編寫函數體,用return語句返回函數值。
- 註意:函數體內的語句在執行時,一旦執行到return時,函數就執行完畢,並將結果返回。
- 如果沒有return語句,函數執行完畢後也會返回結果,只是結果為None。
- return None可以簡寫為return。
- 定義默認參數
例如int()函數
int(‘123‘)
int(‘123‘,8) #第二個參數是轉換進制,不傳,默認是十進制,如果傳了,就用傳入的參數
- 函數的默認參數的作用是簡化調用。
- 由於函數的參數按從左到右匹配,所以默認參數只能定義在必須參數後面。
11、叠代
Python中,如果給定一個list或者tuple,我們都可以通過for循環來遍歷這個list或著tuple,這種遍歷成為叠代
For循環可用於其他可叠代對象上
集合是指包含一組元素的數據結構,
1、有序集合:list,tuple,str和Unicode
2、無序集合:set
3、無序集合並且具有key-value對:dict
叠代與按下標訪問數組的最大不同是,後者是一種具體的叠代實現方式,而前者只關心叠代結果,根本不關心叠代內部是如何實現的。
索引叠代 ---- enumerate()函數自動把每個元素變成(index,element)這樣的tuple,再叠代,就同時獲得了索引和元素本身。
叠代dict中的value
dict對象有個values()方法,返回包含所有value的list
Dict對象還有一個itervalues()方法
兩種方法不同之處:
values()方法實際上把一個dict轉換成了包含value的list
但是itervalues()方法不會轉換,它會在叠代過程中依次從dict中取出value,所以itervalues()方法比values()方法節省了生成list所需的內存
打印itervalues()發現它返回了一個<dictionary-valueiterator>對象,這說明在python中,for循環可作用的叠代對象遠不止list,tuple,str,Unicode,dict等,任何可叠代對象都可以作用於for循環
如果一個對象說自己可叠代,我們就直接用for循環去叠代它,可見,叠代是一種抽象的數據操作,他不對叠代對象內部的數據有任何要求。
叠代dict中的value和key:----用items()或者iteritems()方法
生成列表:
[x*x for x in range(1,11)]
條件過濾:
[x*x for x in range(1,11) if x%2==0]
多層表達式:for循環嵌套for循環
[m+n for m in ‘ABC’for n in ‘123’]
相當於:
L=[] for m in ‘ABC‘: for n in ‘123‘: L.append(m+n)
Python中的基本類型簡介