我的筆記4.7:慕課網(wǎng)python入門-廖雪峰

說一下最近的想法吧腹备,借助大媽的這句話:“現(xiàn)在是學(xué)習(xí)程序的最佳時期哎迄,學(xué)會編程回右,至少創(chuàng)業(yè)的時候不用滿世界哭著喊著去找程序員∈浚”確實如此翔烁,這幾天在忙著組建團(tuán)隊做創(chuàng)業(yè)大賽的事情,有很多idea旨涝,但是由于團(tuán)隊缺少程序猿蹬屹,不知道很多創(chuàng)意是否能夠真正的去實現(xiàn)。文科生出身的虎平老師目前也是處于這樣的困境中颊糜,所以才會不斷地高呼“CS大法好”吧哩治!

下面是今天用了兩個番茄鐘(50min)學(xué)習(xí)的python基礎(chǔ)語句。
正如caos所說的那樣衬鱼,這些基礎(chǔ)語句要像形成肌肉記憶一樣才可以业筏。

你看或許每天50的分鐘就可以幫你走出困境呢~

if語句

注意: Python代碼的縮進(jìn)規(guī)則.
縮進(jìn)請嚴(yán)格按照Python的習(xí)慣寫法:4個空格,不要使用Tab鸟赫,更不要混合Tab和空格蒜胖,否則很容易造成因為縮進(jìn)引起的語法錯誤。

注意: if 語句后接表達(dá)式抛蚤,然后用:表示代碼塊開始台谢。

如果你在Python交互環(huán)境下敲代碼,還要特別留意縮進(jìn)岁经,并且退出縮進(jìn)需要多敲一行回車:

if...else

這兩種條件判斷是“非此即彼”的朋沮,要么符合條件1,要么符合條件2缀壤,因此樊拓,完全可以用一個 if ... else ...語句把它們統(tǒng)一起來
注意: else 后面有個“:”纠亚。

if-elif-else

多層嵌套語句
if
elif
elif
else

for循環(huán)

for 循環(huán)就可以依次把list或tuple的每個元素迭代出來
for 變量 in。筋夏。蒂胞。

while循環(huán)

while循環(huán)每次先判斷 x < N,如果為True条篷,則執(zhí)行循環(huán)體的代碼塊骗随,否則,退出循環(huán)赴叹。

在循環(huán)體內(nèi)鸿染,x = x + 1 會讓 x 不斷增加,最終因為 x < N 不成立而退出循環(huán)稚瘾。

如果沒有這一個語句牡昆,while循環(huán)在判斷 x < N 時總是為True姚炕,就會無限循環(huán)下去摊欠,變成死循環(huán),所以要特別留意while循環(huán)的退出條件柱宦。

break退出循環(huán)

用 for 循環(huán)或者 while 循環(huán)時些椒,如果要在循環(huán)體內(nèi)直接退出循環(huán),可以使用 break 語句掸刊。

continue繼續(xù)循環(huán)

在循環(huán)過程中免糕,可以用break退出當(dāng)前循環(huán),還可以用continue跳過后續(xù)循環(huán)代碼忧侧,繼續(xù)下一次循環(huán)石窑。
注意:continue判斷的位置非常重要。

多重循環(huán)

在循環(huán)內(nèi)部蚓炬,還可以嵌套循環(huán)松逊,我們來看一個例子:

for x in ['A', 'B', 'C']:
for y in ['1', '2', '3']:
print x + y
x 每循環(huán)一次,y 就會循環(huán) 3 次肯夏,這樣经宏,我們可以打印出一個全排列:
A1
A2
A3
B1
B2
B3
C1
C2
C3

什么是dict

e.g學(xué)生名字和成績對應(yīng)的2list合成一個list。
我們把名字稱為key驯击,對應(yīng)的成績稱為value烁兰,dict就是通過 key 來查找 value。
花括號 {} 表示這是一個dict徊都,然后按照 key: value, 寫出來即可沪斟。最后一個 key: value 的逗號可以省略。

由于dict也是集合暇矫,len() 函數(shù)可以計算任意集合的大兄髦:
len(d)
3
注意: 一個 key-value 算一個轨域,因此,dict大小為3杀餐。

訪問dict

如何根據(jù)名字來查找對應(yīng)的成績呢干发?

可以簡單地使用 d[key] 的形式來查找對應(yīng)的 value,這和 list 很像史翘,不同之處是枉长,list 必須使用索引返回對應(yīng)的元素,而dict使用key:

注意: 通過 key 訪問 dict 的value琼讽,只要 key 存在必峰,dict就返回對應(yīng)的value。如果key不存在钻蹬,會直接報錯:KeyError吼蚁。

要避免 KeyError 發(fā)生,有兩個辦法:

一是先判斷一下 key 是否存在问欠,用 in 操作符:

if 'Paul' in d:
print d['Paul']

while循環(huán)

while循環(huán)每次先判斷 x < N肝匆,如果為True,則執(zhí)行循環(huán)體的代碼塊顺献,否則旗国,退出循環(huán)。

在循環(huán)體內(nèi)注整,x = x + 1 會讓 x 不斷增加能曾,最終因為 x < N 不成立而退出循環(huán)。
如果沒有這一個語句肿轨,while循環(huán)在判斷 x < N 時總是為True寿冕,就會無限循環(huán)下去,變成死循環(huán)椒袍,所以要特別留意while循環(huán)的退出條件驼唱。

break退出循環(huán)

用 for 循環(huán)或者 while 循環(huán)時,如果要在循環(huán)體內(nèi)直接退出循環(huán)槐沼,可以使用 break 語句曙蒸。

continue繼續(xù)循環(huán)

在循環(huán)過程中,可以用break退出當(dāng)前循環(huán)岗钩,還可以用continue跳過后續(xù)循環(huán)代碼纽窟,繼續(xù)下一次循環(huán)。
注意:continue判斷的位置非常重要兼吓。

多重循環(huán)

在循環(huán)內(nèi)部臂港,還可以嵌套循環(huán),我們來看一個例子:

for x in ['A', 'B', 'C']:
for y in ['1', '2', '3']:
print x + y
x 每循環(huán)一次,y 就會循環(huán) 3 次审孽,這樣县袱,我們可以打印出一個全排列:
A1
A2
A3
B1
B2
B3
C1
C2
C3
如果 'Paul' 不存在,if語句判斷為False佑力,自然不會執(zhí)行 print d['Paul'] 式散,從而避免了錯誤。
二是使用dict本身提供的一個 get 方法打颤,在Key不存在的時候暴拄,返回None
print d.get('Bart')
59
print d.get('Paul')
None

dict的特點

1\查找速度快,無論dict有10個元素還是10萬個元素编饺,查找速度都一樣乖篷。而list的查找速度隨著元素增加而逐漸下降。
不過dict的查找速度快不是沒有代價的透且,dict的缺點是占用內(nèi)存大撕蔼,還會浪費很多內(nèi)容,list正好相反秽誊,占用內(nèi)存小鲸沮,但是查找速度慢。

由于dict是按 key 查找养距,所以诉探,在一個dict中,key不能重復(fù)棍厌。
2\存儲的key-value序?qū)κ菦]有順序的!這和list不一樣
打印的順序不一定是我們創(chuàng)建時的順序竖席,而且耘纱,不同的機(jī)器打印的順序都可能不同,這說明dict內(nèi)部是無序的毕荐,不能用dict存儲有序的集合束析。

3\dict的第三個特點是作為 key 的元素必須不可變,Python的基本類型如字符串憎亚、整數(shù)员寇、浮點數(shù)都是不可變的,都可以作為 key第美。但是list是可變的蝶锋,就不能作為 key。

更新dict

要在原來的里面加新元素什往,直接用賦值語句扳缕。
e.g要把新同學(xué)'Paul'的成績 72 加進(jìn)去,用賦值語句:
d['Paul'] = 72

set的特點

set的內(nèi)部結(jié)構(gòu)和dict很像,唯一區(qū)別是不存儲value躯舔,因此驴剔,判斷一個元素是否在set中速度很快。
set存儲的元素和dict的key類似粥庄,必須是不變對象丧失,因此,任何可變對象是不能放入set中的惜互。
最后利花,set存儲的元素也是沒有順序的。

遍歷set

由于 set 也是一個集合载佳,所以炒事,遍歷 set 和遍歷 list 類似,都可以通過 for 循環(huán)實現(xiàn)蔫慧。

直接使用 for 循環(huán)可以遍歷 set 的元素.
s = set(['Adam', 'Lisa', 'Bart'])
for name in s: ...
print name

更新set

由于set存儲的是一組不重復(fù)的無序元素挠乳,因此,更新set主要做兩件事:
一是把新的元素添加到set中姑躲,二是把已有元素從set中刪除睡扬。
添加元素時,用set的add()方法:
s.add(4)
刪除set中的元素時黍析,用set的remove()方法:
s.remove(4)
如果刪除的元素不存在set中卖怜,remove()會報錯。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末阐枣,一起剝皮案震驚了整個濱河市马靠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蔼两,老刑警劉巖甩鳄,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異额划,居然都是意外死亡妙啃,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門俊戳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來揖赴,“玉大人,你說我怎么就攤上這事抑胎≡锘” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵圆恤,是天一觀的道長突倍。 經(jīng)常有香客問我腔稀,道長,這世上最難降的妖魔是什么羽历? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任焊虏,我火速辦了婚禮,結(jié)果婚禮上秕磷,老公的妹妹穿的比我還像新娘诵闭。我一直安慰自己,他們只是感情好澎嚣,可當(dāng)我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布疏尿。 她就那樣靜靜地躺著,像睡著了一般易桃。 火紅的嫁衣襯著肌膚如雪褥琐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天晤郑,我揣著相機(jī)與錄音敌呈,去河邊找鬼。 笑死造寝,一個胖子當(dāng)著我的面吹牛磕洪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播诫龙,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼析显,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了签赃?” 一聲冷哼從身側(cè)響起谷异,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎姊舵,沒想到半個月后晰绎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡括丁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了伶选。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片史飞。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖仰税,靈堂內(nèi)的尸體忽然破棺而出构资,到底是詐尸還是另有隱情,我是刑警寧澤陨簇,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布吐绵,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏己单。R本人自食惡果不足惜唉窃,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望纹笼。 院中可真熱鬧纹份,春花似錦、人聲如沸廷痘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽笋额。三九已至元暴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間兄猩,已是汗流浹背茉盏。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留厦滤,地道東北人援岩。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像掏导,于是被迫代替她去往敵國和親享怀。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,573評論 2 359

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

  • 最近在慕課網(wǎng)學(xué)習(xí)廖雪峰老師的Python進(jìn)階課程趟咆,做筆記總結(jié)一下重點添瓷。 基本變量及其類型 變量 在Python中,...
    victorsungo閱讀 1,701評論 0 5
  • Python變量和數(shù)據(jù)類型 數(shù)據(jù)類型 print語句 注釋 Python的注釋以 # 開頭值纱,后面的文字直到行尾都算...
    Gaolex閱讀 2,821評論 5 55
  • Python 是一種相當(dāng)高級的語言鳞贷,通過 Python 解釋器把符合語法的程序代碼轉(zhuǎn)換成 CPU 能夠執(zhí)行的機(jī)器碼...
    Python程序媛閱讀 1,913評論 0 3
  • Python中整數(shù)和浮點數(shù) Python支持對整數(shù)和浮點數(shù)直接進(jìn)行四則混合運算搀愧,運算規(guī)則和數(shù)學(xué)上的四則運算規(guī)則完全...
    璽睿siri閱讀 734評論 0 0
  • 安化黑茶為什么能降三高、治痛風(fēng)和抗氧化與衰老疆偿? 為什么能降血壓咱筛? 答:高血壓是血管收縮壓與舒張壓超過正常水平而導(dǎo)致...
    馬紅彥閱讀 262評論 0 1