亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

初識Python

廖雪峰 移動開發工程師
難度入門
時長 5小時 0分
學習人數
綜合評分9.43
3762人評價 查看評價
9.7 內容實用
9.4 簡潔易懂
9.2 邏輯清晰
  • Python內置的一種數據類型是列表:list。list是一種有序的集合,可以隨時添加和刪除其中的元素。

    比如,列出班里所有同學的名字,就可以用一個list表示:

    >>>?['Michael',?'Bob',?'Tracy']
    ['Michael',?'Bob',?'Tracy']

    list是數學意義上的有序集合,也就是說,list中的元素是按照順序排列的。

    構造list非常簡單,按照上面的代碼,直接用?[ ]?把list的所有元素都括起來,就是一個list對象。通常,我們會把list賦值給一個變量,這樣,就可以通過變量來引用list:

    >>>?classmates?=?['Michael',?'Bob',?'Tracy']
    >>>?classmates?#?打印classmates變量的內容
    ['Michael',?'Bob',?'Tracy']

    由于Python是動態語言,所以list中包含的元素并不要求都必須是同一種數據類型,我們完全可以在list中包含各種數據:

    >>>?L?=?['Michael',?100,?True]

    一個元素也沒有的list,就是空list:

    >>>?empty_list?=?[]


    查看全部
    0 采集 收起 來源:Python創建list

    2020-07-23

  • 在Python中,布爾類型還可以與其他數據類型做 and、or和not運算,請看下面的代碼:

    a?=?True
    print?a?and?'a=T'?or?'a=F'

    計算結果不是布爾類型,而是字符串 'a=T',這是為什么呢?

    因為Python把0、空字符串''None看成?False,其他數值和非空字符串都看成?True,所以:

    True?and?'a=T'?計算結果是?'a=T'
    繼續計算?'a=T'?or?'a=F'?計算結果還是?'a=T'

    要解釋上述結果,又涉及到 and 和 or 運算的一條重要法則:短路計算。


    查看全部
  • 要解釋上述結果,又涉及到 and 和 or 運算的一條重要法則:短路計算。

    1.?在計算?a and b?時,如果 a 是 False,則根據與運算法則,整個結果必定為 False,因此返回 a;如果 a 是 True,則整個計算結果必定取決與 b,因此返回 b。

    2. 在計算?a or b?時,如果 a 是 True,則根據或運算法則,整個計算結果必定為 True,因此返回 a;如果 a 是 False,則整個計算結果必定取決于 b,因此返回 b。

    所以Python解釋器在做布爾運算時,只要能提前確定計算結果,它就不會往后算了,直接返回結果。


    查看全部
  • for x in [1,2,3,4,5,6,7,8,9]: for y in [0,1,2,3,4,5,6,7,8,9]: if (x < y): print(x*10+y)
    查看全部
  • 寫列表生成式時,把要生成的元素 x * x 放到前面,后面跟 for 循環,就可以把list創建出來,

    列表生成式則可以用一行語句代替循環生成上面的list:

    >>>?[x?*?x?for?x?in?range(1,?11)]
    [1,?4,?9,?16,?25,?36,?49,?64,?81,?100]


    查看全部
    0 采集 收起 來源:生成列表

    2020-07-23

  • items() 方法把dict對象轉換成了包含tuple的list,我們對這個list進行迭代,可以同時獲得key和value:

    查看全部
  • 和 values() 有一個 itervalues() 類似,?items()?也有一個對應的?iteritems(),iteritems() 不把dict轉換成list,而是在迭代過程中不斷給出 tuple,所以, iteritems() 不占用額外的內存。

    查看全部
  • 請輸入筆記內容那這兩個方法有何不同之處呢? 1. values() 方法實際上把一個 dict 轉換成了包含 value 的list。 2. 但是 itervalues() 方法不會轉換,它會在迭代過程中依次從 dict 中取出 value,所以 itervalues() 方法比 values() 方法節省了生成 list 所需的內存。 3. 打印 itervalues() 發現它返回一個對象,這說明在Python中,for 循環可作用的迭代對象遠不止 list,tuple,str,unicode,dict等,任何可迭代對象都可以作用于for循環,而內部如何迭代我們通常并不用關心。 如果一個對象說自己可迭代,那我們就直接用 for 循環去迭代它,可見,迭代是一種抽象的數據操作,它不對迭代對象內部的數據有任何要求。...

    查看全部
    0 采集 收起 來源:迭代dict的value

    2020-07-23

  • enumerate() 函數把:

    ['Adam',?'Lisa',?'Bart',?'Paul']

    變成了類似:

    [(0,?'Adam'),?(1,?'Lisa'),?(2,?'Bart'),?(3,?'Paul')]

    因此,迭代的每一個元素實際上是一個tuple:

    for?t?in?enumerate(L):
    ????index?=?t[0]
    ????name?=?t[1]
    ????print?index,?'-',?name

    如果我們知道每個tuple元素都包含兩個元素,for循環又可以進一步簡寫為:

    for?index,?name?in?enumerate(L):
    ????print?index,?'-',?name

    這樣不但代碼更簡單,而且還少了兩條賦值語句。


    查看全部
    0 采集 收起 來源:索引迭代

    2020-07-22

  • 注意:?集合是指包含一組元素的數據結構,我們已經介紹的包括:
    1.?有序集合:list,tuple,str和unicode;
    2.?無序集合:set
    3.?無序集合并且具有?key-value?對:dict


    查看全部
    0 采集 收起 來源:什么是迭代

    2020-07-22

  • 請編寫接受可變參數的 average() 函數。

    可變參數 args 是一個tuple,當0個參數傳入時,args是一個空tuple。


    查看全部
  • 可變參數的名字前面有個?*?號,我們可以傳入0個、1個或多個參數給可變參數

    Python解釋器會把傳入的一組參數組裝成一個tuple傳遞給可變參數,因此,在函數內部,直接把變量?args?看成一個?tuple?就好了。

    查看全部
  • 由于函數的參數按從左到右的順序匹配,所以默認參數只能定義在必需參數的后面:

    查看全部
  • 如果一個函數在內部調用自身本身,這個函數就是遞歸函數。

    遞歸函數的優點是定義簡單,邏輯清晰。理論上,所有的遞歸函數都可以寫成循環的方式,但循環的邏輯不如遞歸清晰。

    使用遞歸函數需要注意防止棧溢出。


    查看全部
  • # math包提供了sin()和?cos()函數,我們先用import引用它:Python函數返回的仍然是單一值:用print打印返回結果,原來返回值是一個tuple!但是,在語法上,返回一個tuple可以省略括號,而多個變量可以同時接收一個tuple,按位置賦給對應的值,所以,Python的函數返回多值其實就是返回一個tuple,但寫起來更方便。

    查看全部

舉報

0/150
提交
取消
課程須知
如果您了解程序設計的基本概念,會簡單使用命令行,了解中學數學函數的概念,那么對課程學習會有很大的幫助,讓您學起來得心應手,快速進入Python世界。
老師告訴你能學到什么?
通過本課程的學習,您將學會搭建基本的Python開發環境,以函數為基礎編寫完整的Python代碼,熟練掌握Python的基本數據類型以及list和dict的操作。

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!