第1章 Python語言簡介
1.1 Python是什么
Python(英國發音:/ˈpaɪθən/ 美國發音:/ˈpaɪθɑːn)是什么呢?簡單的說,它是一種計算機編程語言及一組配套的軟件工具和庫。是一種面向對象、解釋型計算機程序設計語言,由Guido van Rossum於1989年發明,第一個公開發行版發行於1991年[1]。
Python是純粹的自由軟件, 源代碼和解釋器CPython遵循 GPL(GNU General Public License)協議 。
Python語法簡潔清晰,特色之一是強制用空白符(white space)作為語句縮進。
Python具有豐富和強大的庫。它常被昵稱為膠水語言,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯結在一起。常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然后對其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而后封裝為Python可以調用的擴展類庫。需要注意的是在您使用擴展類庫時可能需要考慮平台問題,某些可能不提供跨平台的實現。
1.2 Python應用
Python作為一種功能強大且通用的編程語言而廣受好評,它具有非常清晰的語法特點,適用於多種操作系統,目前在國際上非常流行,正在得到越來越多的應用。
Web程序:Django、Pyramid、bottle、tornado、Flask、web2py
GUI應用:wxPython、tklnter、PyGtk、PyGobject、PyQt
科學運算:SciPy、Pandas、IPthon
軟件發展:Buildbot、Trac、Roundup
系統管理:Ansible、Salt、OpenStack
第2章 Python安裝
2.1 Windows環境安裝
(1)在官網https://www.python.org/downloads/ 下載你所需要的版本
(2)根據你的操作系統,單機安裝相應的安裝程序鏈接(我這選擇X86-64的)
(3)下載完成后,雙擊以運行它
(4)安裝完成后為搭建環境變量,把Python的安裝目錄添加到PATH系統變量中即可
我的電腦-->屬性-->
(5)測試Python是否安裝成功,如圖所示顯示安裝成功
(6)測試我們的第一條程序
2.2 Linux環境安裝
(1)在官網下載Python-2.7.11.tgz
(2)編譯安裝
1 tar zxf Python-2.7.11.tgz 解壓下載的文件 2 3 cd Python-2.7.11/ 進入解壓的文件中 4 5 ./configure –prefix=/usr/local/python 是軟件的組態設置文件,產生對應平台的Makefile 6 7 make 根據Makefile的內容,編譯出符合平台的可執行文件 8 9 make install 編譯安裝成功的軟件,這一步根據需要可以選擇是否需要root權限。默認的安裝都是在安裝在/usr/local/目錄下,這樣是需要管理員權限的 10 11 make clean 清除編譯成功的obj and binary
(3)編譯安裝完成后,將系統自帶的低版本的Python替換掉,但CentOs的yum依賴Python,為了yum正常運行,將自帶的Python備份,如下:
1 mv /usr/bin/python /usr/bin/python-2.6.6 將自帶Python備份 2 3 ln -s /usr/local/python/bin/python /usr/bin/python 將現有Python做個軟鏈接 4 5 7 /usr/bin/python-2.6.6 查看自帶版本 8 9 python 查看現有安裝版本
(4)yum依賴原有Python版本,將yum指向原來的Python
vim /usr/bin/yum
將第一行中的“#!/usr/bin/python”修改為“#!/usr/bin/python-2.6.6”
第3章 變量及數據類型
3.1 變量,賦值的含義
變量:是計算機語言中能儲存計算結果的抽象概念,變量通常是可變的,變量可以通過變量名訪問,而且還占用一定的存儲空間。
賦值:將某一數值賦給某個變量的過程,一般用“=”表示。
name = “Ajen Liu” 字符串賦值需要“”
age = 24 數字直接賦值,但是如果想要數字變成字符串需要“24”
3.2 變量的命名規范
1.系統中的自帶名稱不能作為變量名稱,比如input
2.num_of_ajen_liu = 20 一般使用
3.NumOfAjenLiu = 20 這個也可以使用,看個人愛好,我覺得還是自己先決定一種格式,不然以后變來變去的,很是麻煩
4.數字不能開頭命名(7dd 是錯誤的)
5.!name 特殊符號不能命令
6.num of ajen liu 這種也是錯誤的,變量命名不能有空格
3.3 條件判斷與縮進
說到判斷就讓人很容易想到 if …else…,但是在Python中卻相差很大
1 luck_number = 2 2 3 guess_number = input(“Enter you number:”) 4 5 if guess_number == luck_number: 6 7 print(“恭喜你,猜對了!”) #在此處前面空格,不是為了好看,而是為了強制縮進 8 9 elif guess_number > luck_number: 10 11 print(“對不起,猜大了!”) 12 13 else: 14 15 print(“對不起,猜小了”) 16 17 如果你的程序中會出現IndentationError,則你的代碼中出現縮進錯誤
3.4循環控制及次數限制(計數器)
1 luck_number=1 2 guess_number = int(input("輸入:")) 3 while True: #用while True能夠實現無限循環, 4 if guess_number != luck_number: 5 print("aaa") 6 else: 7 print("qqq") 8 9 10 11 for i in range(3): #能夠限制次數 12 13 print(“LOOP”,i)
計數器
1 luck_number=1 2 guess_number = int(input("輸入:")) 3 guess_count = 0 #在此處設定一個計數器 4 while True: #用while True能夠實現無限循環, 5 if guess_number != luck_number: 6 guess_count += 1 7 if guess_count>2: #滿足條件跳出循環 8 break 9 print("aaa") 10 else: 11 print("qqq")
3.5 常用數據類型
數字: int(整數型) Float(浮點型) Long(長整型) type(0.5)可以查看類型
字符串:字符串格式化 name = ‘liuqiang’ print(“Name:%s” %name)
常用功能:name=raw_input(“name:”).strip() 去掉空白 strip(‘A’)去掉括號內的字符串
3.6 列表
name_list = [‘ajen’,’one’,’enlish’,’it’,’money’]
追加:name_list.append(‘yum’) 在列表中最后一位追加一個字符串
name_list = [‘ajen’,’one’,’enlish’,’it’,’money’,’yum’]
索引:name_list.idex(‘one’) 輸出是1 以0為起始
name_list[0] 輸出是ajen
統計:name_list.count(‘ajen’) 輸出是1,統計ajen的個數
插入:name_list.insert(2,’liu’) 此處2,個人理解是索引數2或者第二個位置后面
name_list = [‘ajen’,’one’,’liu’,’enlish’,’it’,’money’,’yum’]
刪除:name_list.pop() 刪除最后一個
刪除多個重復的:for i range(name_list.count(‘liu’))
name_list.remove(‘liu’)
切片:name_list[0:2]
Name_list[0:5:2] 隔着切
3.7 簡單的嵌套循環
1 for j in range(5): 2 for i in range(10): 3 if i < 5: 4 print("輸出:",i) 5 continue #跳出本次循環,滿足上面的判斷條件,則執行continue上面的語句,不滿足條件,跳出循環,執行continue下面的語句 6 print("打印:",i) 7 if j > 3: 8 print("計數:",j) 9 break #跳出這一層的循環
3.8 文件操作
(1)選擇文件路徑和模式:
file_obj = open(“文件路徑”,”打開文件模式”)
打開文件模式:r 只讀方式打開文件
w 打開一個文件用於寫入
a 打開一個文件用於追加
w+ 打開一個文件用於寫讀
注意:w 和 w+ 都是先將文件內容清空,再進行寫入操作,執行此操作要備份並慎重
(2)執行文件:讀或寫
讀取文件的內容:
file_obj.read() 一次性加載所有內容到內存
file_obj.readlines() 一次性加載所有內容到內存,並根據行分割成字符串
for line in file_obj: 每次只讀取一行內容
print line
(3)關閉文件
file_obj.close()
參考【1】http://baike.baidu.com/link?url=cNVmMed2W56sNvyRGWiNMi6KtxthVKIRstkQyaMVz9JMWunyUKe-g2bcOho8wjk6PJbnfi-rW1P1GrizZTEFla