Python 學習筆記

來源:互聯網
上載者:User

可以任意轉載,但轉載時必須標明原作者charlee、原始連結http://tech.idv2.com/2008/11/03/python-memo/以及本聲明。

基本概念
  • Python居然支援複數。如(-5+4j)。但要注意虛數單位單獨使用時要寫成 1j,不能寫成 j。
  • 與Perl和PHP的區別:單引號和雙引號沒有任何區別。沒有插值功能。
  • 三引號:''' 和 """ 相當於Perl的heredoc。
  • 行尾不需要用分號,分號僅用於一行寫多條語句的情況。跟BASIC的冒號有些相似。
  • 縮排是有語義的!建議使用TAB縮排
運算子與運算式
  • 運算子 ** 乘冪,Perl也有。
  • 字串的 * 表示重複,相當於Perl的 x 運算子。
  • 居然還有專用於整除的 // 。別跟Perl 6的 // 混淆了。
控制流程
  • if-elif-else,Perl為if-elsif-else,bash為if-elif-fi
  • if、elif等控制流程語句後面要加冒號,很像PHP的文法
  • while和for迴圈可以帶else,迴圈正常結束時就會執行else。不用像C語言那樣,迴圈結束時要檢查迴圈變數是否等於終值,以判斷是否正常結束。贊
  • range函數產生的結果不包括終點。比較:Perl的 .. 運算子包括終點。所以,Python的range(a,b)理解成C語言的 for(i=a;i<b,i++) 好些。
  • 什麼都不做的pass語句,算是個python特色
函數
  • 函數中使用全域變數需要用global關鍵字,類似於PHP
  • DocString,又一個python特色,函數的第一個邏輯航的字串作為文檔字串。類似於POD和javadoc,不過是寫在函數體內的。還能通過"函數名.__doc__"訪問
  • lambda:類似於perl的閉包
資料結構
  • 列表:定義方式為 a=[1,2]。等價於perl的數組/列表
  • 元組(tuple):定義方式為 a=(1,2)。
  • 要注意列表中的列表不會被打散,如 a=[1,2], b=[a,3,4],結果就是 b=[[1,2],3,4]。這一點與Perl不同。
  • 字典:定義方式為 c={'a':1, 'b':2}。等價於perl的散列。注意兩點:
    • 定義和訪問時,key必須用引號引起來。
    • 使用{}定義,使用[]訪問,即c['a']。與Perl不同。
  • 列表賦值是引用賦值。要想拷貝,必須用切片:b = a[:]。Perl程式員要注意。
  • 列表的sort會改變原列表。
例外
  • try-except-finally,相當於java的try-catch-finally
  • 還有else,當沒有發生異常、正常結束try塊時執行。跟for/while的else塊一樣
  • 故意拋出異常叫raise,java裡面叫throw
物件導向
  • 類的__init__函數類似於C++的建構函式;__del__函數類似於C++的解構函式。
  • 類方法定義的第一個參數必須為self,調用時這個參數會被傳遞為對象本身。類似於perl,perl中第一個參數也會被傳遞為對象本身,不過需要程式員自己寫 my $self = shift; 來接收。
  • 用C++的話來說,所有成員函數都是虛函數。
  • 調用基類方法時要手工傳遞self,如 Parnet.__init__(self, name)。
模組
  • import foo; 相當於perl的 use foo;
  • from foo import bar 相當於perl的 use foo qw/bar/;
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.