Python基礎(chǔ)(下)

閱讀本文大概需要:8分鐘


一命咐、Python交互界面


????????在Python剛安裝完的時候谬运,有提供了一個Shell交互工具溅呢,在開始菜單里面可以找到。


打開后的界面是這樣的炼蛤。


????????這個界面可以在菜單欄中直接打開妖爷,也可以打開系統(tǒng)的命令提示符(開始 - 所有程序 - 附件 - 命令提示符)中輸入python進入該界面。


在這個界面里理朋,可以直接輸入代碼執(zhí)行絮识,比如

???????我們可以看到,它可以直接進行計算嗽上,也可以把數(shù)值賦值給a和b次舌,再用a和b進行計算。而在進行比較的時候很明顯a是小于b的兽愤,所有a>b的情況下會返回一個False彼念,b>a則會返回一個True,這個就是布爾類型了浅萧。


????????在進行條件判斷時候逐沙,當一個條件返回True的時候,就算執(zhí)行該條件下的代碼洼畅,當返回False的時候吩案,就會跳過該代碼。比如:

????????因為a=100土思,b=200务热,a>b是不成立的,根據(jù)之前講的條件判斷邏輯,所以跳過了第一個print,執(zhí)行了第二個print同蜻。

????????在接下去的學習中,大部分內(nèi)容都可以直接在這個交互界面中練習冲甘。


二、List和Tuple


1途样、list


????????List這是python內(nèi)置的數(shù)據(jù)類型——列表江醇。它是一種有序的集合。舉個例子何暇,列出幾大球類名稱,并賦值給balls陶夜。它的格式是這樣子的


balls= ['足球','籃球','羽毛球','排球']

? ? ? ?這里的變量balls就是一個集合,它包含了足球裆站、籃球条辟、羽毛球黔夭、排球這幾個元素。在交互界面輸入balls就會打印出它的元素來羽嫡,如圖:


????????我們也可以直接根據(jù)參數(shù)的位置來打印參數(shù)(計算機中本姥,是從零開始計數(shù)的,所以第一個位置都是0杭棵,第二個位置是1)如圖:


也可以倒數(shù)著來


在Python中l(wèi)ist是可變的有序集合婚惫,可以通過Python內(nèi)置的函數(shù)做如下一些操作

  • 在list后面添加元素(使用append函數(shù));

  • 刪除指定位置的元素(使用pop函數(shù))魂爪;

  • 替換指定位置的元素(直接指定list某個位置的元素進行替換)先舷;

  • 添加元素到指定位置(insert函數(shù))。

    可參照下圖:

  • ????????list很靈活滓侍,它的元素可以是多種類型(整型密浑、字符串、布爾類型等等)的粗井,甚至是另一個list。例如:

    靈活的list

    L=['b',123,True,['小明','小花']]

    2街图、tuple


    ????????tuple也是有序的集合浇衬,基本和list相似,不同的是tuple是不可變的餐济,一開始給定什么元素就是什么元素耘擂,無法像list那樣進行操作。list是用[]括起來的絮姆,而tuple是用()括起來的醉冤。如

    tuple

    #tuple是用()的

    balls=('足球','籃球')

    #注:如果要定義只有一個元素的tuple篙悯,需要使用number2的寫法蚁阳。因為(1)在Python中就是1的意思,所有這里的number不是一個tuple鸽照,而是一個整數(shù)變量螺捐。

    number

    =(1)

    number2=(1,)

    #有一種定義可變的Tuple的方法,就是把Tuple的元素定義為list矮燎。這樣只是list這個元素不能變定血,list自己的元素是可以變的。如:

    t

    =('a','b',['c','d'])

    t[2][0]='f'#前面說過诞外,元素位置是從0開始的澜沟,所以這里的list位置是2,list中第一個元素位置是0

    t

    [2][1]='g'

    三峡谊、dict和set

    1茫虽、dict

    ????????dict是dictionary的簡稱刊苍,字典的意思。是Python內(nèi)置的席噩,如果你了解過其他語言的話班缰,它在其他語言中被稱為map。是以(key-value)的形式保存數(shù)據(jù)的 悼枢,查詢的速度很快埠忘。

    代碼示例

    #考試結(jié)束后,公布成績馒索,通過同學的名字查找對應(yīng)的成績莹妒,如果用list的話就需要兩個list

    names = ['小明', '小花', '大偉']

    scores = [95, 75, 85]

    #用dict的話是這樣的,注意大括號

    result = {'小明': 95, '小花': 75, '大偉': 85}

    #查詢小明成績

    result['小明']


    ????????在dict中绰上,一個key只對應(yīng)一個value旨怠,也就是說小明對應(yīng)的就是95分。如果把95改為85蜈块,那么小明對應(yīng)的就是85分鉴腻。這這和現(xiàn)實情況是一樣的。


    新增一個key-value的話也很簡單

    #這樣就會存入一個key是小虎百揭,value是110的元素了爽哎。

    result['小虎']=110


    ????????如果key不存在的話,是查不到的器一。在程序中直接查詢一個不存在的key會導致程序出錯课锌。在python中有兩種方法來判斷一個key是否存在于一個dict中。

    #有英語基礎(chǔ)的話應(yīng)該很好理解這個代碼的含義祈秕,如果小明有在result中的話渺贤,程序會返回一個True,否則返回一個False

    '小明'

    inresult

    # 用get的話请毛,如果沒有設(shè)置一個返回參數(shù)志鞍,那么key不存在時,就會返回None方仿,如果設(shè)置了返回參數(shù)述雾,如-1,則會不存在時會返回-1.

    result

    .get('小明')

    result.get('小明',-1)


    刪除一個dict中的元素和list有點類似

    #刪除成功的話兼丰,會返回小明對應(yīng)的value

    result.pop('小明')


    dict不是有序的玻孟,它存放元素的順序和放入元素的順序無關(guān)。


    ????????跟list比起來它插入速度和查詢速度很快鳍征,不會隨著元素的增加而變慢黍翎,而list會隨著元素的增加而越來越慢。再一個就是dict相對會比較占用資源艳丛。

    可以理解為匣掸,dict是用空間換取了時間趟紊。雖然占用更多內(nèi)存資源,但是速度更快碰酝,節(jié)省了時間霎匈。



    2、set


    ????????set和dict相似送爸,區(qū)別在于它只有key铛嘱,沒有value。所以袭厂,它的key是不能有重復的墨吓。(在dict中輸入同一個key,其實也是覆蓋原有key的value)纹磺,創(chuàng)建一個set帖烘,需要提供一個list為輸入集合,如

    s = set([1,22,333])

    ?????????雖然傳入的是一個list的元素橄杨,但是實際上它的長度是三個元素秘症。如果傳入的list有重復的元素,它會自動過濾掉重復的元素式矫。


    添加元素的話是用add函數(shù)历极,它支持添加重復元素,不過不起效果衷佃。

    #添加4到s里

    s.add(4)

    刪除元素是用remove函數(shù)。

    s.remove(4)

    ????????set的元素也是無序的且沒有重復蹄葱。如果有兩個set氏义,我們也可以對它做交集、并集的操作進行元素過濾图云。如


    s1 = set([1,2,3,4])

    s2 = set([3,4,5,6])


    #&和數(shù)學中的交集含義相似

    s1 & s2


    # | 和數(shù)學中并集含義相似

    s1 | s2


    至于執(zhí)行結(jié)果什么樣惯悠,在交互界面打印一下就知道了。


    四竣况、循環(huán)

    1克婶、for和while


    ????????在上面中,我們知道丹泉,如果直接輸入balls會打印出balls中所有的元素情萤。那么,如果我們想一個一個打印出來呢摹恨?那就得用到循環(huán)了筋岛。循環(huán)有兩種寫法:

    #用for來寫循環(huán)

    balls=['a','b','c','d']

    for ball in balls:

    ????print(ball)

    #用while來寫循環(huán),計算1+2+3+4晒哄;n++是指n=n+1

    n=0

    sum=0

    whilen<5:

    ????sum=sum+n

    ????n++

    print(sum)


    2睁宰、break和continue


    ????????在循環(huán)中添加break的話肪获,是指直接結(jié)束循環(huán);而添加continue的話是指跳過本次循環(huán)進入下一次循環(huán)柒傻。

    continue用法


    n=0

    whilen<10:

    ????????n=n+1

    ????????ifn%2==0:# 如果n是偶數(shù)孝赫,執(zhí)行continue語句

    ????????????continue# continue語句會直接繼續(xù)下一輪循環(huán),后續(xù)的print()語句不會執(zhí)行

    ????print(n)


    break用法


    n=1

    while? n<=100:

    ????????ifn>10:# 當n = 11時红符,條件滿足青柄,執(zhí)行break語句

    ????????????break# break語句會結(jié)束當前循環(huán)

    ????????print(n)

    ????????n=n+1

    print('END')



    長按下面按鈕,關(guān)注本公眾號违孝,一起交流學習吧刹前!

    ?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
    • 序言:七十年代末,一起剝皮案震驚了整個濱河市雌桑,隨后出現(xiàn)的幾起案子喇喉,更是在濱河造成了極大的恐慌,老刑警劉巖校坑,帶你破解...
      沈念sama閱讀 210,978評論 6 490
    • 序言:濱河連續(xù)發(fā)生了三起死亡事件拣技,死亡現(xiàn)場離奇詭異,居然都是意外死亡耍目,警方通過查閱死者的電腦和手機膏斤,發(fā)現(xiàn)死者居然都...
      沈念sama閱讀 89,954評論 2 384
    • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來邪驮,“玉大人莫辨,你說我怎么就攤上這事∫惴茫” “怎么了沮榜?”我有些...
      開封第一講書人閱讀 156,623評論 0 345
    • 文/不壞的土叔 我叫張陵,是天一觀的道長喻粹。 經(jīng)常有香客問我蟆融,道長,這世上最難降的妖魔是什么守呜? 我笑而不...
      開封第一講書人閱讀 56,324評論 1 282
    • 正文 為了忘掉前任型酥,我火速辦了婚禮,結(jié)果婚禮上查乒,老公的妹妹穿的比我還像新娘弥喉。我一直安慰自己,他們只是感情好玛迄,可當我...
      茶點故事閱讀 65,390評論 5 384
    • 文/花漫 我一把揭開白布档桃。 她就那樣靜靜地躺著,像睡著了一般憔晒。 火紅的嫁衣襯著肌膚如雪藻肄。 梳的紋絲不亂的頭發(fā)上蔑舞,一...
      開封第一講書人閱讀 49,741評論 1 289
    • 那天,我揣著相機與錄音嘹屯,去河邊找鬼攻询。 笑死,一個胖子當著我的面吹牛州弟,可吹牛的內(nèi)容都是我干的钧栖。 我是一名探鬼主播,決...
      沈念sama閱讀 38,892評論 3 405
    • 文/蒼蘭香墨 我猛地睜開眼婆翔,長吁一口氣:“原來是場噩夢啊……” “哼拯杠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起啃奴,我...
      開封第一講書人閱讀 37,655評論 0 266
    • 序言:老撾萬榮一對情侶失蹤潭陪,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后最蕾,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體依溯,經(jīng)...
      沈念sama閱讀 44,104評論 1 303
    • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
      茶點故事閱讀 36,451評論 2 325
    • 正文 我和宋清朗相戀三年瘟则,在試婚紗的時候發(fā)現(xiàn)自己被綠了黎炉。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
      茶點故事閱讀 38,569評論 1 340
    • 序言:一個原本活蹦亂跳的男人離奇死亡醋拧,死狀恐怖慷嗜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情丹壕,我是刑警寧澤庆械,帶...
      沈念sama閱讀 34,254評論 4 328
    • 正文 年R本政府宣布,位于F島的核電站雀费,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏痊焊。R本人自食惡果不足惜盏袄,卻給世界環(huán)境...
      茶點故事閱讀 39,834評論 3 312
    • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望薄啥。 院中可真熱鬧辕羽,春花似錦、人聲如沸垄惧。這莊子的主人今日做“春日...
      開封第一講書人閱讀 30,725評論 0 21
    • 文/蒼蘭香墨 我抬頭看了看天上的太陽到逊。三九已至铣口,卻和暖如春滤钱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背脑题。 一陣腳步聲響...
      開封第一講書人閱讀 31,950評論 1 264
    • 我被黑心中介騙來泰國打工件缸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人叔遂。 一個月前我還...
      沈念sama閱讀 46,260評論 2 360
    • 正文 我出身青樓他炊,卻偏偏與公主長得像,于是被迫代替她去往敵國和親已艰。 傳聞我的和親對象是個殘疾皇子痊末,可洞房花燭夜當晚...
      茶點故事閱讀 43,446評論 2 348

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

    • 一、Python中數(shù)據(jù)類型 計算機顧名思義就是可以做數(shù)學計算的機器哩掺,因此凿叠,計算機程序理所當然地可以處理各種數(shù)值。但...
      大嘴蝸牛閱讀 1,001評論 0 5
    • 一疮丛、python 變量和數(shù)據(jù)類型 1.整數(shù) Python可以處理任意大小的整數(shù)幔嫂,當然包括負整數(shù),在Python程序...
      績重KF閱讀 1,658評論 0 1
    • 與或運算 在計算 a and b 時誊薄,如果 a 是 False履恩,則根據(jù)與運算法則,整個結(jié)果必定為 False呢蔫,因此...
      張文靖同學閱讀 309評論 0 1
    • 最近在慕課網(wǎng)學習廖雪峰老師的Python進階課程切心,做筆記總結(jié)一下重點。 基本變量及其類型 變量 在Python中片吊,...
      victorsungo閱讀 1,667評論 0 5
    • 一張白紙被揉成一團绽昏, 再怎么展開都無法撫平。 相處三年多的舍友情俏脊, 也因為一個矛盾全谤, 彼此心里留下疙瘩。 時間只能...
      一點小賢閱讀 552評論 0 0