1. 程式人生 > >Python中的基本類型簡介

Python中的基本類型簡介

rip 作用 集合 成了 叠代 如果 增加 下劃線 等號

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中的基本類型簡介