




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Python程序設計基礎教程概 述第 1 章第1頁,共476頁。 Python開發環境1.1 Python概述1.2 1.3 Python其他開發環境1.4 習題1.5 計算機網絡的類別第2頁,共476頁。1.1.1 Python的發展史 1.1.2 Python的特點1.1Python語言簡介 1.1.3 Python的應用領域 第3頁,共476頁。1.1 Python 語言簡介Python語言簡介Python 是一種被廣泛使用的優秀的編程語言,崇尚優美、清晰、簡單。 據統計,近年來 Python 的影響逐年擴大,2018 年 7 月的 TIOBE 排行榜顯 示,Python 已經在編程語言
2、中排行第 4(見圖 1-1),而且整體呈上升趨勢, 反映出 Python 應用越來越廣泛,也越來越得到業內的認可。圖 1-1 2018 年 7 月的 TIOBE 排行榜 1.1 Python 語言簡介第4頁,共476頁。1.1.1 Python 的發展史Python 語言的創始人是吉多范羅蘇姆(Guido van Rossum)。1989 年,為了打發圣誕節假期,吉多范羅蘇姆開始開發一個新的腳本解釋程 序,作為 ABC 語言的一種繼承,也就是 Python 語言的編譯器。Python 這 個名字,來自吉多所摯愛的電視劇 Monty Pythons Flying Circus。吉多希望 這個叫作
3、 Python 的語言能符合他的理想:創造一種處于 C 和 Shell 之間、 功能全面、易學易用、可拓展的語言。 1991 年,第一個 Python 編譯器誕生。它是用 C 語言實現的,并能夠調 用 C 語言的庫文件。從誕生開始,Python 就已經具有了類、函數、異常處 理、包含列表和詞典在內的核心數據類型,是以模塊為基礎的拓展系統。2000 年 10 月 16 日,Python 2.0 發布,實現了完整的垃圾回收,并且支持 Unicode。同時,整 個開發過程更加透明,在社區的影響也逐漸擴大。 1.1.1 Python 的發展史第5頁,共476頁。1.1.1 Python 的發展史200
4、8 年 12 月 3 日,Python 3.0 發布,此版本不完全兼容之前的 Python 代碼,不過,很多新 特征后來也被移植到了 Python 2.x 版本。目前,Python 最新版本為 3.7,其下載界面如圖 1-2 所示。圖 1-2 Python 3.7 版本下載界面第6頁,共476頁。1.1.2 Python的特點Python 作為一門高級編程語言,它的誕生雖然很偶然,但是它得到程序員的喜愛卻是必然的。Python 的定位是“優雅”“明確”“簡單”,所以 Python 程序看上去總是簡單易懂,初學者學 習 Python,不但入門容易,而且將來深入下去,可以編寫一些功能非常復雜的程序
5、。第7頁,共476頁。Python的優點1.簡單。作為初學 Python 的人員,直接的感覺就是 Python 非常簡單,非常適合閱讀。閱讀一個良好 的 Python 程序就感覺像是在讀英語文章一樣,盡管這個“英語文章”的要求非常嚴格。Python 的這種偽代碼本質是它最大的優點之一。它使你能夠專注于解決問題而不是去搞明白語言本身。2. 易學。Python 雖然是用 C 語言寫的,但是它擯棄了 C 語言中非常復雜的指針,簡化了 Python 的 語法結構。 3.免費開源。 Python 是 FLOSS(自由/開放源碼軟件)之一。簡單地說,用戶可以自由地發布這個軟件的 備份、閱讀它的源代碼、對它
6、做改動、把它的一部分用于新的自由軟件中。Python 的開發者希望 Python 能得到更多優秀的人參與創造并經常改進。 4.移植性強 。由于 Python 具有開源的本質,它已經被移植到許多平臺上(它經過改動能夠工作在不同平臺 上)。如果開發者能小心地避免使用 Python 依賴于系統的特性,那么幾乎所有 Python 程序無需修 改就可以在下述任何平臺上面運行,包括 Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC O
7、S、 VxWorks、PlayStation、Sharp Zaurus、Windows CE,甚至還有 PocketPC、Symbian 以及 Google 基于 Linux 開發的 Android 平臺。第8頁,共476頁。Python的優點5.解釋性編程語言。在計算機內部,Python 解釋器把源代碼轉換成稱為字節碼的中間形式,然后再把它翻譯成計 算機使用的機器語言并運行。事實上,由于用戶不再需要擔心如何編譯程序、如何確保連接轉載 正確的庫等,所以這一切使應用 Python 更加簡單。而且,Python 程序直接復制到另外一臺計算機 上就可以工作,這也使 Python 程序更加易于移植。
8、6.面向對象性。Python 既支持面向過程的函數編程,也支持面向對象的抽象編程。在面向過程的語言中,程 序是由過程或僅僅是可重用代碼的函數構建起來的;在面向對象的語言中,程序是由數據和功能 組合而成的對象構建起來的。與其他主要的語言(如 C+和 Java)相比,Python 以一種非常強大 又簡單的方式實現面向對象編程。7.可擴展性和可嵌入性。如果需要一段關鍵代碼運行得更快或者希望某些算法不公開,用戶可以把部分程序用 C 或 C+編寫,然后在 Python 程序中使用它們。也可以把 Python 嵌入 C/C+程序,從而向使用程序 的用戶提供腳本功能。 Python的優點第9頁,共476頁。
9、8.豐富的庫。Python 有豐富的標準庫和第三方庫可以使用。它可以幫助用戶處理各種工作,包括正則表達 式、文檔生成、單元測試、線程、數據庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、 HTML、WAV 文件、密碼系統、GUI(圖形用戶界面) 、Tk 和其他與系統有關的操作。只要安裝 了 Python,以上所有這些功能都是可用的。這被稱作 Python 的“功能齊全”理念。除了標準庫以 外,Python 還有許多其他高質量的庫,如 wxPython、Twisted 和 Python 圖像庫等。9.功能強大。Python 確實是一種十分精彩而又強大的語言,它合理地結合了高性能
10、與編寫程序簡單有趣的特色。10.規范的代碼。Python 采用強制縮進的方式使代碼具有極佳的可讀性。 Python的優點第10頁,共476頁。Python的缺點1.運行速度慢。如果用戶有速度要求的話,可以用 C+改寫關鍵部分,以提高運行速度。不過對一般用戶而 言,機器上運行速度的因素是可以忽略的,因為用戶幾乎感覺不到這種速度的差異。 2.不能加密。不能加密既是優點也是缺點。Python 的開源性使 Python 語言不能加密,但是目前國內市場純 粹靠編寫軟件賣給客戶的情況越來越少,網站和移動應用不需要給客戶源代碼,所以這個問題也 就不算是問題了。 3.構架選擇太多。Python 沒有像 C#這
11、樣的官方.NET 構架,也沒有像 Ruby 開發的相對集中的構架(Ruby on Rails 構架開發中小型 Web 程序首選)。不過這也從另一個側面說明,Python 比較優秀,吸引的開 發人才多,項目也多。 Python的缺點第11頁,共476頁。1.1.3 Python的應用領域Python 作為一個整體可以用于任何軟件開發領域,下面介紹 Python 主要應用的領域。 1Web 開發 目前最流行的 Python Web 框架 Django,支持異步高并發的 Tornado 框架,短小精悍的 Flask 和 Bottle。Django 官方的標語把 Django 定義為 the fram
12、ework for perfectionist with deadlines(為完 美主義者開發的高效率框架) 。2網絡編程 Python 支持高并發的 Twisted 網絡框架,Python 3 引入的 asyncio 使異步編程變得非常簡單。 3網絡爬蟲 在爬蟲領域,Python 幾乎是霸主地位,包括 Scrapy、Request、BeautifulSoap、urllib 等,用戶 需要爬取什么內容幾乎都可以爬取到。 第12頁,共476頁。1.1.3 Python的應用領域4云計算 目前最流行、最知名的云計算框架是 OpenStack,它正是由 Python 開發的。Python 現在的流
13、 行,很大一部分原因就是云計算的發展。 5人工智能 誰會成為 AI 和大數據時代的第一開發語言?這本已是一個不需要爭論的問題。如果說三 年前,Matlab、Scala、R、Java 和 Python 還各有機會,局面尚且不清楚,那么在 Facebook 開 源了 PyTorch 之后,Python 作為 AI 時代頭牌語言的位置基本確立,未來的懸念僅僅是誰能坐 穩第二把交椅。6自動化運維 如果問問運維人員,運維人員必須掌握的語言是什么?絕大多數的人會給出相同的答案 Python。 7金融分析 目前,Python 是金融分析、量化交易領域里使用最多的開發語言。第13頁,共476頁。1.1.3 P
14、ython的應用領域8科學運算 從 1997 年開始,美國國家航空航天局(National Aeronautics and Space Administration,NASA) 就大量使用 Python 進行各種復雜的科學運算,隨著 NumPy、SciPy、Matplotlib 和 Enthought librarys 等眾多程序庫的開發,使 Python 越來越適合于做科學計算、繪制高質量的 2D 和 3D 圖像。與科 學計算領域最流行的商業軟件 Matlab 相比,Python 是一門通用的程序設計語言,比 Matlab 所采 用的腳本語言的應用范圍更廣泛。 9游戲開發 Python 在網
15、絡游戲開發中也有很多應用。Python 比 Lua 有更高階的抽象能力,可以用更少的 代碼描述游戲業務邏輯,與 Lua 相比,Python 更適合作為一種 Host 語言,即程序的入口點在 Python 那一端會比較好,然后用 C/C+在非常必要的時候寫一些擴展。Python 非常適合編寫 1 萬行以上 的項目,而且能夠很好地把網游項目的規模控制在 10 萬行代碼以內。 第14頁,共476頁。1.2.1 Python IDLE簡介 1.2.2 Python開發環境安裝1.2.3 啟動Python1.2.4 運行Python程序1.2Python的開發環境第15頁,共476頁。互聯網在生活中的地
16、位1.2.1 Python IDLE 的簡介IDLE 是開發 Python 程序的基本 IDE(集成開發環境),具備基本的 IDE 的功能,是非商業 Python 開發的不錯的選擇。當安裝好 Python 以后,IDLE 就自動安裝好了,不需要另外安裝。同 時,使用 Eclipse 這個強大的框架時,IDLE 也可以非常方便地調試 Python 程序。IDLE 包括語法 加亮、段落縮進、基本文本編輯、TABLE 鍵控制和調試程序等基本功能。 IDLE 是標準的 Python 發行版,甚至是由創始人吉多親自編寫(至少最初的絕大部分)的, 開發者可以在能運行 Python 和 Tk 的任何環境下運
17、行 IDLE。打開 IDLE 后出現一個增強的交互命 令行解釋器窗口(具有比基本的交互命令提示符更好的復制、粘貼和回行等功能)。除此之外, IDLE 還有一個針對 Python 的編輯器(無代碼合并,但有語法標簽高亮和代碼自動完成功能)、類 瀏覽器和調試器。菜單為 Tk“剝離”式,也就是單擊頂部任意下拉菜單的虛線會將該菜單提升到 它自己的永久窗口中去。特別是“Edit”菜單,將其“停靠”在桌面一角非常實用。IDLE 的調試 器提供斷點、步進和變量監視功能,以及內存地址和變量內存數或進行同步和其他分析功能等一 些更受用戶歡迎的功能。Python 3.7.0 IDLE 界面如圖 1-3 所示。 1
18、.2.1 Python IDLE的簡介第16頁,共476頁。1.2.1 Python IDLE 的簡介圖 1-3 Python 3.7.0 IDLE 界面 1.2.1 Python IDLE的簡介第17頁,共476頁。互聯網已經成為現代社會最為重要的基礎設施互聯網在生活中的地位互聯網在生活中的地位1.2.2 Python開發環境安裝學習 Python 首先需要安裝開發環境。安裝后會得到 Python 解釋器,它負責運行 Python 程序。 Python 可以在命令行交互環境下或簡單的集成開發環境下運行。 目前,Python 有兩個版本,分別是 2.x 版本和 3.x 版本,這兩個版本并不兼容
19、。由于 3.x 版本越來越普及,本書以最新的 Python 3.7 版本為基礎。 1.2.2 Python開發環境安裝第18頁,共476頁。互聯網定義1.2.2 Python開發環境安裝安裝前要確定 Windows 操作系統的版本(32 位或 64 位),然后從 Python 官網下載對應的 Python 安裝程序并安裝,安裝界面如圖 1-4 所示。圖 1-4 Python 安裝界面1.2.2 Python開發環境安裝第19頁,共476頁。1.2.2 Python開發環境安裝安裝前要注意把“Add Python 3.7 to PATH”選上,這樣省去了手動配置環境變量的麻煩。選 中后單擊“In
20、stall Now”按鈕開始默認安裝,安裝的過程界面如圖 1-5 所示。 圖 1-5 Python 安裝過程界面第20頁,共476頁。1.2.2 Python開發環境安裝安裝程序會自動安裝,直到程序安裝完成,Python 安裝成功界面如圖 1-6 所示。 圖 1-6 Python 安裝成功界面第21頁,共476頁。1.2.3 啟動PythonPython 安裝完成后,通過 cmd 打開命令提示符窗口,輸入“Python”后回車,出現圖 1-7 所 示的界面,表明開發環境安裝配置成功。 圖 1-7 測試 Python 安裝及配置是否成功 第22頁,共476頁。1.2.3 啟動Python假如得到
21、一個錯誤:Python 不是內部或外部命令,也不是可運行的程序或批處理文件。這 是因為 Windows 會根據 Path 環境變量設定的路徑去查找 Python.exe,如果沒找到就會報錯,這也 是為什么安裝時強調把“Add Python 3.7 to PATH”選項選上的原因,選上后安裝程序自動為我們 配置了 Python 運行所需要的環境變量第23頁,共476頁。1.2.4 運行Python程序1交互式編程 交互式編程不需要創建腳本文件,是通過 Python 解釋器的交互模式來編寫代碼的。在 Windows 操作系統中,打開默認的交互式 IDE - IDLE。 進入交互式環境后,輸入以下文
22、本信息,然后按 Enter 鍵,運行效果如下所示。 print(Hello World!) Hello World! 第24頁,共476頁。1.2.4 運行Python程序2腳本式編程 通過腳本參數調用解釋器開始執行腳本,直到腳本執行完畢。當腳本執行完成后,解釋器不 再有效。 下面寫一個簡單的 Python 腳本程序,所有 Python 文件將以.py 為擴展名。將以下源代碼輸入 firstproc.py 文件中。 print(Hello World!) 打開 cmd 命令提示符,切換至 firstproc.py 所在目錄(例如:E:),使用以下命令執行腳本:Python firstproc.
23、py 運行結果如圖 1-8 所示第25頁,共476頁。圖 1-8 firstproc.py 運行結果 第26頁,共476頁。1.2.4 運行Python程序3Python IDLE (1)新建文件 單擊“File”“New File”打開一個新的窗口,并輸入程序。 print(Hello World!) (2)保存程序 在 IDLE 編寫完程序后,在菜單里依次選擇“File”“Save”(或者用 Ctrl+S 組合鍵)來進 行保存,首次保存時會彈出文件對話框,要求用戶輸入保存的文件名。此時保存的文件名為 firstproc.py。 (3)運行程序 文件編輯完成后,可以按 F5 鍵運行程序,或單
24、擊“Run”“Run Module”菜單項。 第27頁,共476頁。1.3 Python其他開發環境1Anaconda 簡介 Anaconda 是一個用于科學計算的 Python 發行版,支持 Linux、Mac、Windows 系統,包含了 眾多流行的科學計算、數據分析的 Python 包。此外,Anaconda 提供了包管理與環境管理的功能, 可以很方便地解決多版本 Python 并存、切換以及各種第三方包的安裝問題。Anaconda 利用工具/ 命令 conda 來進行 package 和 environment 的管理,并且已經包含了 Python 及其相關的配套工具。 與其說 Ana
25、conda 是一個 IDE,還不如說它是一個 Python 環境。Anaconda 中包含 Numpy、 Pandas、Matplotlib 等庫,所以說利用 Anaconda 可以避免讓用戶將過多的精力花在環境搭建上, 從而快速進入 Python、數據分析、機器學習等領域的探索當中。 第28頁,共476頁。1.3 Python其他開發環境2Eclipse+PyDev Eclipse 是一款基于 Java 的可擴展開發平臺,其官方下載中包括 Java SE、Java EE、Java ME 等諸多版本。除此之外,Eclipse 還可以通過安裝插件的方式進行諸如 Python、Android、PH
26、P 等語言 的開發。 PyDev 是一個功能強大的 Eclipse 插件,用戶可以完全利用 Eclipse 來進行 Python 應用程序的 開發和調試。它能夠將 Eclipse 當作 Python IDE。PyDev 插件的出現方便了眾多的 Python 開發人 員,它提供了一些很好的功能,如:語法錯誤提示、源代碼編輯助手、Quick Outline、Globals Browser、 Hierarchy View、運行和調試等。PyDev 基于 Eclipse 平臺,擁有諸多強大的功能,同時也非常易 于使用,它的這些特性使其越來越受到人們的關注。 Eclipse+PyDev 對 IDLE 進
27、行了封裝,提供了強大的功能,非常適合開發大型項目。 第29頁,共476頁。Python程序設計基礎教程語法基礎第 2 章第30頁,共476頁。 2.1 基本數據類型2.2 運算符與表達式2.3 習題1.4 習題1.5 計算機網絡的類別第31頁,共476頁。2.1.1 常量和變量2.1.2 數字類型2.1基本數據類型2.1.3 布爾類型2.1.4 字符串2.1.5 數據類型轉換第32頁,共476頁。1.1 Python 語言簡介Python語言簡介常量一般是指不需要改變也不能改變的字面值,常量一旦初始化之后就不能修改。例如:數字5,字符串abc都是常量。Python中并沒有提供定義常量的保留字。
28、變量是計算機內存中的一塊區域,變量可以存儲規定范圍內的值,而且值可以改變。基于變量的數據類型,解釋器會分配指定內存,并決定什么數據可以被存儲在內存中。與變量對比,常量是一塊只讀的內存區域,所以,常量一旦被初始化就不能被改變。Python中的變量不需要聲明,變量的賦值操作即是變量的聲明和定義的過程。每個變量在內存中創建都包括變量的標識、名稱、和數據這些信息。2.1.1 常量和變量圖2-1 變量的內部結構第33頁,共476頁。1.1.1 Python 的發展史變量操作如例2-1所示:例2-1:程序代碼:# 例2-1(變量操作)num = 1# 輸出變量num的值print(num = + str(
29、num)# 輸出表達式(num + 1)的值print(num + 1 = + str(num + 1)運行結果:num = 1num + 1 = 2注:(1)#為行注釋符號,#后內容為代碼注釋,方便代碼閱讀和理解;(2)在print(num = + str(x)代碼語句中,+為字符串連接符,str()函數一般把數值轉換為字符串。上例中有一條賦值語句num = 1,在Python中一次新的賦值,將創建一個新的變量。即使變量的名稱相同,變量的標識(變量的內存地址)并不同。2.1.1 常量和變量第34頁,共476頁。變量賦值如例2-2所示。例2-2:程序代碼:# 例2-2(變量賦值)print(=
30、第一次賦值=)# 變量num第一次賦值num = 1# 輸出變量num的值print(num = + str(num)# 打印變量num的標識(地址)print(id(num) = + str(id(num)print(=第二次賦值=)# 變量num再次賦值,定義一個新變量numnum = 2# 輸出變量num的值print(num = + str(num)# 此時的變量num已經是一個新的變量print(id(num) = + str(id(num)2.1.1 常量和變量第35頁,共476頁。1.1.2 Python的特點2.1.1 常量和變量運行結果:=第一次賦值=num = 1id(nu
31、m) = 2013018368=第二次賦值=num = 2id(num) = 2013018384注:id(object),返回對象object的內存地址。變量不僅能重新賦相同類型的值,還可以賦新類型的值。把上例中的變量num賦值為字符串,此時num又將成為一個新的變量,而且變量類型也由于所賦值的數據類型改變而改變。第36頁,共476頁。2.1.1 常量和變量例2-3:程序代碼:# 例2-3(變量賦值不同類型)print(=第一次賦值=)# 變量var第一次賦值var = 1# 輸出變量var的值print(var = + str(var)# 打印變量var的標識print(id(var) =
32、 + str(id(var)print(=第二次賦值=)# 變量var再次賦值,定義一個新變量varvar = 2# 輸出變量x的值print(var = + str(var)# 此時的變量var已經是一個新的變量第37頁,共476頁。Python的優點print(id(var) = + str(id(var)print(=第三次賦值=)# 變量var再次賦值為字符串類型,定義一個新變量varvar = Python# 輸出變量x的值print(var = + var)# 此時的變量var已經是一個新的變量print(id(var) = + str(id(var) 運行結果:=第一次賦值=va
33、r = 1id(var) = 2013018368=第二次賦值=var = 2id(var) = 2013018384=第三次賦值=var = Pythonid(var) = 68725122.1.1 常量和變量第38頁,共476頁。注:不同的系統(不同的電腦),運行的結果是不同的,這里的不同是指id(var)的數值不同,也就是在變量的內存地址有差異,對應的變量值是一樣的。在Python中定義變量名的時候,需要遵循以下規則。(1)變量必須以字符(大小寫字母和中文均可)、下劃線(_)開頭。雖然Python3.x的變量名支持中文,但建議最好不要使用中文作為變量名,這樣不但在編寫程序時輸入麻煩,而且
34、會降低程序的可移植性,更不符合程序員的編碼習慣。(2)變量只能由字符、數字、下劃線組成。(3)變量區分大小寫。(4)變量不能與Python內建的保留字相同。Python3.7.0的保留字如表2-1所示。2.1.1 常量和變量第39頁,共476頁。Python的缺點2.1.1 常量和變量FalseNoneTrueandasassertasyncawaitbreakclasscontinuedefdelelifelseexceptfinallyforfromglobalifimportinislambdanonlocalnotorpassraisereturntrywhilewithyield表2
35、-1 Python3.7.0的保留字第40頁,共476頁。Python3.7.0的保留字可以通過如下指令獲取。 import keyword keyword.kwlist運行結果:False, None, True, and, as, assert, async, await, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while
36、, with, yield如上所示,Python3.7.0共計35個保留字,可以通過一個程序計算保留字個數。計算保留字個數的例子如例2-4所示。2.1.1 常量和變量第41頁,共476頁。例2-4:程序代碼:# 例2-4(計算Python3.7.0保留字個數)# 引入保留字模塊keywordimport keyword# 保留字保存在列表中list = keyword.kwlist# 計數變量count賦初值count = 0#列表遍歷,計算保留字總數for i in list: count = count + 12.1.1 常量和變量第42頁,共476頁。print(Python3.7.0的
37、保留字共, count, 個。)運行結果:Python3.7.0的保留字共 35 個。注:keyword為Python保留字(關鍵字)模塊,除了例子中的kwlist序列外,還有一個iskeyword(s)函數,可以判斷一個字符串是否是保留字。在Python中定義變量名的時候,需要遵循以下常用慣例。(1)單一下劃線開頭命名的變量不會被 from mudle import * 語句導入。(2)前后有下劃線的變量名是系統變量,對解釋器有特殊含義。(3)以兩個下劃線開頭,但是沒有下劃線結尾的變量是類的本地變量。(4)通過交互模式運行時,只有單一下劃線開頭的變量會保存最后表達式運算的結果。(5)類變量名
38、通常以大寫字母開頭,模塊變量名通常以小寫字母開頭。(6)self雖然不是保留字,但是在類中有特殊含義。2.1.1 常量和變量第43頁,共476頁。2.1.1 常量和變量表2-2是一些錯誤變量名稱的示例序號變量名稱說明13three第一個字符不能是數字2Hello&World不能包含特殊字符”&”3Hello World不能包含空格符4ifPython的保留字表2-2 不合法變量示例第44頁,共476頁。2.1.2 數字類型在Python中,內置的數字類型有整數、實數和復數。(1)整數整數是不帶小數部分的數字。包括正整數、0和負整數,如:1000,0,-5等。在32位機器上,整數的位數為32位,
39、取值范圍為-2*312*31-1,即-21474836482147483647。在64位系統上,整數的位數為64位,取值范圍為-2*632*63-1,即-92233720368547758089223372036854775807。整數又分為十進制整數、二進制整數、八進制整數和十六進制整數,具體如下。十進制表示:python中突破了計算機中存儲空間的限制,可以表示一個很大的數。二進制表示:0b(0B)開頭,后跟0-1,如0b110(十進制6)。八進制表示:0o(0O)開頭,后跟0-7,如0o177(十進制127)、0o11(十進制9)。十六進制表示:0 x(0X)開頭,后跟0-9、A-F或a-
40、f,如0 x11(十進制17)、0 xFF(十進制255) 和0 x1AB(十進制427)。第45頁,共476頁。2.1.2 數字類型數字類型的使用如例2-5所示。例2-5:程序代碼:# 例2-5 數字類型之整數(2、8、10、16進制)print(=十進制整數=)num1 = 1000num2 = 0num3 = -5print(num1 = + str(num1) #十進制print(num2 = + str(num2) #十進制print(num3 = + str(num3) #十進制print(=二進制整數=)num1 = 0b110# 對應十進制數值print(num1 = + st
41、r(num1) 第46頁,共476頁。2.1.2 數字類型print(=八進制整數=)num1 = 0o177num2 = 0o11# 對應十進制數值print(num1 = + str(num1)# 對應十進制數值print(num2 = + str(num2) print(=十六進制整數=)num1 = 0 x11num2 = 0 xFFnum3 = 0 x1AB# 對應十進制數值print(num1 = + str(num1)# 對應十進制數值print(num2 = + str(num2)# 對應十進制數值print(num3 = + str(num3)第47頁,共476頁。2.1.2
42、 數字類型運行結果:=十進制整數=num1 = 1000num2 = 0num3 = -5=二進制整數=num1 = 6=八進制整數=num1 = 127num2 = 9=十六進制整數=num1 = 17num2 = 255num3 = 427第48頁,共476頁。2.1.2 數字類型Python語言在設計之初為了減少頻繁申請和銷毀內存的資源開銷,規定了-5, 256之間的整數全部常駐在內存中且不會被垃圾回收只能增減引用計數,這就是小整數對象池,池外的數在創建時每次都得申請新的內存空間而不是增加引用計數。例子如下(此例子在交互命令下測試): num1 = 256 num2 = 256 prin
43、t(id(num1),id(num2)1425098992 1425098992 num1 = 257 num2 = 257 print(id(num1),id(num2)35649984 35651360第49頁,共476頁。2.1.2 數字類型(2)實數實數也稱為浮點數,即帶有小數的數字。類似于其他語言中的double類型,占8個字節(64位),其中52位表示底,11位表示指數,剩下的一位表示符號。實數可以有小數形式和科學計數法兩種形式。小數形式:如3.14、-1.414、0.14、3.和.14等。科學計數法:小數e/E(正負號)指數,如3.14E-1、-2.58e+2。實數操作如例2-6
44、所示。第50頁,共476頁。2.1.2 數字類型例2-6:程序代碼:# 例2-6 數字類型之實數print(=實數之小數形式=)num1 = 3.14num2 = -1.414num3 = 3.# 打印實數num1的值print(num1 = + str(num1)# 打印實數num2的值print(num2 = + str(num2)# 打印實數num3的值print(num3 = + str(num3)第51頁,共476頁。2.1.2 數字類型print(=實數之科學計數法=)num1 = 3.14E-1num2 = -2.58e+2# 打印實數num1的值print(num1 = + s
45、tr(num1)# 打印實數num2的值print(num2 = + str(num2)運行結果:=實數之小數形式=num1 = 3.14num2 = -1.414num3 = 3.0=實數之科學計數法=num1 = 0.314num2 = -258.0第52頁,共476頁。2.1.2 數字類型(3)復數復數由實數部分和虛數部分組成,一般形式為ab*j,其中的a是復數的實數部分,b是復數的虛數部分,這里的a和b都是實數。復數操作如例2-7所示。例2-7:程序代碼:# 例2-7 數字類型之復數complex1 = 1 + 2jcomplex2 = 2 + 3jprint(=復數的值=)print
46、(complex1 = + str(complex1)print(complex2 = + str(complex2)第53頁,共476頁。2.1.2 數字類型print(=復數加法=)print(complex1 + complex2 = + str(complex1 + complex2)print(=復數減法=)print(complex1 - complex2 = + str(complex1 - complex2)print(=復數乘法=)print(complex1 * complex2 = + str(complex1 * complex2)print(=復數除法=)print(
47、complex1 / complex2 = + str(complex1 / complex2)運行結果:=復數的值=complex1 = (1+2j)complex2 = (2+3j)第54頁,共476頁。2.1.2 數字類型=復數加法=complex1 + complex2 = (3+5j)=復數減法=complex1 - complex2 = (-1-1j)=復數乘法=complex1 * complex2 = (-4+7j)=復數除法=complex1 / complex2 = (0.6153846153846154+0.07692307692307691j)第55頁,共476頁。2.
48、1.3 布爾類型Python的布爾數據類型(bool)只有兩個值:True和False(T和F都大寫),True和False對應的值為1和0。這種變量一般用在條件運算,程序根據布爾變量的值來判斷進行何種操作。布爾類型操作如例2-8所示。例2-8:程序代碼:# 例2-8 數字類型之布爾類型flag1 = Trueflag2 = Falseprint(=布爾變量的值=)print(flag1 = + str(flag1)print(flag2 = + str(flag2)print(=布爾值與整數關系=)print(1 = flag1)print(0 = flag2)第56頁,共476頁。2.1.
49、3 布爾類型print(=布爾值與整數運算=)print(10 + flag1 + flag2)運行結果:=布爾變量的值=flag1 = Trueflag2 = False=布爾值與整數關系=TrueTrue=布爾值與整數運算=11第57頁,共476頁。2.1.4 字符串字符串是 Python 中最常用的數據類型。我們可以使用單引號、雙引號或三引號來創建字符串,并且不同的限定符之間可以互相嵌套。使用雙引號限定的字符串中可以包含單引號,而使用單引號限定的字符串中可以包含雙引號,使用三引號限定的字符串中可以包含雙引號和單引號。創建字符串很簡單,只要為變量分配一個值即可。例如:str1 = Hell
50、o World! str2 = PythonPython不支持單字符類型,單字符在Python中也是作為一個字符串使用。例如:strChar1= astrChar2 = “B”第58頁,共476頁。Python不支持單字符類型,單字符在 Python 中也是作為一個字符串使用。在最新的Python 3版本中,字符串是以Unicode編碼的,也就是說,Python的字符串支持多語言,也就是說字符串支持中文。例如:strChinese= 中文Python字符串除了使用”+”運算符進行字符串連接,使用”*”運算符對字符串進行重復之外,還提供了大量的方法支持查找、替換和格式化等操作,很多內置函數和標準
51、庫對象也支持對字符串的操作。字符串創建、連接和重復的基本操作例子如下。2.1.4 字符串第59頁,共476頁。2.1.4 字符串字符串使用如例2-9所示。例2-9:程序代碼:# 例2-9 數字類型之字符串類型print(=單引號創建字符串=)str1 = Python.print(str1 = + str1)print(=單引號嵌套雙引號=)str2 = I like Python.print(str2 = + str2)print(=雙引號創建字符串=)str3 = Python,too.print(str3 = + str3)print(=雙引號嵌套單引號=)str4 = I like P
52、ython,too.print(str4 = + str4)第60頁,共476頁。2.1.4 字符串print(=三引號創建字符串=)str5 = I said,I like Python.print(str5 = + str5)str6 = I said,I like Python,too.print(str6 = + str6)print(=字符串連接=)str7 = I likestr8 = Python.print(str7 + + str8)print(=字符串重復=)str9 = I likestr10 = Python.print(str9 + + (str10 * 3) #Py
53、thon.重復3次第61頁,共476頁。2.1.4 字符串運行結果:=單引號創建字符串=str1 = Python.=單引號嵌套雙引號=str2 = I like Python.=雙引號創建字符串=str3 = Python,too.=雙引號嵌套單引號=str4 = I like Python,too.=三引號創建字符串=str5 = I said,I like Python.str6 = I said,I like Python,too.=字符串連接=I like Python.=字符串重復=I like Python.Python.Python.第62頁,共476頁。2.1.5 數據類型轉
54、換Python的數據類型非常重要,通常情況下只有相同類型的數據才能進行運算。Python具有簡單的數據類型自動轉換功能,如果是整數與實數運算,系統會先將整數轉換為實數再運算,運算結果為實數。若是數值與布爾值運算,系統會先將布爾值轉換為數值再運算,即把True轉換為1,False轉換為0。num2 = 5 + True #結果為6,整數如果系統無法自動進行數據類型轉換,就要用數據類型轉換命令進行強制轉換。Python的強制數據類型轉換命令有:(1)int():強制轉換為整數。(2)float():強制轉換為實數。(3)str():強制轉換為字符串類型。數據類型轉換操作如例2-10所示。第63頁,
55、共476頁。例2-10:程序代碼:# 例2-10 數據類型轉換print(=整數自動轉換為實數=)num1 = 5 + 7.8print(=整數強制轉換為字符串=)print(num1 = + str(num1)print(=布爾自動轉換為整數=)num2 = 5 + Trueprint(num2 = + str(num2)print(=字符串強制轉換為整數=)num3 = 5 + int(2)print(num3 = + str(num3)print(=實數強制轉換為字符串=)num4 = 99.print(成績為: + str(num4)2.1.5 數據類型轉換第64頁,共476頁。2.1
56、.5 數據類型轉換運行結果:=整數自動轉換為實數=整數強制轉換為字符串=num1 = 12.8=布爾自動轉換為整數=num2 = 6=字符串強制轉換為整數=num3 = 7=實數強制轉換為字符串=成績為:99.0第65頁,共476頁。2.2.1 算數運算符2.2.2 關系運算符2.2.3 邏輯運算符2.2.4 位運算符2.2運算符與表達式2.2.5 賦值運算符2.2.6 成員運算符2.2.7 身份運算符2.2.8 運算符優先級第66頁,共476頁。互聯網在生活中的地位1.2.1 Python IDLE 的簡介用于執行普通數學運算的運算符稱為“算數運算符”。Python算術運算符如表2-3所示。
57、2.2.1 算數運算符序號運算符意義示例結果1+兩個操作數相加7 + 292-兩個操作數相減7 - 253*兩個操作數相乘7 * 2144/兩個操作數相除7 / 23.55%取余7 % 216/取商的整數部分7 / 237*(操作數1)的(操作數2)次方(冪)7 * 249表2-3 算數運算符第67頁,共476頁。1.2.1 Python IDLE 的簡介2.2.1 算數運算符算數運算符操作如例2-11所示。例2-11程序代碼:# 例2-11 算數運算符num1 = 7num2 = 2print(=數學運算符之+=)print(num1 + num2 = + str(num1 + num2)p
58、rint(=數學運算符之-=)print(num1 - num2 = + str(num1 - num2)print(=數學運算符之*=)print(num1 * num2 = + str(num1 * num2)print(=數學運算符之/=)#Python2.x結果為3print(num1 / num2 = + str(num1 / num2)第68頁,共476頁。互聯網已經成為現代社會最為重要的基礎設施互聯網在生活中的地位互聯網在生活中的地位1.2.2 Python開發環境安裝print(=數學運算符之%=)print(num1 % num2 = + str(num1 % num2)pr
59、int(=數學運算符之/=)print(num1 / num2 = + str(num1 / num2)print(=數學運算符之*=)print(num1 * num2 = + str(num1 * num2)運行結果:=數學運算符之+=num1 + num2 = 9=數學運算符之-=num1 - num2 = 52.2.1 算數運算符第69頁,共476頁。互聯網定義1.2.2 Python開發環境安裝=數學運算符之*=num1 * num2 = 14=數學運算符之/=num1 / num2 = 3.5=數學運算符之%=num1 % num2 = 1=數學運算符之/=num1 / num2
60、= 3=數學運算符之*=num1 * num2 = 49注:”/”、”%”及”/”這三個運算符與除法相關,所以第二個操作數不能為零,否則提示的”ZeroDivisionError”錯誤。2.2.1 算數運算符第70頁,共476頁。2.2.1 算數運算符關系運算符用于兩個表達式的比較,若比較結果為真,返回True;若比較結果為假,則返回False。Python關系運算符如表2-4所示。序號運算符意義示例結果1=等于(表達式1是否等于表達式2)7 = 2False2!=不等于(表達式1是否不等于表達式2)7 != 2True3大于(表達式1是否大于表達式2)7 2True4小于(表達式1是否小于表
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024四川雅安市交通建設(集團)有限責任公司招聘經營管理人員4人筆試參考題庫附帶答案詳解
- 人教版 (新課標)八年級下冊第一節 自然特征與農業第一課時教案
- 七年級語文上冊 第五單元 第17課《動物笑談》教學設計 新人教版
- 2024四川九禾股份有限公司社會公開招聘2人筆試參考題庫附帶答案詳解
- (高清版)DB33∕T 1203-2020 建設工程施工揚塵控制技術標準
- 人教版 (PEP)六年級上冊Unit 3 My weekend plan Part B第2課時教案及反思
- 抖音電商培訓賦能鄉村振興與基層治理現代化
- 九年級全冊Unit 8 It must belong to Carla.Section B第四課時教學設計
- 工廠行政安保工作培訓
- 人教部編版八年級上冊(道德與法治)誠實守信教案設計
- 中考數學《數與式》專題訓練(含答案)
- (新版)水利水電工程施工企業“三類人員”安全生產考核題庫-(單選多選題庫)
- 部編版小學二年級下冊語文全冊教案
- 2025年興業銀行股份有限公司招聘筆試參考題庫含答案解析
- 七年級語文下冊(統編版2024)-【新教材解讀】義務教育教材內容解讀課件
- 冷庫工程施工組織設計方案
- 網約配送員培訓課件
- 五星出東方利中國-新疆文化網
- 《貨幣的前世今生》課件
- 3.1 貫徹新發展理念 課件-高中政治統編版必修二經濟與社會
- 2025天貓服飾春夏趨勢白皮書
評論
0/150
提交評論