Python語言是一種面向對象的程序語言,具有易于學習、易于使用、易于維護、功能強大等一系列特點,在大數(shù)據(jù)與人工智能領域應用廣泛。本書較系統(tǒng)地介紹了Python語言程序設計。主要內容包括概述、數(shù)據(jù)類型與表達式、程序流程控制、函數(shù)、面向對象編程、序列與列表、元組、字典、集合、字符串、異常與處理、日期與時間、文件處理、數(shù)據(jù)處理和數(shù)據(jù)可視化等。
本書注重基本方法和實際應用的介紹,實例豐富、語言精練、邏輯層次清晰,適合作為高校Python語言程序設計教材,也可以作為科技人員的參考用書。
本書以教材的形式介紹和展現(xiàn)了Python語言的主要內容,重點介紹Python語言程序設計的方法,并結合科學計算、數(shù)據(jù)處理、信息安全和可視化等信息領域的應用實例構造了全書的架構。
雖然已出現(xiàn)幾百種高級編程語言,但目前流行的僅有20余種,其中Python語言、C語言、C++語言和Java語言是當下Z為流行的4種高級程序設計語言。
Python是一種跨平臺、面向對象的動態(tài)型高級程序設計語言,Z初設計用于編寫自動化腳本(shell),之后由于版本的不斷更新和新功能的添加,Python更多地用于獨立大型項目的開發(fā)。
由于Python語言具有簡潔性、易讀性以及可擴展性,其用于科學計算日益增多,許多大學已經開設Python程序設計課程。眾多開源的科學計算軟件包都提供了Python的調用接口,例如著名的計算機視覺庫OpenCV、三維可視化庫VTK、醫(yī)學圖像處理庫ITK等。而Python專用的科學計算擴展庫就更多,例如十分經典的科學計算擴展庫NumPy、SciPy、matplotlib和pandas,它們分別為Python提供了快速數(shù)組處理、數(shù)值運算、繪圖以及數(shù)據(jù)處理功能。
Python在設計理念上堅持了清晰劃一的風格,這使得Python成為一門易使用、易理解、易維護,并且被大量用戶所歡迎的、用途廣泛的語言。Python的作者有意地設計限制性很強的語法,使得不好的編程習慣都不能通過編譯。其中很重要的一項就是Python的縮進規(guī)則,這使得程序更加清晰和美觀。
Python擁有一個強大的標準庫。Python語言的核心包含數(shù)字、字符串、列表、字典、文件等常見類型和函數(shù),而由Python標準庫提供了系統(tǒng)管理、網絡通信、文本處理、數(shù)據(jù)庫接口、圖形系統(tǒng)、XML處理等額外的功能。Python標準庫命名接口清晰、文檔良好,很容易學習和使用。
Python社區(qū)提供了大量的第三方模塊,使用方式與標準庫類似。它們的功能無所不包,覆蓋科學計算、Web開發(fā)、數(shù)據(jù)庫接口、圖形系統(tǒng)多個領域,并且大多成熟而穩(wěn)定。第三方模塊可以使用Python或者C語言編寫。SWIG、SIP常用于將C語言編寫的程序庫轉換為Python模塊。Boost C++ Libraries包含了一組庫Boost.Python,使得以Python 或 C++ 編寫的程序能互相調用。Python已成為一種強大的應用于其他語言與工具之間的膠水語言。
Python標準庫的主要功能有以下幾點:
文本處理:包含文本格式化、正則表達式匹配、文本差異計算與合并、Unicode支
持、 二進制數(shù)據(jù)處理等功能。
文件處理:包含文件操作、創(chuàng)建臨時文件、文件壓縮與歸檔、操作配置文件等功能。
操作系統(tǒng)功能:包含線程與進程支持、IO復用、日期與時間處理、調用系統(tǒng)函數(shù)、
書寫日記等功能。
網絡通信:包含網絡套接字、SSL加密通信、異步網絡通信等功能。
網絡協(xié)議:支持HTTP、FTP、SMTP、POP、IMAP、NNTP、XMLRPC等多種網
絡協(xié)議,并提供了編寫網絡服務器的框架。
W3C格式支持:包含HTML、SGML、XML的處理。
其他功能:包括國際化支持、數(shù)學運算、HASH、Tkinter等。
自從20世紀90年代初Python語言誕生至今,經歷了近30年的時間,其應用越來越廣泛,主要應用領域有Web 和 Internet開發(fā)、科學計算和統(tǒng)計、人工智能、數(shù)據(jù)處理、桌面界面開發(fā)、軟件開發(fā)、后端開發(fā)、網絡爬蟲等。
本書以教材的形式介紹和展現(xiàn)了Python語言的主要內容,重點介紹Python語言程序設計的方法,并結合科學計算、數(shù)據(jù)處理、信息安全和可視化等信息領域的應用實例構造了全書的架構。由于時間和水平有限,書中不足之處在所難免,懇請批評指正。
編 者
2020年8月
陳明,國內計算機科學領域資深專家,曾任大連理工大學計算機科學與工程系教授、系主任,中國石油大學(北京)計算機科學與技術系教授、系主任。中國計算機學會理事、中國人工智能學會理事、中國人工智能學會智能信息網專委會副主任。全國高校計算機基礎教育研究會常務理事、教育部IT&AT 教育工程專家組成員。
目錄
第 1 章 概述1
1.1 程序設計語言概述2
1.1.1 機器語言2
1.1.2 匯編語言3
1.1.3 高級語言4
1.2 Python語言的特點與應用6
1.2.1 Python語言的特點6
1.2.2 Python語言主要版本7
1.2.3 Python的應用場景7
1.3 程序的設計與運行8
1.3.1 規(guī)劃程序9
1.3.2 編寫程序代碼及注釋9
1.3.3 編譯程序代碼9
1.3.4 執(zhí)行程序10
1.3.5 排錯與測試10
1.3.6 程序代碼的整理與保存10
1.4 Python開發(fā)環(huán)境部署11
1.4.1 IDLE11
1.4.2 Anaconda312
1.4.3 文本編輯12
1.5 Python基礎語法14
1.5.1 一個簡單的Python程序14
1.5.2 Python程序的基本結構 15
1.5.3 基本語法規(guī)則15
1.6 模塊17
1.6.1 Python模塊概述17
1.6.2 模塊導入方法18
1.7 字符編碼21
1.7.1 Unicode編碼21
1.7.2 編碼轉換22
小結23
習題23
第 2 章 數(shù)據(jù)類型與表達式24
2.1 基本數(shù)據(jù)類型25
2.1.1 數(shù)值類型25
2.1.2 字符串型28
2.1.3 布爾型28
2.1.4 空值29
2.2 復合數(shù)據(jù)類型29
2.2.1 集合29
2.2.2 列表29
2.2.3 元組30
2.2.4 字典 30
2.3 變量與常量30
2.3.1 變量30
2.3.2 常量32
2.4 運算符33
2.4.1 算術運算符33
2.4.2 比較運算符34
2.4.3 賦值運算符35