Dive into Python Chapter 2&3

Chapter 2. 第一個(gè)程序

odbchelper.py

def buildConnecitonString(params):
  """Build a connection string from a dictionary of parameters.

  Returns string."""
  return ";".join(["%s=%s" % (k, v) for k, v in params.items()])

if __name__ == '__main__':
  myParams = {"server":"master", \
      "database":"master"}
  print(buildConnecitonString(myParams))

輸出結(jié)果

server=mpilgrim;uid=sa;database=master;pwd=secret

文檔化 doc string

三重引號(hào)"""包含的部分铺然,必須是函數(shù)定義的第一個(gè)內(nèi)容莲组,可通過(guò)_doc_屬性訪問(wèn)算色。

模塊導(dǎo)入的搜索路徑

>>> import sys
>>> sys.path
>>> sys.path.append('/my/new/path')

fibonacci函數(shù)

def fib(n):
  print('n=', n)
  if (n>1):
    return n*fib(n-1)
  else:
    print('end of the line')
    return 1

測(cè)試模塊

if __name__ == "__main__"

Chapter 3. 內(nèi)置數(shù)據(jù)類(lèi)型

  • Dictionary{}
  • List[]
  • Tuple()

3.1 Dictionary({})

定義

d = {"server":"mpilgrim", "database":"master"}

注意

  • Dictionary是無(wú)序的
  • Key大小寫(xiě)敏感

添加元素

d['udi']="abc"

刪除元素

del d['server']
d.clear()

3.2 List([])

定義

li = ["a","b","c"]

負(fù)的索引

非空l(shuí)ist最后一個(gè)元素總是li[-1]

分片slice

通過(guò)指定2個(gè)索引得到list子集勺择,注意不包括第二個(gè)索引指向的元素鲫构。
>>> li[1:3]
>>> li[1:-1]
>>> li[0:3]

slice簡(jiǎn)寫(xiě)

>>> li[:3]
>>> li[3:]
>>> li[:]

向list增加元素

>>> li.append("new")
>>> li.insert(2, "new")
>>> li.extend(["one","two"])

注意extendappend的區(qū)別
>>> li = ['a','b','c']
>>> li.extend(['d','e','f'])
['a','b','c','d','e','f']
>>> li.append(['d','e','f'])
['a','b','c',['d','e','f']]

檢索list

>>> list.index('c')

刪除元素

>>> list.remove('c')

list運(yùn)算符

>>> li = ['a','b']
>>> li += ['c','d']
  ['a','b','c','d']
>>> li = [1,2] * 3
  [1,2,1,2,1,2]

3.3 Tuple

定義

定義Tuple與List類(lèi)似卿泽,只是元素集用()包圍各谚,而不是[]紧憾。

Tuple沒(méi)有方法

不能進(jìn)行append, remove, index操作。

Tuple可以用作Dictionary的Key

3.4 變量

一次賦多值

>>> v = ('a','b','c')
>>> (x,y,z) = v

連續(xù)值賦值

>>> range(7)
>>> (Mon, Tue, Wed, Thu, Fri, Sat, Sun) = range(7)

格式化字符串

>>> userCount = 6
>>> print('Users connected: ' + userCount)
Traceback (innermost last):
File "<interactive input>", line 1, in ?
TypeError: cannot concatenate 'str' and 'int' objects

數(shù)值的格式化

>>> print("Today's price: %2f" % 50.4625)
50.46

3.6 映射list

Python的強(qiáng)大特性之一是對(duì)List的解析昌渤。
>>> li = [1,9,8,4]
>>> [elem*2 for elem in li]
[2,18,16,8]

Dictionary的keys, values, items函數(shù)

>>> params = {"srever":"mpilgrim", "database":"master"}
>>> params.keys()
['server','database']
>>> params.values()
['mpilgrim','master']
>>> params.items()
[('server','mpilgrim'),('database','master')]

注意元素在Dictionary中是無(wú)序的赴穗,所以params.keys()不是按dictionary定義的順序輸出。

List解析

>>> params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}
>>> params.items()
[('server', 'mpilgrim'), ('uid', 'sa'), ('database', 'master'), ('pwd', 'secret')]
>>> [k for k, v in params.items()]
['server', 'uid', 'database', 'pwd']
>>> [v for k, v in parmas.items()]
['mpilgrim', 'sa', 'master', 'secret']
>>> ["%s=%s" % (k, v) for k, v in params.items()]
['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']

連接list

>>> ";".join(["%s=%s" % (k, v) for k, v in params.items()])

注意join只能用于元素是字符串的list膀息;它不進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換般眉;連接存在非字符串元素的list時(shí)會(huì)引發(fā)異常。

分割字符串

>>> li = ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
>>> s = ";".join(li)
>>> s
'server=mpilgrim;uid=sa;database=master;pwd=secret
>>> s.split(";")
['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
>>> s.split(";",1)
['server=mpilgrim', 'uid=sa;database=master;pwd=secret']

split接受第二個(gè)參數(shù)潜支,它是要分割的次數(shù)

Tip: 用split搜索

anystring.split(delimiter, 1) 是一個(gè)有用的技術(shù)甸赃,在您想要搜索一個(gè)子串,然后分別處理字符前半部分 (即 list 中第一個(gè)元素) 和后半部分 (即 list 中第二個(gè)元素)時(shí)毁腿,使用這個(gè)技術(shù)辑奈。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市已烤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌妓羊,老刑警劉巖胯究,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異躁绸,居然都是意外死亡裕循,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)净刮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)剥哑,“玉大人,你說(shuō)我怎么就攤上這事淹父≈暧ぃ” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵暑认,是天一觀的道長(zhǎng)困介。 經(jīng)常有香客問(wèn)我,道長(zhǎng)蘸际,這世上最難降的妖魔是什么座哩? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮粮彤,結(jié)果婚禮上根穷,老公的妹妹穿的比我還像新娘姜骡。我一直安慰自己,他們只是感情好屿良,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布圈澈。 她就那樣靜靜地躺著,像睡著了一般管引。 火紅的嫁衣襯著肌膚如雪士败。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,328評(píng)論 1 310
  • 那天褥伴,我揣著相機(jī)與錄音谅将,去河邊找鬼。 笑死重慢,一個(gè)胖子當(dāng)著我的面吹牛饥臂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播似踱,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼隅熙,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了核芽?” 一聲冷哼從身側(cè)響起囚戚,我...
    開(kāi)封第一講書(shū)人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎轧简,沒(méi)想到半個(gè)月后驰坊,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡哮独,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年拳芙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片皮璧。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡舟扎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出悴务,到底是詐尸還是另有隱情睹限,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布惨寿,位于F島的核電站邦泄,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏裂垦。R本人自食惡果不足惜顺囊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蕉拢。 院中可真熱鬧特碳,春花似錦诚亚、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至益愈,卻和暖如春梢灭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蒸其。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工敏释, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人摸袁。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓钥顽,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親靠汁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蜂大,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

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

  • 一、python 變量和數(shù)據(jù)類(lèi)型 1.整數(shù) Python可以處理任意大小的整數(shù)蝶怔,當(dāng)然包括負(fù)整數(shù)奶浦,在Python程序...
    績(jī)重KF閱讀 1,714評(píng)論 0 1
  • 最近在慕課網(wǎng)學(xué)習(xí)廖雪峰老師的Python進(jìn)階課程,做筆記總結(jié)一下重點(diǎn)踢星。 基本變量及其類(lèi)型 變量 在Python中财喳,...
    victorsungo閱讀 1,701評(píng)論 0 5
  • http://python.jobbole.com/85231/ 關(guān)于專(zhuān)業(yè)技能寫(xiě)完項(xiàng)目接著寫(xiě)寫(xiě)一名3年工作經(jīng)驗(yàn)的J...
    燕京博士閱讀 7,583評(píng)論 1 118
  • 教程總綱:http://www.runoob.com/python/python-tutorial.html 進(jìn)階...
    健康哥哥閱讀 2,035評(píng)論 1 3
  • 我相信,如果有天堂扎瓶,那應(yīng)該是圖書(shū)館的模樣所踊。 學(xué)校圖書(shū)館進(jìn)門(mén)的臺(tái)面上,亂七八糟地疊放著讀者還來(lái)的書(shū)概荷,我看中了《島上書(shū)...
    井底女蛙閱讀 3,507評(píng)論 179 250