Python基礎知識梳理 - 第02部分

來源:互聯網
上載者:User

標籤:Python基礎知識   核心資料類型   


本文是Python基礎知識的第二篇, 主要是對內建物件類型的介紹, 涉及的類型如下表.




數字類型

在Python中, 數字並不是一個真正的物件類型, 而是一組類似類型的分類, 如整數和浮點數, 複數等. Python還提供了若干處理數字對象的工具, 如內建數學函數pow, abs等, 標準庫math, random等.


看下數位簡單使用.

In [15]: 123 + 234

Out[15]: 357


In [16]: 1.5 * 4

Out[16]: 6.0


In [32]: pow(2, 10)

Out[32]: 1024


In [36]: import math


In [37]: math.pi

Out[37]: 3.141592653589793


In [38]: math.sqrt(44)

Out[38]: 6.6332495807108


In [39]: import random


In [40]: random.random()

Out[40]: 0.7181549555607203


In [41]: random.randint(1, 44)

Out[41]: 36


 

字串類型

其為有序的字元的集合, 不能原地修改(不可變序列).


建立字串常量

單引號

In [42]: 'spa"m'

Out[42]: 'spa"m'


雙引號

In [43]: "spa'm"

Out[43]: "spa'm"


三引號

In [44]: '''...spam...'''

Out[44]: '...spam...'


In [45]: """...spam..."""

Out[45]: '...spam...'


字串的基本操作 - 擷取長度, 索引和分區

In [46]: S = 'spam'


In [76]: len(S)

Out[76]: 4


In [47]: S[0]

Out[47]: 's'


In [48]: S[-1]

Out[48]: 'm'


In [49]: S[1:3]

Out[49]: 'pa'


In [50]: S[:]

Out[50]: 'spam'


In [51]: S[:-1]

Out[51]: 'spa


字串的方法 - 方法是和特定對象相關聯在一起的函數, 使用如S.upper(), 從對象角度看, 其為對象的屬性, 而該屬性是可調用的函數. 那如何查看對象有哪些屬性, 及方法的作用呢, 可通過內建的dir, help函數.




In [68]: dir(S)

Out[68]:

['__add__',

 '__class__',

 'rstrip',

 'split',


In [70]: help(S.split)


Help on built-in function split:


split(...)

    S.split([sep [,maxsplit]]) -> list of strings


    Return a list of the words in the string S, using sep as the

    delimiter string.  If maxsplit is given, at most maxsplit

    splits are done. If sep is not specified or is None, any

    whitespace string is a separator and empty strings are removed

    from the result.

(END)



清單類型

其為任意類型對象的有序集合, 大小可變, 可嵌套(可變序列).


建立列表

In [72]: L = []


In [73]: L = [1, 2, 3, 4]


In [74]: L = ['abc', ['def', 'ghi']]


列表的基本操作 - 擷取長度, 索引, 分區和原處修改

In [77]: L = ['spam', 'Spam', 'SPAM!']


In [78]: len(L)

Out[78]: 3


In [79]: L[1]

Out[79]: 'Spam'


In [80]: L[0:2]

Out[80]: ['spam', 'Spam']


In [81]: L[0:2] = ['eat', 'more']


In [82]: L

Out[82]: ['eat', 'more', 'SPAM!']


列表的方法, 查看思路同上, 此處略.



字典類型

其為通過鍵來讀取的一系列索引值對, 也叫關聯陣列或散列表, 任意類型對象的無序集合, 大小可變, 可嵌套(可變映射).


建立字典

In [84]: D = {}


In [85]: D = {'spam': 2, "eggs": 3}


In [86]: D = dict(name='Bob', age=42)


字典的基本操作 - 擷取長度, 訪問某項和原處修改

In [92]: D = {'spam': 2, "ham": 1, "eggs": 3}


In [93]: len(D)

Out[93]: 3


In [94]: D['spam']

Out[94]: 2


In [95]: D['spam'] = 4


In [96]: del D['eggs']


In [97]: D

Out[97]: {'ham': 1, 'spam': 4}


字典的方法, 略.



元群組類型

其為任意類型對象的有序集合, 大小不可變(不可變序列).


建立元組

In [98]: T = ()


In [99]: T = (4,)


In [100]: T = ('a', 'b', 'c')


In [102]: T = 'a', 'b', 'c'


元組的基本操作 - 擷取長度, 索引和分區

In [104]: T = ('a', 'b', 'c', 'd')


In [106]: len(T)

Out[106]: 4


In [107]: T[2]

Out[107]: 'c'


In [108]: T[1:3]

Out[108]: ('b', 'c')


元組的方法, 略.



集合類型

其為唯一的, 不可變對象的無序集合; 一個項在集合中只能出現一次, 不管將它添加多少次, 這些對象支援與數學集合理論相對應的操作.  


建立集合

In [110]: set('spam')

Out[110]: {'a', 'm', 'p', 's'}


In [123]: {'a', 'm', 'p', 's', 'a'}

Out[123]: {'a', 'm', 'p', 's'}


集合的基本操作 - 擷取長度, 交集, 並集和差集

In [116]: S1 = {1, 2, 3, 4}


In [117]: S2 = {3, 4, 5}


In [118]: len(S1)

Out[118]: 4


In [119]: S1 & S2

Out[119]: {3, 4}


In [122]: S1 | S2

Out[122]: {1, 2, 3, 4, 5}


In [121]: S1 - S2

Out[121]: {1, 2}


集合的方法, 略.  



對於檔案等其它類型對象, 這裡暫且不說明了, 隨著學習的深入, 慢慢會接觸到.



通過上述總結, 可看到Python中提供了像dir()或len()這樣的內建函數, 也有像S.upper()或D.keys()這樣的方法調用, 那麼兩者間有什麼區別呢...


對於多種類型的通用型操作, 都是以內建函數或運算式的方式提供的(如len(S), S[0]); 對於特定類型的操作, 都是以方法調用的形式提供的(如S.upper()). 



類型對象分類


根據訪問方式分類

1. 數字 - 支援加法和乘法


2. 序列(字串, 列表, 元組) - 支援索引和分區


3. 映射 - 通過索引值訪問


根據可變性分類

1. 不可變(數字, 字串, 元組) - 不支援原處修改


2. 可變(列表, 字典, 集合) - 支援原處修改


若感興趣可關注訂閱號”資料庫最佳實務”(DBBestPractice).

Python基礎知識梳理 - 第02部分

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.