Python(1):入門
安裝:
在linux中一般都自帶有python2.7的版本,如果想升級python到最新的版本可以參考其他部落格(http://www.cnblogs.com/lanxuezaipiao/archive/2012/10/21/2732864.html)。
這裡需要注意的是如果沒有升級python到最新版本,那麼直接在終端輸入 python 開啟的將是自帶的2.7版本。下載了新版本的python(假設為3.5)之後,會發現直接輸入python命令會報錯誤。
此時有兩個選擇,一個是使用python3命令來開啟python控制檯;一個是修改python的預設指向:
sudo rm -f /usr/bin/python
sudo ln -s /usr/bin/python3.5 /usr/bin/python
這樣設定了之後,就可以直接使用python命令來開啟python控制檯了。但此時可能還會出現問題,比如ubuntu下,會發現所有apt-get install相關的命令都失敗,檢視原因會發現有python相關的編譯錯誤。網上找了好多辦法都沒解決,最終採用的是先將python命令連結還原到老版本的python,執行完apt-get install命令之後,在將連結改回來即可。至於還原到老版本的python命令這裡就不再給出,只需把第二行命令中的python3.5改成老版本的即可。
python指令碼的編寫:
python指令碼的編寫大致上來說和java的程式碼編寫沒有太大差別。唯一的差別可能有以下兩點需要注意:
1. 在python中可以省略語句末尾的分號;
2. 在python中程式碼使用分層機制,子層相對於父層必須進行縮排(四個空格),且開啟子層之前父層必須以冒號(:)結尾。大致看下來python的程式碼如下:
def print_list(movies): if isinstance(movies, list): for movie in movies: print_list(movie) else: print(movies)
demo
python註釋:
python中的單行註釋直接使用”#”即可,對於多行註釋使用三引號:
””” 這是一個多行註釋
丫
”””
列表:
在python中可以說是一切皆列表。列表可以看做是java中的陣列,但又不像是陣列。列表中可以混合儲存多種資料型別的元素,且長度不固定,但是如果訪問列表元素的時候出現越界也會丟擲異常(IndexError)。列表的常見操作如下:
1 movies = ["movie1", "movie2"] 2 # 列表中可以巢狀列表,這裡執行完後,列表中的第一個元素就是一個列表 3 movies.insert(0, ["movie00", "movie01"]) 4 movies.remove("movie1") # 刪除列表元素 5 6 # 列表迴圈 7 for movie in movies: 8 print(movie) 9 10 i = 0 11 while i < len(movies): # len方法得到陣列長度 12 print(movies[i]) 13 i = i + 1 # python不支援例如 i++這種自加的操作
ListOperation
另外往列表末尾新增元素的函式主要有extend和append下面程式碼給出幾個列子,可以很直觀的看出二者的區別:
1 movies = [] 2 movies.append("movie1") 3 print(movies) # [`movie1`] 4 movies.extend(`movie2`) 5 print(movies) # [`movie1`, `m`, `o`, `v`, `i`, `e`,`2`] 6 movies.append([`movie3`]) 7 print(movies) # [`movie1`, `m`, `o`, `v`, `i`, `e`,`2`, [`movie3`]] 8 movies.extend([`movie4`]) 9 print(movies) # [`movie1`, `m`, `o`, `v`, `i`, `e`,`2`, [`movie3`], `movie4`]
AppendExtend
python中的字串既可以用單引號,也可以用雙引號,對於特殊字元,仍然使用””進行轉義。變數名區分大小。
上面我們看到諸如len、print等這些都屬於python的內建函式(BIF:built in functions)。我們可以通過dir(__builtins__)來檢視所有的內建函式。要檢視內建函式具體說明使用help(內建函式名)即可。
假設我們要將上一段程式碼中的列表元素列印出來,且對於巢狀的列表也需要單獨列印出其元素。那麼我們可能需要用到函式。判斷一個元素是否是列表型別,可以用內建函式isinstantce。
例如:isinstantce(movie, list) 來判斷movie是否是列表。我們定義一個列印列表的函式如下:
1 def print_list(movies): 2 if isinstance(movies, list): # 判斷元素是否是列表型別 3 for movie in movies: 4 print_list(movie) # 如果是列表型別,對元素遞迴呼叫列印列表 5 else: 6 print(movies) 7
print_list
定義完函式之後,我們可以直接通過 print_list(movies)來輸出列表。
黎明前最黑暗,成功前最絕望!
相關文章
- python入門筆記1Python筆記
- Python系列之-1、Django入門PythonDjango
- Python 影像處理 OpenCV (1):入門PythonOpenCV
- Python 入門系列 —— 1. 簡介Python
- Python爬蟲入門(1):綜述Python爬蟲
- Python程式設計入門(1) (轉)Python程式設計
- Python 基礎 4-1 字典入門Python
- Python-SQLAlchemy:第1節:SQLAlchemy入門PythonSQL
- Amazon DynamoDB 入門1: 配置(本地)及python示例Python
- Python 入門到精通(2):基本語法(1)Python
- flask入門1Flask
- 1、MyCat入門
- docker入門1Docker
- 1、dwr入門
- redux——入門1Redux
- 機器學習1—入門機器學習
- JQuery入門(1)jQuery
- Python入門Python
- Pygame - Python 遊戲程式設計入門 class1GAMPython遊戲程式設計
- Python爬蟲入門【1】: CentOS環境安裝Python爬蟲CentOS
- Spark機器學習1·程式設計入門(scala/java/python)Spark機器學習程式設計JavaPython
- [Python GUI]Python內建圖形介面tkinter--入門1PythonGUI
- Python 入門到精通(1):Windows 搭建 Python 開發環境PythonWindows開發環境
- Docker入門(1):概述Docker
- Kafka入門(1):概述Kafka
- (1)入門MasaFramework教程Framework
- 1、Spring入門Spring
- Julia快速入門(1)
- 入門1~4:A系列
- 21、jdbc入門1JDBC
- 重構入門(1)
- Python爬蟲建站入門手記(1):環境搭建Python爬蟲
- 用Python和Pygame寫遊戲-從入門到精通(1)PythonGAM遊戲
- 用Pygame和Python做遊戲-從入門到精通(1)GAMPython遊戲
- Python入門(案例)Python
- Python快速入門Python
- 【python】git入門PythonGit
- python 入門教程Python