天天看點

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的代碼如下:

Python(1):入門
Python(1):入門

def print_list(movies):
    if isinstance(movies, list):
        for movie in movies:
            print_list(movie)
    else:
        print(movies)      

demo

python注釋: 

  python中的單行注釋直接使用"#"即可,對于多行注釋使用三引号:

  """ 這是一個多行注釋

    丫

  """

清單:

  在python中可以說是一切皆清單。清單可以看做是java中的數組,但又不像是數組。清單中可以混合存儲多種資料類型的元素,且長度不固定,但是如果通路清單元素的時候出現越界也會抛出異常(IndexError)。清單的常見操作如下:

Python(1):入門
Python(1):入門
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下面代碼給出幾個列子,可以很直覺的看出二者的差別:

Python(1):入門
Python(1):入門
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是否是清單。我們定義一個列印清單的函數如下:

Python(1):入門
Python(1):入門
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)來輸出清單。

黎明前最黑暗,成功前最絕望!