安裝:
在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)來輸出清單。
黎明前最黑暗,成功前最絕望!