版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
國家軟件與集成電路公共服務平臺信息技術緊缺人才培養(yǎng)工程指定教材
Python程序開發(fā)案例教程
黑馬程序員編著
內(nèi)容簡介
Python是近年來最流行的編程語言之一,其簡潔的語法和卓越的可讀性使其成為初學者的完
美編程語言,并且深受編程人員的喜好和追捧。
本書以Python3.7為開發(fā)環(huán)境,從入門者的角度出發(fā),以簡潔、通俗易懂的語言逐步展開
Python語言教學。全書共分17章,內(nèi)容包括Python環(huán)境搭建、數(shù)字類型與字符串、流程控制、
列表與元組、集合和字典、函數(shù)、類與對象、模塊、文件與文件路徑操作、錯誤和異常、正則表
達式、圖形用戶界面編程、進程和線程、網(wǎng)絡編程、數(shù)據(jù)庫編程、Django框架介紹以及綜合實戰(zhàn)
項目。本書配有大量典型的實例,讀者可以邊學邊練習,鞏固所學知識,并在實踐中提升實際開
發(fā)能力。
本書適合作為高等院校計算機相關專業(yè)及其他工科專業(yè)的Python教材,也可作為編程人員及
自學者的輔助教材或自學參考書。
圖書在版編目(CIP)數(shù)據(jù)
Python程序開發(fā)案例教程/黑馬程序員編著.—北京:
中國鐵道出版社有限公司,2019.10
國家軟件與集成電路公共服務平臺信息技術緊缺人才
培養(yǎng)工程指定教材
ISBN978-7-113-25972-3
Ⅰ.①P…Ⅱ.①黑…Ⅲ.①軟件工具-程序設計-
高等學校-教材Ⅳ.①TP311.561
中國版本圖書館CIP數(shù)據(jù)核字(2019)第180132號
書名:Python程序開發(fā)案例教程
作者:黑馬程序員
策劃:秦緒好翟玉峰編輯部電話2067
責任編輯:翟玉峰彭立輝
封面設計:劉穎
責任校對:張玉華
責任印制:郭向偉
出版發(fā)行:中國鐵道出版社有限公司(100054,北京市西城區(qū)右安門西街8號)
網(wǎng)址:/51eds/
印刷:北京柏力行彩印有限公司
版次:2019年10月第1版2019年10月第1次印刷
開本:787mm×1092mm1/16印張:19.75字數(shù):491千
印數(shù):1~3000冊
書號:ISBN978-7-113-25972-3
定價:52.00元
版權所有侵權必究
凡購買鐵道版圖書,如有印制質(zhì)量問題,請與本社教材圖書營銷部聯(lián)系調(diào)換。電話:(010)63550836
打擊盜版舉報電話:(010)51873659
序
自“黑馬程序員”成立以來,教學研發(fā)團隊一直致力于打造精品課程資源,不斷
在產(chǎn)、學、研3個層面創(chuàng)新自己的執(zhí)教理念與教學方針,并集中“黑馬程序員”的優(yōu)勢
力量,有針對性地出版了計算機系列教材80多種,制作教學視頻數(shù)十套,發(fā)表各類技
術文章數(shù)百篇。
江蘇傳智播客教育科技股份有限公司(簡稱傳智播客)是一家致力于培養(yǎng)高素質(zhì)軟件
開發(fā)人才的科技公司,“黑馬程序員”是傳智播客旗下高端IT教育品牌。
“黑馬程序員”的學員多為大學畢業(yè)后,想從事IT行業(yè),但各方面條件還不成熟的年
輕人?!昂隈R程序員”的學員篩選制度非常嚴格,包括了嚴格的技術測試、自學能力測試,
還包括性格測試、壓力測試、品德測試等。百里挑一的殘酷篩選制度確保了學員質(zhì)量,并
降低了企業(yè)的用人風險。
“黑馬程序員”不僅斥資研發(fā)IT系列教材,還為高校師生提供以下配套學習資源與
服務。
為大學生提供的配套服務
(1)請登錄在線平臺,進入“高校學習平臺”,免費獲取海量學
習資源,幫助高校學生解決學習問題。
(2)針對高校學生在學習過程中存在的壓力等問題,我們還面向大學生量身打造了
IT技術女神——“播妞學姐”,可提供教材配套源碼和習題答案以及更多IT其他干貨資源,
同學們快來關注“播妞學姐”,微信公眾號:boniu1024。
“播妞學姐”微信公眾號
2Python程序開發(fā)案例教程
為教師提供的配套服務
針對高校教學,“黑馬程序員”為IT系列教材精心設計了“教案+授課資源+考試系
統(tǒng)+題庫+教學輔助案例”的系列教學資源,高校老師請登錄在線平臺進
入“高校教輔平臺”或關注碼大牛老師微信/QQ:2011168841,獲取配套資源,也可以掃
描下方二維碼,加入專為IT教師打造的師資服務平臺——“教學好助手”,獲取最新教師
教學輔助資源的相關動態(tài)。
“教學好助手”微信公眾號
前言
隨著計算機的普及與智能設備的發(fā)展,人們對操作系統(tǒng)、應用程序、游戲等各種軟件的需求量
越來越大,各行各業(yè)都離不開程序開發(fā),因此社會對各種程序開發(fā)人員,如Python、C、C++、Java、
PHP等開發(fā)人員的需求量也大大提升。2016年,AlphaGo擊敗人類職業(yè)圍棋選手,引發(fā)了人工智能
和Python語言的熱潮;2018年3月,Python成為全國計算機等級考試二級新增科目,再度掀起Python
熱潮。由于Python具備語法簡單、易于閱讀、高效、可移植、可擴展、可嵌入、易于維護等優(yōu)點,
被廣泛應用于目前火熱的Web開發(fā)、網(wǎng)絡爬蟲、人工智能、機器學習、大數(shù)據(jù)與云計算領域。
為什么要學習本書
對于已步入編程領域的人而言,學習一門語言并不難,難的是如何將語言應用到實際開發(fā)之
中。使用本書可幫助具有編程基礎的人群快速掌握Python語言,并熟練將Python應用于開發(fā)之中。
本書采用“理論+實踐”模式,不僅采用通俗易懂的語言講解了Python開發(fā)必備的理論知識,
而且提供了實用性兼趣味性的實例,其目的是幫助讀者更好地將理論知識應用于實際場景中,加
深對知識的理解和掌握。除此之外,本書最后章節(jié)還介紹了一個Web框架和Web項目,使讀者初
步具備使用Django框架開發(fā)Web項目的能力。
如何使用本書
本書在Windows平臺上基于Python3.7對Python語法以及程序設計相關知識進行講解。全書共
分17章,各章內(nèi)容分別如下:
第1章主要介紹Python的入門知識,包括Python的特點、版本、應用領域、Python開發(fā)環(huán)境的
搭建、編程規(guī)范,以及Python中的變量、輸入/輸出函數(shù)等。通過本章的學習,希望學生能夠獨立
搭建Python開發(fā)環(huán)境,并對Python開發(fā)有初步的認識,為后續(xù)學習做好鋪墊。
第2章主要介紹Python中的數(shù)據(jù)類型(包括數(shù)字類型、字符串類型)、數(shù)據(jù)類型轉(zhuǎn)換、運算
符等知識。通過本章的學習,希望讀者能掌握Python中的基本數(shù)據(jù)類型的常見操作,并多加揣摩
與動手練習,為后續(xù)的學習打好扎實的基礎。
第3章主要介紹Python流程控制,包括if語句、if語句的嵌套、循環(huán)語句、循環(huán)嵌套以及跳轉(zhuǎn)
語句。通過本章的學習,希望讀者能夠熟練掌握Python流程控制的語法,并靈活運用流程控制語
句開發(fā)程序。
第4章主要介紹Python中列表與元組的基本使用,首先介紹了列表,包括列表的創(chuàng)建、訪問
列表元素、列表的遍歷和排序、嵌套類別,以及添加、刪除和修改列表元素,然后介紹了元組,
包括元組的創(chuàng)建、訪問元組的元素。通過本章的學習,希望讀者能夠掌握列表和元組的基本使用,
并靈活運用列表和元組進行Python程序開發(fā)。
第5章主要介紹Python中的字典與集合,包括字典的創(chuàng)建、訪問、字典的基本操作以及集合
的創(chuàng)建、基本操作和操作符。通過本章的學習,希望讀者能夠熟練使用字典和集合存儲數(shù)據(jù),為
后續(xù)的開發(fā)打好基礎。
IIPython程序開發(fā)案例教程
第6章主要介紹Python中的函數(shù),包括函數(shù)的定義和使用、函數(shù)的參數(shù)傳遞、變量的作用域、
匿名函數(shù)、遞歸函數(shù),以及Python常用的內(nèi)置函數(shù)。通過本章的學習,希望讀者能夠靈活地定義
和使用函數(shù)。
第7章主要介紹類與面向?qū)ο笾R,包括面向?qū)ο蟾攀觥㈩惡蛯ο蟮年P系、類的定義與訪問、
對象的創(chuàng)建與使用、類成員的訪問限制、構(gòu)造方法與析構(gòu)方法、類方法和靜態(tài)方法、繼承、多態(tài)
等知識。通過本章的學習,希望讀者理解面向?qū)ο蟮乃枷?,能熟練地定義和使用類,并具備開發(fā)
面向?qū)ο箜椖康哪芰Α?/p>
第8章主要介紹與Python模塊相關知識,包括模塊的定義、模塊的導入方式、常見的標準模
塊、自定義模塊、模塊的導入特性、包以及下載與安裝第三方模塊。模塊和包不僅能提高開發(fā)效
率,而且使代碼具有清晰的結(jié)構(gòu)。通過本章的學習,希望讀者能熟練地定義和使用模塊、包。
第9章主要介紹Python中的文件與路徑操作,包括文件的打開與關閉、文件的讀/寫、文件的
定位讀取、文件的復制與重命名、獲取當前路徑、檢測路徑有效性等。通過本章的學習,希望讀
者掌握文件與路徑操作的基礎知識,能在實際開發(fā)中熟練地操作文件。
第10章主要介紹Python中與異常相關的知識,包括異常概述、異常的捕獲、異常的拋出、自
定義異常以及如何使用with語句處理異常。通過本章的學習,希望讀者能夠掌握Python中異常的
使用方法。
第11章主要介紹正則表達式的基本知識以及Python中提供正則表達式相關功能的re模塊,其
中正則表達式的基礎知識包括元字符、預定義字符集、基本的匹配規(guī)則;re模塊包括預編譯、匹
配搜索、匹配對象、全文匹配、檢索替換、文本分割、貪婪匹配等知識。通過本章的學習,希望
讀者能夠在程序中熟練運用正則表達式。
第12章對Python中用于搭建圖形用戶界面的tkinter模塊的相關知識進行了講解,包括如何利
用tkinter構(gòu)建簡單GUI、tkinter組件通用屬性、tkinter基礎組件、幾何布局管理器、事件處理方式、
菜單以及消息對話框。通過本章的學習,希望讀者能夠掌握tkinter模塊的基礎知識,并能熟練利
用tkinter搭建圖形用戶界面。
第13章主要介紹兩種多任務編程的方式:進程和線程。首先介紹的是關于進程的知識,包括
進程的概念、進程的創(chuàng)建方式、進程間的通信;然后介紹關于線程的知識,包括線程的概念、線
程的基本操作、線程中的鎖和線程的同步。通過本章的學習,希望讀者能掌握進程和線程的使用,
并合理地運用到現(xiàn)實開發(fā)中。
第14章介紹和網(wǎng)絡編程相關的知識,包括基礎的網(wǎng)絡知識、socket網(wǎng)絡編程的通信流程與內(nèi)
置方法,并通過幾個簡單實例分別講解和演示了如何基于UDP、TCP的網(wǎng)絡通信,以及TCP并發(fā)
服務器和I/O多路轉(zhuǎn)接服務器的原理與多種實現(xiàn)方法。通過本章的學習,希望讀者能夠了解基礎網(wǎng)
絡知識,掌握socket網(wǎng)絡編程的通信流程,熟練實現(xiàn)基于UDP、TCP的網(wǎng)絡通信,并掌握并發(fā)服務
器與多路轉(zhuǎn)接服務器的基礎模型。
第15章首先介紹數(shù)據(jù)庫的分類,其次介紹MySQL數(shù)據(jù)庫與Python程序的交互,包括下載安裝
MySQL、安裝pymysql庫、pymysql庫的常用對象和基本使用,然后介紹了MongoDB數(shù)據(jù)庫與Python
程序的交互,包括下載安裝MongoDB、安裝pymongo模塊、pymongo模塊的常用對象和基本使用,
最后介紹了Redis數(shù)據(jù)庫與Python程序的交互,包括下載安裝Redis、安裝redis模塊、redis模塊的常
用對象和基本使用。通過本章的學習,希望讀者能使用Python程序與數(shù)據(jù)庫進行交互。
第16章主要介紹前端基礎知識、Web框架、Django的基本使用,其中前端基礎知識包括HTTP
協(xié)議、HTML簡介、CSS簡介、JavaScript簡介;Web框架知識包括WSGI規(guī)范、WSGI服務器;Django
的基本使用包括Django概述、創(chuàng)建Django項目、創(chuàng)建Django應用、視圖函數(shù)、模板使用、配置訪問
路由。通過本章的學習,希望讀者能夠了解前端基礎知識與Web框架,熟悉Django框架的使用方法。
前言III
第17章首先介紹天天生鮮項目的各應用中所包含的功能和各個頁面所提供的功能,然后分頁
面逐一實現(xiàn)了天天生鮮項目。通過本章的學習,希望讀者能熟練使用Django框架,具備利用Django
框架開發(fā)Web項目的能力。
本書配有大量豐富有趣的實例,因受篇幅限制,書中只給出實例題目、實例分
析、實例實現(xiàn)的電子檔可以掃描右側(cè)的二維碼下載,也可以從
/51eds/下載,書中所有實例索引見下表。
實例索引
章節(jié)對應小節(jié)實例名稱
1.4實例1:海洋單位距離的換算
第1章
1.5實例2:打印名片
2.1.2實例1:根據(jù)身高體重計算BMI指數(shù)
2.1.4實例2:模擬超市收銀抹零行為
2.2.5實例3:文本進度條
2.2.6實例4:敏感詞替換
第2章
2.4.1實例5:判斷水仙花數(shù)
2.4.2實例6:找出最大數(shù)
2.4.3實例7:計算三角形面積
2.4.4實例8:下載操作模擬
3.1.2實例1:判斷4位回文數(shù)
3.1.3實例2:獎金發(fā)放
3.1.4實例3:根據(jù)身高體重計算某個人的BMI值
3.2.2實例4:模擬乘客進站流程
3.2.3實例5:快遞計費系統(tǒng)
第3章
3.3.2實例6:數(shù)據(jù)加密
3.3.3實例7:逢七拍手游戲
3.3.5實例8:登錄系統(tǒng)賬號檢測
3.4.3實例9:九九乘法表
3.5.3實例10:猜數(shù)游戲
4.1.3實例1:刮刮樂
4.2.3實例2:商品價格區(qū)間設置與排序
第4章4.3.4實例3:好友管理系統(tǒng)
4.4.2實例4:隨機分配辦公室
4.5.3實例5:中文數(shù)字對照表
5.1.3實例1:單詞識別
第5章5.2.4實例2:手機通訊錄
5.4.3實例3:生詞本
IVPython程序開發(fā)案例教程
6.1.3實例1:計算器
6.3.3實例2:學生信息管理系統(tǒng)
第6章
6.4.3實例3:漢諾塔
6.4.4實例4:斐波那契數(shù)列
7.5實例1:銀行管理系統(tǒng)
第7章
7.7實例2:井字棋
8.6實例1:隨機生成驗證碼
第8章
8.7實例2:繪制多角星
9.2.2實例1:身份證歸屬地查詢
第9章9.3.2實例2:通訊錄
9.8實例3:用戶登錄
第10章10.6實例:身份歸屬地查詢添加異常
11.4.3實例1:判斷手機號所屬運營商
第11章11.8實例2:電影信息提取
11.11實例3:用戶注冊驗證
12.5.3實例1:秒表計時器
第12章12.6.4實例2:電子計算器
12.8實例3:圖書管理系統(tǒng)登錄界面
第13章13.8實例:生產(chǎn)者與消費者模式
14.2.4實例1:掃描開放端口
第14章
14.5實例2:TCP文件下載
第15章15.5實例:用戶注冊登錄
致謝
本書的編寫和整理工作由傳智播客教育科技股份有限公司完成,主要參與人員有呂春林、
高美云、王曉娟、孫東、鄭瑤瑤等,全體人員在這近一年的編寫過程中付出了很多辛勤的汗水,
在此一并表示衷心的感謝。
意見反饋
盡管我們付出了最大的努力,但書中仍難免存在不妥之處,歡迎各界專家和讀者朋友來信提
出寶貴意見,我們將不勝感激。您在閱讀本書時,如果發(fā)現(xiàn)任何問題或有不認同之處,可以通過
電子郵件與我們?nèi)〉寐?lián)系。
請發(fā)送電子郵件至:itcast_book@。
黑馬程序員
2019年6月
目錄
第1章開啟Python學習之旅1
1.1Python概述1
1.1.1Python的特點1
1.1.2Python的版本2
1.1.3Python應用領域4
1.2搭建Python開發(fā)環(huán)境5
1.2.1Python的安裝5
1.2.2IDLE的使用8
1.2.3集成開發(fā)環(huán)境PyCharm的
安裝與使用9
1.3快速開發(fā)Python程序13
1.3.1開發(fā)第一個Python程序:
模擬手機充值13
1.3.2良好的編程約定14
1.3.3數(shù)據(jù)的表示——變量15
1.3.4基本輸入/輸出15
1.4實例1:海洋單位距離的換算...16
1.5實例2:打印名片16
小結(jié)17
習題17
第2章數(shù)字類型與字符串18
2.1數(shù)字類型18
2.1.1數(shù)字類型的表示方法18
IIPython程序開發(fā)案例教程
2.1.2實例1:根據(jù)身高體重計算3.1.2實例1:判斷4位回文數(shù)35
BMI指數(shù)193.1.3實例2:獎金發(fā)放36
2.1.3類型轉(zhuǎn)換函數(shù)203.1.4實例3:根據(jù)身高體重計算
2.1.4實例2:模擬超市收銀抹零某個人的BMI值36
行為203.2if語句的嵌套36
2.2字符串213.2.1if語句嵌套36
2.2.1字符串的定義213.2.2實例4:模擬乘客進站
2.2.2字符串的格式化輸出21流程37
2.2.3字符串的常見操作233.2.3實例5:快遞計費系統(tǒng)37
2.2.4字符串的索引與切片253.3循環(huán)語句38
2.2.5實例3:文本進度條253.3.1for循環(huán)38
2.2.6實例4:敏感詞替換263.3.2實例6:數(shù)據(jù)加密38
2.3運算符263.3.3實例7:逢七拍手游戲39
2.3.1算術運算符263.3.4while循環(huán)39
2.3.2比較運算符273.3.5實例8:登錄系統(tǒng)賬號
2.3.3賦值運算符27檢測39
2.3.4邏輯運算符283.4循環(huán)嵌套40
2.3.5位運算符293.4.1while循環(huán)嵌套40
2.3.6運算符優(yōu)先級293.4.2for循環(huán)嵌套40
2.4經(jīng)典實例303.4.3實例9:九九乘法表41
2.4.1實例5:判斷水仙花數(shù)303.5跳轉(zhuǎn)語句41
2.4.2實例6:找出最大數(shù)303.5.1break語句41
2.4.3實例7:計算三角形面積..313.5.2continue語句42
2.4.4實例8:下載操作模擬313.5.3實例10:猜數(shù)游戲43
小結(jié)31小結(jié)43
習題31習題43
第3章流程控制33第4章列表與元組45
3.1if語句334.1認識列表45
3.1.1if語句的格式334.1.1列表的創(chuàng)建方式45
目錄III
4.1.2訪問列表元素465.2.2字典元素的刪除58
4.1.3實例1:刮刮樂465.2.3字典元素的查詢59
4.2列表的遍歷和排序475.2.4實例2:手機通訊錄60
4.2.1列表的遍歷475.3集合的創(chuàng)建方式61
4.2.2列表的排序475.4集合操作與操作符61
4.2.3實例2:商品價格區(qū)間設置5.4.1集合元素的添加、刪除
與排序48和清空61
4.3添加、刪除和修改列表元素485.4.2集合類型的操作符62
4.3.1添加列表元素485.4.3實例3:生詞本64
4.3.2刪除列表元素49小結(jié)64
4.3.3修改列表元素50習題64
4.3.4實例3:好友管理系統(tǒng)50
第6章函數(shù)66
4.4嵌套列表51
6.1函數(shù)的定義與調(diào)用66
4.4.1嵌套列表的創(chuàng)建與
6.1.1函數(shù)的定義66
訪問51
6.1.2函數(shù)的調(diào)用67
4.4.2實例4:隨機分配辦公室51
6.1.3實例1:計算器68
4.5認識元組52
6.2函數(shù)的參數(shù)傳遞68
4.5.1元組的創(chuàng)建方式52
6.2.1位置參數(shù)68
4.5.2訪問元組元素52
6.2.2關鍵字參數(shù)68
4.5.3實例5:中文數(shù)字對照表53
6.2.3默認參數(shù)69
小結(jié)54
6.2.4不定長參數(shù)69
習題54
6.3變量作用域70
第5章字典與集合566.3.1局部變量70
5.1認識字典566.3.2全局變量70
5.1.1字典的創(chuàng)建方式566.3.3實例2:學生信息管理
5.1.2通過“鍵”訪問字典57系統(tǒng)71
5.1.3實例1:單詞識別576.4函數(shù)的特殊形式71
5.2字典的基本操作576.4.1匿名函數(shù)71
5.2.1字典元素的添加和修改576.4.2遞歸函數(shù)72
IVPython程序開發(fā)案例教程
6.4.3實例3:漢諾塔73習題90
6.4.4實例4:斐波那契數(shù)列73
第8章模塊93
6.5Python常用內(nèi)置函數(shù)73
8.1模塊概述93
小結(jié)74
8.1.1模塊的概念93
習題74
8.1.2模塊的導入方式94
第7章類與面向?qū)ο?68.1.3常見的標準模塊95
7.1面向?qū)ο?68.2自定義模塊99
7.1.1面向?qū)ο蟾攀?68.3模塊的導入特性100
7.1.2面向?qū)ο蟮幕靖拍?78.3.1__all__屬性100
7.2類與對象798.3.2__name__屬性101
7.2.1類與對象的關系798.4Python中的包101
7.2.2類的定義與訪問808.4.1包的結(jié)構(gòu)101
7.2.3對象的創(chuàng)建與使用808.4.2包的導入102
7.2.4訪問限制818.5第三方模塊的下載與安裝102
7.3構(gòu)造方法與析構(gòu)方法828.6實例1:隨機生成驗證碼103
7.3.1構(gòu)造方法828.7實例2:繪制多角星104
7.3.2析構(gòu)方法83小結(jié)104
7.4類方法和靜態(tài)方法83習題104
7.4.1類方法84
第9章文件與文件路徑操作106
7.4.2靜態(tài)方法85
9.1文件的打開和關閉106
7.5實例1:銀行管理系統(tǒng)86
9.1.1打開文件106
7.6繼承86
9.1.2關閉文件107
7.6.1單繼承86
9.2從文件中讀取數(shù)據(jù)107
7.6.2多繼承87
9.2.1文件的讀取107
7.6.3方法的重寫88
9.2.2實例1:身份證歸屬地
7.6.4super()函數(shù)88
查詢109
7.7實例2:井字棋89
9.3向文件寫入數(shù)據(jù)109
7.8多態(tài)89
9.3.1數(shù)據(jù)寫入109
小結(jié)90
9.3.2實例2:通訊錄110
目錄V
9.4文件的定位讀取11010.5.1with語句126
9.5文件的復制與重命名11110.5.2上下文管理器127
9.5.1文件的復制11110.5.3自定義上下文管理器127
9.5.2文件的重命名11110.6實例:身份歸屬地查詢添加
9.6目錄操作112異常128
9.6.1創(chuàng)建目錄112小結(jié)128
9.6.2刪除目錄112習題128
9.6.3獲取目錄的文件列表113
第11章正則表達式130
9.7文件路徑操作113
11.1正則表達式基礎知識130
9.7.1相對路徑與絕對路徑113
11.1.1元字符130
9.7.2獲取當前路徑114
11.1.2預定義字符集132
9.7.3檢測路徑的有效性114
11.2re模塊133
9.7.4路徑的拼接114
11.3預編譯134
9.8實例3:用戶登錄115
11.4匹配與搜索135
小結(jié)115
11.4.1使用match()函數(shù)進行
習題115
匹配135
第10章錯誤和異常11711.4.2使用search()函數(shù)進行
10.1錯誤和異常概述117匹配136
10.2捕獲異常11911.4.3實例1:判斷手機號所屬
10.2.1try…except語句119運營商136
10.2.2捕獲異常信息11911.5匹配對象136
10.2.3else子句12111.6全文匹配138
10.2.4finally子句12211.6.1findall()函數(shù)138
10.3拋出異常12211.6.2finditer()函數(shù)138
10.3.1raise語句12311.7檢索替換139
10.3.2異常的傳遞12411.8實例2:電影信息提取139
10.3.3assert斷言語句12511.9文本分割139
10.4自定義異常12511.10貪婪匹配140
10.5with語句與上下文管理器12611.11實例3:用戶注冊驗證141
VIPython程序開發(fā)案例教程
小結(jié)14112.6.3彈出菜單165
習題14112.6.4實例2:電子計算器166
12.7消息對話框166
第12章圖形用戶界面編程143
12.8實例3:圖書管理系統(tǒng)登錄
12.1tkinter概述143
界面167
12.1.1認識tkinter143
小結(jié)168
12.1.2構(gòu)建簡單的GUI144
習題168
12.2tkinter組件概述148
12.2.1tkinter核心組件148第13章進程和線程169
12.2.2組件的通用屬性14913.1進程的概念169
12.3基礎組件介紹15013.2進程的創(chuàng)建方式171
12.3.1標簽Label15013.2.1通過fork()函數(shù)創(chuàng)建
12.3.2按鈕Button151進程171
12.3.3復選框Checkbutton15213.2.2通過Process類創(chuàng)建
12.3.4文本框Entry153進程173
12.3.5單選按鈕Radiobutton15413.2.3通過Pool類批量創(chuàng)建
12.3.6列表框List155進程174
12.3.7文本域Text15613.3進程間通信——Queue177
12.4幾何布局管理器15713.4線程的概念178
12.4.1pack布局管理器15713.5線程的基本操作179
12.4.2grid布局管理器15813.5.1線程的創(chuàng)建和啟動179
12.4.3place布局管理器15913.5.2線程的阻塞181
12.5事件處理15913.6線程鎖182
12.5.1command事件處理13.6.1互斥鎖182
方式15913.6.2死鎖184
可重入鎖
12.5.2bind事件處理方式16013.6.3186
線程同步
12.5.3實例1:秒表計時器16313.7187
通過類實現(xiàn)線程
12.6菜單16313.7.1Condition
同步
12.6.1頂級菜單163188
通過類實現(xiàn)線程
12.6.2下拉菜單16413.7.2Queue
同步190
目錄VII
13.8實例:生產(chǎn)者與消費者15.1.1數(shù)據(jù)庫概述224
模式19215.1.2數(shù)據(jù)庫的分類225
小結(jié)19315.2MySQL與Python交互226
習題19315.2.1下載和安裝MySQL227
15.2.2安裝pymysql238
第14章網(wǎng)絡編程195
15.2.3pymysql常用對象239
14.1網(wǎng)絡概述195
15.2.4pymysql的使用與示例..241
14.1.1協(xié)議與體系結(jié)構(gòu)195
15.3MongoDB與Python交互243
14.1.2數(shù)據(jù)傳輸流程197
15.3.1下載和安裝MongoDB...243
14.1.3網(wǎng)絡架構(gòu)198
15.3.2安裝pymongo245
14.1.4IP地址和端口號199
15.3.3pymongo常用對象246
14.2socket網(wǎng)絡編程基礎201
15.3.4pymongo的使用與示例.247
14.2.1socket套接字201
15.4Redis與Python交互248
14.2.2socket通信流程202
15.4.1下載和安裝Redis249
14.2.3socket內(nèi)置方法204
15.4.2安裝redis251
14.2.4實例1:掃描開放端口206
15.4.3redis常用對象251
14.3基于UDP的網(wǎng)絡聊天室206
15.4.4redis的使用與示例253
14.4基于TCP的數(shù)據(jù)轉(zhuǎn)換209
15.5實例:用戶注冊登錄253
14.5實例2:TCP文件下載211
小結(jié)254
14.6TCP并發(fā)服務器211
習題254
14.6.1單進程非阻塞服務器211
14.6.2多進程并發(fā)服務器214第16章Django框架介紹256
14.6.3多線程并發(fā)服務器21616.1前端基礎知識256
14.7I/O多路轉(zhuǎn)接服務器21716.1.1HTTP協(xié)議256
14.7.1select并發(fā)服務器21716.1.2HTML簡介259
14.7.2epoll并發(fā)服務器21916.1.3CSS簡介260
小結(jié)22216.1.4JavaScript簡介261
習題22316.2WSGI262
16.2.1WSGI規(guī)范262
第15章數(shù)據(jù)庫編程224
16.2.2WSGI服務器263
15.1數(shù)據(jù)庫基礎知識224
VIIIPython程序開發(fā)案例教程
16.3初識Django26517.4.1創(chuàng)建視圖函數(shù)287
16.4第一個Django項目——用戶17.4.2實現(xiàn)商品購買功能288
登錄26617.4.3創(chuàng)建模板文件289
16.4.1項目準備26617.4.4配置路由290
16.4.2編寫視圖函數(shù)27117.5商品分類頁面功能實現(xiàn)290
16.4.3設計模板文件27317.5.1創(chuàng)建視圖函數(shù)290
16.4.4配置訪問路由27417.5.2創(chuàng)建模板文件292
16.4.5演示項目功能27417.5.3配置路由293
小結(jié)27517.6購物車頁面功能實現(xiàn)294
習題27617.6.1創(chuàng)建視圖函數(shù)294
17.6.2實現(xiàn)刪除商品的功能294
第17章項目實戰(zhàn)——天天生鮮277
17.6.3創(chuàng)建模板文件295
17.1天天生鮮項目頁面展示277
17.6.4配置路由295
17.2前期準備280
17.7訂單提交頁面功能實現(xiàn)296
17.2.1需求分析280
17.7.1創(chuàng)建視圖函數(shù)296
17.2.2數(shù)據(jù)庫設計281
17.7.2實現(xiàn)訂單提交功能296
17.2.3項目創(chuàng)建282
17.7.3創(chuàng)建模板文件297
17.2.4定義模型類282
17.7.4配置路由298
17.2.5遷移文件283
17.8訂單提交成功頁面功能
17.2.6配置靜態(tài)文件284
實現(xiàn)298
17.3商品展示頁面功能實現(xiàn)285
17.8.1創(chuàng)建視圖函數(shù)298
17.3.1創(chuàng)建視圖函數(shù)285
17.8.2創(chuàng)建模板文件299
17.3.2創(chuàng)建模板文件286
17.8.3配置路由300
17.3.3配置路由287
小結(jié)300
17.4商品詳情頁面功能實現(xiàn)287
第1章開啟Python學習之旅
學習目標:
◎了解Python的特點、版本以及應用領域。
◎熟悉Python的下載與安裝。
◎了解PyCharm的安裝及簡單使用。
◎了解代碼規(guī)范,掌握變量的意義。
◎掌握Python的基本輸入/輸出。
在方興未艾的機器學習以及熱門的大數(shù)據(jù)分析技術領域,Python語言的熱度可謂是如日中天。
Python語言因簡潔的語法、出色的開發(fā)效率以及強大的功能,迅速在多個領域占據(jù)一席之地,成
為最符合人類期待的編程語言之一。
1.1Python概述
Python是一種面向?qū)ο蟮慕忉屝陀嬎銠C程序設計語言,它最初由荷蘭人吉多·范羅蘇姆研發(fā),
并于1991年首次發(fā)行。在使用Python進行開發(fā)之前,有必要先了解一下Python。本節(jié)將針對Python
的特點、版本和應用領域進行介紹。
1.1.1Python的特點
Python語言之所以能夠迅速發(fā)展,受到程序員的青睞,與它具有的特點密不可分。Python的
特點可以歸納為以下幾點:
1.簡單易學
Python語法簡潔,非常接近自然語言,它僅需少量關鍵字便可識別循環(huán)、條件、分支、函數(shù)
等程序結(jié)構(gòu)。與其他編程語言相比,Python可以使用更少的代碼實現(xiàn)相同的功能。
2.免費開源
Python是開源軟件,這意味著可以免費獲取Python源碼,并能自由復制、閱讀、改動;Python
在被使用的同時也被許多優(yōu)秀人才改進,進而不斷完善。
2Python程序開發(fā)案例教程
3.可移植性
Python作為一種解釋型語言,可以在任何安裝有Python解釋器的環(huán)境中執(zhí)行,因此使
Python程序具有良好的可移植性,在某個平臺編寫的程序無須或僅需少量修改便可在其他平
臺運行。
4.面向?qū)ο?/p>
面向?qū)ο蟪绦蛟O計(ObjectOrientedProgramming)的本質(zhì)是建立模型以體現(xiàn)抽象思維過程和
面向?qū)ο蟮姆椒?,基于面向?qū)ο缶幊趟枷朐O計的程序質(zhì)量高、效率高、易維護、易擴展。Python
正是一種支持面向?qū)ο蟮木幊陶Z言,因此使用Python可開發(fā)出高質(zhì)、高效、易于維護和擴展的優(yōu)
秀程序。
5.豐富的庫
Python不僅內(nèi)置了龐大的標準庫,而且定義了豐富的第三方庫幫助開發(fā)人員快速、高效地處
理各種工作。例如,Python提供了與系統(tǒng)操作相關的os庫、正則表達式re模塊、圖形用戶界面
tkinter庫等標準庫。只要安裝了Python,開發(fā)人員就可自由地使用這些庫提供的功能。除此之外,
Python支持許多高質(zhì)量的第三方庫,例如圖像處理庫pillow、游戲開發(fā)庫pygame、科學計算庫numpy
等,這些第三方庫可通過pip工具安裝后使用。
1.1.2Python的版本
目前,市場上Python2和Python3兩個版本并行。相比于早期的Python2,Python3歷經(jīng)了較
大的變革。為了不帶入過多的累贅,Python3在設計之初沒有考慮向下兼容,因此許多使用Python
2設計的程序無法在Python3上正常執(zhí)行。
Python官網(wǎng)推薦使用Python3,考慮到目前Python2在市場上仍占有較大份額,這里針對
Python2和Python3的部分區(qū)別進行介紹。
1.print()函數(shù)替代了print語句
Python2使用print語句進行輸出,Python3使用print()函數(shù)進行輸出。示例代碼如下:
Python2:
>>>print(3,4)
(3,4)
Python3:
>>>print(3,4)
34
2.Python3默認使用UTF-8編碼
Python2默認使用ASCII編碼,Python3中默認使用UTF-8編碼,以更好地實現(xiàn)對中文或其
他非英文字符的支持。例如,輸出“北京天安門”,Python2和Python3的示例與結(jié)果如下:
Python2:
>>>str="北京天安門"
>>>str
'\xe5\x8c\x97\xe4\xba\xac\xe5\xa4\xa9\xe5\xae\x89\xe9\x97\xa8'
Python3:
>>>str="北京天安門"
>>>str
第1章開啟Python學習之旅3
'北京天安門'
3.除法運算
Python語言的除法運算包含“/”和“//”這兩個運算符,它們在Python2和Python3的使用
介紹如下:
(1)運算符“/”:在Python2中,使用運算符“/”進行除法運算的方式和Java、C語言相似,
整數(shù)相除的結(jié)果是一個整數(shù),浮點數(shù)相除的結(jié)果是一個浮點數(shù)。但在Python3中使用運算符“/”
進行整數(shù)相除時,結(jié)果也會得到浮點數(shù)。示例代碼如下:
Python2:
>>>1/2#
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年代理合同糾紛處理程序
- 2025年度個人融資組合貸款居間擔保合同范本
- 2025年家庭醫(yī)療服務合同
- 龍蝦養(yǎng)殖技術服務合同范本
- 2025年度新能源汽車個人司機雇傭合同書
- 2025年度個人住房貸款還款計劃協(xié)議合同范本4篇
- 酒店客房管理合同
- 2025版教育培訓機構(gòu)與學校合作辦學協(xié)議書3篇
- 2025版塔吊租賃及安全監(jiān)理合同3篇
- 2025年全球及中國Z掃描系統(tǒng)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- T型引流管常見并發(fā)癥的預防及處理
- JJG 1204-2025電子計價秤檢定規(guī)程(試行)
- 2024年計算機二級WPS考試題庫(共380題含答案)
- 中建集團面試自我介紹
- 2024年江蘇農(nóng)牧科技職業(yè)學院單招職業(yè)適應性測試題庫參考答案
- 2024版《53天天練單元歸類復習》3年級語文下冊(統(tǒng)編RJ)附參考答案
- 知識圖譜與大模型融合實踐研究報告
- 0-9任意四位數(shù)手機密碼排列組合全部數(shù)據(jù)列表
- 碳排放管理員 (碳排放核查員)技能考核內(nèi)容結(jié)構(gòu)表四級、技能考核要素細目表四級
- 物業(yè)五級三類服務統(tǒng)一標準
- 分期還款協(xié)議書范本
評論
0/150
提交評論