Python核心編程學習日記之數字,序列

來源:互聯網
上載者:User

第五章  數字

  1.數字類型

    a,Python支援的數字類型:整型,長整型,布爾型。雙精確度浮點型,十進位浮點型,和複數

    b,建議用大寫字母“L”表示長整數。並且,整型和長整型正在趨向統一。必要時整型會悄悄自動轉換為長整型,從而避免數值範圍越界為使用者帶來煩惱。

    c,雙精確度浮點數(類似於c中的double)

    d,複數:實數部分和虛數部分都是浮點數。推薦用尾碼“j”,和程式輸出保持一致;num.real,num.imag,num.conjugate()分別表示複數的實部,虛部,共軛複數。

  2.運算子

    a,Python支援的運算子幾乎全都會進行自動資料類型轉換。

    b,現階段Python仍採用整數相除商取整的做法,將來將會支援得到真正的商。可以通過from __future__ import division來調用該除法。地板除將會由新運算子‘//’支援。

    c,非複數取餘等價於:x - (math.floor(x/y) * y)。複數取餘等價:x - (math.floor((x/y).real) * y)

    d,冪運算操作符比其左側運算元的一元操作符優先順序高,比其右側運算元的一元運算子優先順序低。

  3.內建函數與工廠函數

    a,int(),long(),float(),complex(),bool()(均由內建函數改變為工廠函數)

    b,內建函數:abs(),coerce(),divmod(),pow(),round()。

      c,只適用於整數:進位轉換函式oct(),hex();ASCII轉換函式chr(),ord();unichr()

  4.相關模組

    a,decimal,array,math/cmath,operator,random

    b,random包含多個偽隨機數發生器。randrange(),uniform(),randint(),random(),choice()

 

第六章 序列:字串、列表和表列

  1.序列類型操作符(所有序列類型均適用)

    a,in,not in: obj [not] in sequence(返回True或False)

    b,seq[ind](獲得下標為ind的元素);seq[ind1:ind2](獲得下標從ind1到ind2間的元素集合);seq *expr(序列重複expr次);seq1 + seq2(串連序列seq1和seq2,用於定序序列效率低);

    c,擴充切片操作,第三個索引值被用作步長參數;sequence[:None]分隔出整個序列。

  2.內建函數

    a,類型轉換:list(iter);str(obj);unicode(obj);basestring()(抽象工廠函數,不能被執行個體化和調用);tuple(iter)

    b,操作類型函數:len(),reversed(),sum()(三者只接受序列類型);enumerate(iter),sort(),zip()(接受可迭代對象),max(),min()(除iter外還可接受參數表)

  3.字串

    a,出於效能考慮,盡量不要匯入和使用string模板。使用%格式化操作符或者把字串放到一個列表中然後用join()方法。

    b,Python 的文法允許你在源碼中把幾個字串連在一起寫。

    c,如果把一個一般字元串和一個Unicode 字串做串連處理,Python 會在串連操作前先把一般字元串轉化為Unicode 字串。

    d,格式化操作符只適用於字串:非常類似於c語言的printf()格式代碼 format_string % (arguments_to_convert)

    e,字串模板:from string import Template;原始字串操作符(r/R),這個類似於c#裡的@""用法。

    f,Unicode字串操作符(u/U):將字串轉換成完全地Unicode字串對象。(原始Unicode字串:Unicode操作符必須出現在原始字串操作符之前)

  4.字串內建函數

    a,max()和min()函數返回迭代器或者參數列中最大/最小的元素(字串是按照ASCII碼值排列)

    b,enumerate(iter):對象產生由iter 每個元素的index 值和item 值組成的元組;zip()返回一個列表

  5,字串的獨特特性:

    a,一個反斜線加一個單一字元表示一個特殊字元。也可直接用\000或者\xXX(八進位或者十六進位)的ASCII碼值。NUL在Python中沒有結束符的含義

    b,三引號允許一個字串跨多行,字串中可以包含分行符號.定位字元等其他特殊字元(多用於嵌入的代碼,比如html或者SQL)

    c,處理Unicode規則:程式中出現字串時一定要加個首碼u;不要用str()函數,用unicode()代替;不要用過時的string模組,它基本上只能正常處理ASCII字元;不到必須時不要再程式裡面編解碼Unicode字元,只在要寫入檔案或者資料庫或者網路時,才調用encode()函數,相應地,只在你需要把資料讀回來的時候才調用decode()函數。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.