標籤:
Python軟體已經安裝成功有很長一段時間了,也即或多或少的瞭解Python似乎也很長時間了,也是偏於各種借口,才在現在開始寫點總結。起初接觸Python是因為公司項目中需要利用Python來測試開發的介面,於是開始瞭解這門解釋性,物件導向,帶有動態語義的進階語言,或是指令碼語言,或是膠水語言。便在網上找了一個現成的Python爬蟲,在本地測試回合成功,將新浪上面的所有部落格地址扒取下來。真心想從基礎學起,自己寫個,於是,有了這份基礎總結,項目模組的開發將在下一篇博文中貼出。敬請關注!
本博文僅記錄自己學習Python過程中的點滴,與諸位喜歡Python的菜鳥朋友分享。本博文著作權歸作者和部落格園所有,歡迎轉載,但請保留本博文的出處。itRed 聯絡郵箱:[email protected] 部落格連結:http://www.cnblogs.com/itred GitHub連結: https://github.com/itRed
一.Python產生
1989年聖誕節,阿姆斯特丹,Guido van Rossum 開發而成。
二.Python的特徵
- 語言簡單;
- 解釋性和編譯性;
- 物件導向編程;
- 進階語言(無需考慮如記憶體管理一類的底層知識);
- 可擴充性和可嵌入性(很好的和C,C++,JAVA等);
- 免費開源;
- 可移植性;
- 豐富的庫。
三.Python的檔案類型
- 原始碼:以‘py‘為副檔名的檔案,該檔案由Python程式進行解釋,不需要編譯;
- 位元組代碼:Python原始碼經過編譯後產生副檔名為’pyc’的檔案;
編譯方法:
>>>import py_compile >>>py_compile.compile(檔案名稱.py)
3. 最佳化代碼:經過最佳化後的源檔案,副檔名為’.pyo’
編譯方法:
>>>python –o –m py_compile 檔案名稱.py
四.Python重點筆記
正是因為python比較簡單,所以很多關於很多語言都比較常見的文法在這裡就不再贅述了。只是介紹一些比較有特點的基礎知識。
- 查看變數的記憶體位置:
>>>a=2 >>>id(a)
2. 求冪運算子(**):
>>>2**3 8
3. 整數除法(//):
>>>3.0//2 1.0
4. 複數標記法(Complex):
>>>c=3.14j
5. 序列:主要包含字串,列表,元組等。
- 元組(“()”)
(1) 元組案例
>>>t=(‘red’,20,’male’) >>>t[0] ‘red‘ >>>t[1] 20 >>>t[2] ‘male‘ >>>t (‘red‘, 20, ‘male‘)
(2) 空元組:newtest=()
(3) 單元素元組:newtest2=(2,) *必須要加逗號
2. 列表(”[]”)
(1) 序列是處理一組有序項目的資料結構,即可以在一個列表中儲存一個序列的項目。可以對元素進行賦值操作。
(2) 列表的組成包含了多個以逗號分隔開的數字或字串。
(3) 案例:
>>>list1=[‘red‘,’test’,’張三’] >>>list2=[1,2,3,4,5] >>>list3=[‘str1‘,’str2’,’str3’] >>>listred=[‘red’,20,’male’] >>>listred[0:3] [‘red‘,20,’male’]
(4) 空序列:
>>>list=[]
(5) 列表的基本操作:
取值:切片和索引,list[]
添加:list.append()
刪除:del(list[])
List.remove(list[])
修改:list[]=x
尋找:var in list
1. Python控制流程程
就Python的文法而言,基本具有一般語言通用的。判斷語句,for迴圈語句,switch語句等等。都是十分基礎的。用幾個簡單的案例來說明Python這樣簡單的語言效果會更好。
>>>for x in ‘hello‘: …… print x h e l l o >>>st=‘hello‘ >>>for x in range(len(st)): …… print st[x]
(輸出結果同上)
2. if語句:
>>> x=0 >>> if x==0: ... print ‘0‘ ... else: ... print ‘1‘ ... 0
3. 索引(迭代序列指數):遍曆每個項目的另一種方法是由序列本身的位移指數(索引)。迭代就是重複執行一個命令。
>>>fruits=[‘banana‘,’apple’,’orange’] >>>for index in range(len(fruits)): … print ‘fruit:‘,fruits[index] … print ‘finish’
4. 字典的遍曆:
>>> d = {1:111,2:222,3:333} >>> for k,v in d.items(): ... print k,v ... 1 111 2 222 3 333 >>>
5. 函數
函數就是為了完成特定功能的一個語句組,這組語句可以作為一個單位使用,並且給它起一個名字。
可以通過函數名在程式的不同地方多次執行,這通常就是函數的調用,可以不用在所有的地方重複性地編寫這些語句。
函數分為自訂函數和預定義Python函數,自訂函數是使用者自己編寫的函數,預定義函數是指系統內建的函數,還有一些第三方編寫的函數,如其他程式員編寫的一些函數,對於這些現成的函數,使用者可以直接拿來使用。
def 函數名(參數列表): #可以沒有參數列表 函數體
案例:
>>> def f(x): ... print x ... >>> f(10) 10 >>> f(‘hello‘) hello >>> f([1,2,3,4]) [1, 2, 3, 4] >>>
>>> def f(x,y):
... print x,y
...
>>> f(1,2)
1 2
>>> f(‘a‘,‘b‘)
a b
>>>
>>> t=[‘name‘,‘red‘]
>>> def f(x,y):
... print "%s:%s" % (x,y)
...
>>> f(*t)
name:red
>>>
>>> def f(name=‘name‘,age=0):
... print "name:%s" % name
... print "age:%s" % age
...
>>> f()
name:name
age:0
>>> t=(30,‘red‘)
>>> f(*t)
name:30
age:red
>>> d={‘name‘:‘red‘,‘age‘:20}
>>> f(age=20,name=‘red‘)
name:red
age:20
>>> f(**d)
name:red
age:20
>>>
五. 總結
本片博文僅僅是Python基礎的一部分,本人認為是重點中的重點,作為菜鳥級的Python愛好者,基礎往往是走向大神的門檻。只有將基礎爛熟於心,方可寫出高效而且簡潔的代碼。對於使用這些基礎的知識開發Python的簡單模組將在下一篇部落格中詳細介紹,謹以此文獻給奮鬥中的自己!
郵箱:[email protected] 個人部落格: http://itred.cnblogs.com 著作權聲明:本文著作權歸作者和部落格園共有,歡迎轉載,但請在文章顯眼位置標明文章出處。未經本人書面同意,將其作為他用,本人保留追究責任的所有權利。
Python筆記之不可不知