快速入門:十分鐘學會Python

初試牛刀

假設你但願學習Python這門語言,卻苦於找不到一個簡短而全面的入門教程。那麼本教程將花費十分鐘的時間帶你走入Python的大門。本文的內容介於教程(Toturial)和速查手冊(CheatSheet)之間,所以只會包含一些基本概念。很顯然,若是你但願真正學好一門語言,你仍是須要親自動手實踐的。在此,我會假定你已經有了必定的編程基礎,所以我會跳過大部分非Python語言的相關內容。本文將高亮顯示重要的關鍵字,以便你能夠很容易看到它們。另外須要注意的是,因爲本教程篇幅有限,有不少內容我會直接使用代碼來講明加以少量註釋。git

Python的語言特性

Python是一門具備強類型(即變量類型是強制要求的)、動態性、隱式類型(不須要作變量聲明)、大小寫敏感(var和VAR表明了不一樣的變量)以及面向對象(一切皆爲對象)等特色的編程語言。github

 

獲取幫助

你能夠很容易的經過Python解釋器獲取幫助。若是你想知道一個對象(object)是如何工做的,那麼你所須要作的就是調用help(<object>)!另外還有一些有用的方法,dir()會顯示該對象的全部方法,還有<object>.__doc__會顯示其文檔:編程

 

語法

Python中沒有強制的語句終止字符,且代碼塊是經過縮進來指示的。縮進表示一個代碼塊的開始,逆縮進則表示一個代碼塊的結束。聲明以冒號(:)字符結束,而且開啓一個縮進級別。單行註釋以井號字符(#)開頭,多行註釋則以多行字符串的形式出現。賦值(事實上是將對象綁定到名字)經過等號(「=」)實現,雙等號(「==」)用於相等判斷,」+=」和」-=」用於增長/減小運算(由符號右邊的值肯定增長/減小的值)。這適用於許多數據類型,包括字符串。你也能夠在一行上使用多個變量。例如:api

 

數據類型

Python具備列表(list)、元組(tuple)和字典(dictionaries)三種基本的數據結構,而集合(sets)則包含在集合庫中(但從Python2.5版本開始正式成爲Python內建類型)。列表的特色跟一維數組相似(固然你也能夠建立相似多維數組的「列表的列表」),字典則是具備關聯關係的數組(一般也叫作哈希表),而元組則是不可變的一維數組(Python中「數組」能夠包含任何類型的元素,這樣你就可使用混合元素,例如整數、字符串或是嵌套包含列表、字典或元組)。數組中第一個元素索引值(下標)爲0,使用負數索引值可以從後向前訪問數組元素,-1表示最後一個元素。數組元素還能指向函數。來看下面的用法:數組

你可使用:運算符訪問數組中的某一段,若是:左邊爲空則表示從第一個元素開始,同理:右邊爲空則表示到最後一個元素結束。負數索引則表示從後向前數的位置(-1是最後一個項目),例如:數據結構

 

字符串

Python中的字符串使用單引號(‘)或是雙引號(「)來進行標示,而且你還可以在經過某一種標示的字符串中使用另一種標示符(例如 「He said ‘hello’.」)。而多行字符串能夠經過三個連續的單引號(」’)或是雙引號(「」」)來進行標示。Python能夠經過u」This is a unicode string」這樣的語法使用Unicode字符串。若是想經過變量來填充字符串,那麼可使用取模運算符(%)和一個元組。使用方式是在目標字符串中從左至右使用%s來指代變量的位置,或者使用字典來代替,示例以下:app

 

流程控制

Python中可使用if、for和while來實現流程控制。Python中並無select,取而代之使用if來實現。使用for來枚舉列表中的元素。若是但願生成一個由數字組成的列表,則可使用range(<number>)函數。如下是這些聲明的語法示例:less

 

函數

函數經過「def」關鍵字進行聲明。可選參數以集合的方式出如今函數聲明中並緊跟着必選參數,可選參數能夠在函數聲明中被賦予一個默認值。已命名的參數須要賦值。函數能夠返回一個元組(使用元組拆包能夠有效返回多個值)。Lambda函數是由一個單獨的語句組成的特殊函數,參數經過引用進行傳遞,但對於不可變類型(例如元組,整數,字符串等)則不可以被改變。這是由於只傳遞了該變量的內存地址,而且只有丟棄了舊的對象後,變量才能綁定一個對象,因此不可變類型是被替換而不是改變(譯者注:雖然Python傳遞的參數形式本質上是引用傳遞,可是會產生值傳遞的效果)。例如:dom

 

Python支持有限的多繼承形式。私有變量和方法能夠經過添加至少兩個前導下劃線和最多尾隨一個下劃線的形式進行聲明(如「__spam」,這只是慣例,而不是Python的強制要求)。固然,咱們也能夠給類的實例取任意名稱。例如:編程語言

 

異常

Python中的異常由 try-except [exceptionname] 塊處理,例如:

 

導入

外部庫可使用 import [libname] 關鍵字來導入。同時,你還能夠用 from [libname] import [funcname] 來導入所須要的函數。例如:

 

文件I / O

Python針對文件的處理有不少內建的函數庫能夠調用。例如,這裏演示瞭如何序列化文件(使用pickle庫將數據結構轉換爲字符串):

 

其它雜項

  • 數值判斷能夠連接使用,例如 1<a<3 可以判斷變量 a 是否在1和3之間。
  • 可使用 del 刪除變量或刪除數組中的元素。
  • 列表推導式(List Comprehension)提供了一個建立和操做列表的有力工具。列表推導式由一個表達式以及緊跟着這個表達式的for語句構成,for語句還能夠跟0個或多個if或for語句,來看下面的例子:

 

 

  • 全局變量在函數以外聲明,而且能夠不須要任何特殊的聲明即能讀取,但若是你想要修改全局變量的值,就必須在函數開始之處用global關鍵字進行聲明,不然Python會將此變量按照新的局部變量處理(請注意,若是不注意很容易被坑)。例如:

 

小結

本教程並未涵蓋Python語言的所有內容(甚至連一小部分都稱不上)。Python有很是多的庫以及不少的功能特色須要學習,因此要想學好Python你必須在此教程以外經過其它方式,例如閱讀Dive into Python。我但願這個教程能給你一個很好的入門指導。若是你以爲本文還有什麼地方值得改進或添加,或是你但願可以瞭解Python的哪方面內容,請留言。

 

轉自http://blog.jobbole.com/43922/

相關文章
相關標籤/搜索