python入門

計算機語言,簡單易學,上手容易,深入有一定困難。一些名詞吧:動態語言、解釋型、網絡爬蟲、數據處理、機器學習、Web開發、等;
Python目前分爲2.x和3.x兩個版本,它的這兩個版本是不兼容的;如果沒有歷史遺留問題,建議初學者直接上手Python3。

開發環境搭建

在Linux系統上,默認都安裝了Python解釋器,你可以直接在終端輸入python進入默認的環境。在Windows系統上,你需要去Python官網下載{具體,後臺回覆“安裝包”獲取}

Python之所以非常流行,離不開它千千萬萬的第三方庫,安裝第三方庫的話,推薦使用pip;

hello, world.

常見情況下,Python代碼可以通過兩種形式運行:
一是直接在剛纔解釋環境下一行一行的執行,
或者也可以保存到一個.py的文件中,在終端輸入python 文件名來執行。比如新建一個idoTest.py,文件內容爲print ‘hello, world.’,在終端輸入python test.py,即可輸出hello, world.。

注意⚠️:Python中沒有使用花括號{}來表示代碼間的層級關係而是使用縮進,這樣的好處是在語法層面上限制了不好的代碼風格,但是初學者容易混淆。

變量、基礎數據類型

變量

Python中變量不需要聲明,你可以通過直接賦值的方式使用變量:

a = 1
b = True
c = 1.0
a = 3+2j

在Python中,你可以在給一個變量賦值爲一種類型之後重新爲其賦值爲新的類型(如上面代碼第1、4行)。

基礎數據類型

Python中的數字有:整型、長整型、浮點型、布爾型、複數。

整形:int,常見的整數(正數/負數/0),通過sys.maxint即可查看當前平臺上最大的整型的值。
長整型:long,比整型最大的值還大或者比整型最小的值還小的整數。注意:Python中長整型沒有大小限制,你的內存有多大,它就能表示多大。
浮點型:float,即小數。
布爾型:bool,常見形式爲True, False,表示邏輯真和邏輯假,其實背後的實現是數字1和0.
複數:complex,Python是爲數不多語法層面上支持複數的語言,表現爲形如1+2j的形式。可以直接支持兩個複數的運算。

Python中的所有數據類型都是對象。你可以通過type()函數查看一個變量的類型。
Python中字符串有4種表現形式:單引號、雙引號、三引號:

string1 = ‘this is a str’
string2 = “this is a str”
string3 = ”’this is a str
這裏還是string3的範圍”’
string4 = “”“this is a str”“”

其中,第3/4種字符串表現形式都是三引號引起來的,Python中沒有C-Like語言中的字符類型。

運算符、控制語句

運算符

在Python中,數字是一種不可變類型,對數字的操作都會產生新的對象而不是修改原來的對象。但是i = i + 1一樣可以寫爲i += 1。
注意:Python2.5以後的除法爲地板除,即5/2=2而不是5/2 = 2.5。

Python常見的邏輯運算符爲:
!=, <>:不等於,表示兩邊的值不相等,推薦使用前一種。1 != 2。
==:等於,表示兩邊的值相等。2 == 2。
and:邏輯與,如果兩邊的值都爲True則整個值爲True,反之爲False。1==1 and 2==2。
or:邏輯或,如果兩邊有一個值True則整個值爲True,反之爲False。1==2 or 2==2。
not:邏輯非,如果值爲True,則結果爲False。not 2==1。

控制語句

條件語句:
Python中的條件語句只有if-elif-else,沒有switch-case,但是有經驗的開發者通常使用map這一結構來達到比switch-case更加優雅,更加Pythonic的實現,這個後續再說。

if 條件1:
語句塊1
elif 條件2:
語句塊2
else:
語句塊3

elif類似於其它語言中的else if。

循環語句:
Python中有兩種方式表達循環語句:

while 循環:

while 條件:
語句塊

for循環:

for 變量 in 集合:
語句塊

值得注意的是Python中沒有C-Like語言裏的for(int i=0; i<10; i++)的語法,不過可以使用xrange或者range函數實現同樣的效果。前一個函數返回一個生成器,後一個函數返回list,一般推薦使用前一個,至於這兩個函數的異同,後面有時間細聊。

集合

Python中常見的集合類型有:list,tuple,set,dict。

list

list表達的是一列數據的集合,列表中的元素可以增加、刪除、查找等操作:

In [1]: l = [‘this’, ‘is’, ‘a’, ‘list’] # 初始化一個list

In [2]: type(l)
Out[2]: list

In [3]: l.index(‘is’) # 查找元素
Out[3]: 1

In [4]: l.append(‘new item’) # 新增元素

In [5]: l
Out[5]: [‘this’, ‘is’, ‘a’, ‘list’, ‘new item’]

In [6]: l.reverse() # 反轉列表

In [7]: l
Out[7]: [‘new item’, ‘list’, ‘a’, ‘is’, ‘this’]

In [8]: l.remove(‘is’) # 刪除元素

In [9]: l
Out[9]: [‘new item’, ‘list’, ‘a’, ‘this’]

tuple

tuple類似於list,同樣表示一組數據的集合,不同的是,tuple是寫保護的,即:tuple不可以對其元素做任何修改操作(新增、刪除等):

In [1]: t = (1,2,3) # 初始化

In [2]: t
Out[2]: (1, 2, 3)

In [3]: type(t)
Out[3]: tuple

set

set表示一個不重複元素的集合,值得注意的是:set是無序的。

In [1]: s = {‘this’, ‘is’, ‘a’, ‘a’, ‘set’} # 初始化

In [2]: s
Out[2]: {‘a’, ‘is’, ‘set’, ‘this’}

In [3]: type(s)
Out[3]: set

In [4]: s.add(‘new item’) # 新增元素

In [5]: s
Out[5]: {‘a’, ‘is’, ‘new item’, ‘set’, ‘this’}

In [6]: s.remove(‘a’) # 刪除元素

In [7]: s
Out[7]: {‘is’, ‘new item’, ‘set’, ‘this’}

dict

dict表示一組數據的對應關係,與set一樣,dict是無序的(你可以通過collections中的OrderDict來達到有序)。同時,對於初學者,dict與set的聲明方式容易混淆:

In [1]: d = {‘a’: ‘A’, ‘b’: ‘B’} # 初始化

In [2]: d
Out[2]: {‘a’: ‘A’, ‘b’: ‘B’}

In [3]: d[‘a’]
Out[3]: ‘A’

In [4]: d[‘c’] = ‘C’ # 新增元素

In [5]: d
Out[5]: {‘a’: ‘A’, ‘b’: ‘B’, ‘c’: ‘C’}

In [6]: del d[‘a’] # 刪除元素

In [7]: d
Out[7]: {‘b’: ‘B’, ‘c’: ‘C’}

函數(初步)

在Python中聲明函數的方式如下:

def add(num1, num2):
return num1 + num2

通其它語言一樣,你可以在函數中通過return返回值。不同的是,Python中函數可以有多個返回值,比如下面的函數,返回了兩個數的和以及差:

def calc(n1, n2):
return n1 + n2, n1 * n2

add, sub = calc(5, 1)
print add, sub # 6 4

其實這裏並不是真的返回了兩個值,而是將返回值組裝成一個tuple再返回。

相關鏈接:http://bbs.ichunqiu.com/thread-8364-1-1.html?from=csdnJG

發佈了46 篇原創文章 · 獲贊 15 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章