速擼《python學習手冊》--第4章-介紹python對象類型

python的組成全景:

  • 程序由模塊構成
  • 模塊包含語句
  • 語句包含表達式
  • 表達式建立并處理對象

python的內(nèi)置對象:

  • 數(shù)字
  • 字符串
  • 列表
  • 字典
  • 元組
  • 文件
  • 集合
  • 其他類型: 類型缝彬、None、布爾型
  • 編程單元類型: 函數(shù)楔敌、類抡谐、模塊
  • 與實現(xiàn)相關的類型: 編譯的代碼堆棧跟蹤

數(shù)字

數(shù)字包含:整數(shù)射窒、浮點數(shù)、復數(shù)暖混、十進制數(shù)战坤、帶分子和分母的有理分數(shù)以及集合

注意:python的整數(shù)類型會自動提供額外的精度

python的命令行交互方法調(diào)用的是repr莲镣,而print調(diào)用的str

字符串

字符串就是序列中的元素包含了一個從左到右的順序—序列中的元素根據(jù)它們的相對位置進行儲存和讀取福稳。從嚴格意思上來說,字符串是單個字符的字符串的序列瑞侮,其他類型的序列還包括列表和元組的圆。

序列的操作

  • len()
  • 切片
  • S[-1] 和 S[len(s)-1] 結(jié)果相等
  • S[:] 可以作為復制

不可變性

類型特定的方法

  • .find()

  • .replace()

  • .split()

  • .upper()

  • .isalpha()

  • .isupper()

  • .strip()

尋求幫助

  • dir(s) :顯示可以調(diào)用的方法
  • help(s.replace) :顯示幫助信息

列表

列表是一個任意類型的對象的位置相關的有序集合。其大小可變半火。

序列操作

L 是一個list

  • len()

  • L+L[:2]

類型特定的操作

  • l.append()
  • l.pop()
  • l.sort()
  • l.reverse()

邊界檢查

python不允許引用和賦值列表不存在的元素越妈。

嵌套

列表可以嵌套,這樣即形成了多重列表钮糖。

列表解析

  • [row[1] for row in M if row[1] % 2 == 0]

列表解析的速度有優(yōu)勢

注意梅掠,將列表表達式的中括號換成括號,列表表達式將會變成一個生成器店归。

In [8]: M=[1,2,3,4,5,6,7,8,9]

In [11]: G=(row*2 for row in M)

In [12]: next(G)

解析語法同樣可以創(chuàng)建集合和字典

In [22]: M=[[1,2,3],[4,5,6],[7,8,9]]

In [23]: {sum(row) for row in M}
Out[23]: {6, 15, 24}

In [24]: {i: sum(M[i]) for i in range(3)}
Out[24]: {0: 6, 1: 15, 2: 24}

字典

字典就是一種映射阎抒,他并不是基于位置映射,而是基于key來映射

映射操作

即可以通過key來獲得字典的value

重訪嵌套

即字典可以值內(nèi)嵌套字典

鍵的排序:for循環(huán)

d 是一個字典

  • d.keys()
  • for key in s : 循環(huán)的是key
  • d.items()
  • d.values()

迭代和優(yōu)化

列表表達式就是一個迭代工具娱节。

不存在的鍵: if 測試

In [42]: 'f' in d
Out[42]: False

In [43]: if not 'f' in d:print('not in')
not in

In [46]: d['x'] if 'x' in d else 0
Out[46]: 0

In [47]: d.get('x',0)
Out[47]: 0

元組

元組是一個不可變的列表,他提供了完整的約束挠蛉。

  • .index()
  • .count()

文件

文件對象是python代碼對電腦上外部文件的主要接口祭示。

沒有特定的常量語法創(chuàng)建文件肄满,如果需要創(chuàng)建一個文件對象谴古,需調(diào)用內(nèi)置的open函數(shù)以字符串的形式傳遞給他它一個外部的文件名以及一個處理模式的字符串。

其他核心類型

# 例如集合
In [48]: X=set('spam')

In [49]: Y={'h','a','m'}

In [50]: X,Y
Out[50]: ({'a', 'm', 'p', 's'}, {'a', 'h', 'm'})

In [51]: X&Y
Out[51]: {'a', 'm'}

In [52]: X|Y
Out[52]: {'a', 'h', 'm', 'p', 's'}

In [53]: X-Y
Out[53]: {'p', 's'}
    
  
# 固定精度浮點數(shù)
In [54]: 1/3
Out[54]: 0.3333333333333333

In [55]: (2/3)+(1/2)
Out[55]: 1.1666666666666665

In [56]: import decimal

In [57]: d=decimal.Decimal('3.141')

In [58]: d+1
Out[58]: Decimal('4.141')

In [59]: decimal.getcontext().prec=2

In [60]: decimal.Decimal('1.00') / decimal.Decimal('3.00')
Out[60]: Decimal('0.33')

如何破壞代碼的靈活性

用戶定義的類

習題

  1. 什么是不可變稠歉?

即創(chuàng)建之后就不可以被改變掰担,數(shù)字、字符串和元組都屬于這個分類怒炸。

  1. 什么是’序列‘带饱?

即對位置排序的對象和集合。字符串阅羹、列表和元組都在這個分類勺疼,他們有共同的操作是索引、合并和切片捏鱼。

  1. 什么是’映射‘执庐?

即將鍵和相關值相互關聯(lián)映射的對象。字典屬于此類导梆。

  1. 什么是多態(tài)轨淌?

多態(tài)意味著一個操作符的意義區(qū)別于被操作的對象。python的關鍵思想就是多態(tài)看尼,不要把代碼限制在特定的類型上递鹉,使代碼自動適用于多種類型。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末藏斩,一起剝皮案震驚了整個濱河市躏结,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌狰域,老刑警劉巖窜觉,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異北专,居然都是意外死亡禀挫,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門拓颓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來语婴,“玉大人,你說我怎么就攤上這事驶睦∨樽螅” “怎么了?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵场航,是天一觀的道長缠导。 經(jīng)常有香客問我,道長溉痢,這世上最難降的妖魔是什么僻造? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任憋他,我火速辦了婚禮,結(jié)果婚禮上髓削,老公的妹妹穿的比我還像新娘竹挡。我一直安慰自己,他們只是感情好立膛,可當我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布揪罕。 她就那樣靜靜地躺著,像睡著了一般宝泵。 火紅的嫁衣襯著肌膚如雪好啰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天儿奶,我揣著相機與錄音坎怪,去河邊找鬼。 笑死廓握,一個胖子當著我的面吹牛搅窿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播隙券,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼男应,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了娱仔?” 一聲冷哼從身側(cè)響起沐飘,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎牲迫,沒想到半個月后耐朴,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡盹憎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年筛峭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片陪每。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡影晓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出檩禾,到底是詐尸還是另有隱情挂签,我是刑警寧澤,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布盼产,位于F島的核電站饵婆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏戏售。R本人自食惡果不足惜侨核,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一草穆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧芹关,春花似錦续挟、人聲如沸紧卒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽跑芳。三九已至轴总,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間博个,已是汗流浹背怀樟。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留盆佣,地道東北人往堡。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像共耍,于是被迫代替她去往敵國和親虑灰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內(nèi)容