《Python語言基礎(chǔ)及應(yīng)用》 課件 江曉林 第1-5章 Python語言概述-函數(shù)_第1頁
《Python語言基礎(chǔ)及應(yīng)用》 課件 江曉林 第1-5章 Python語言概述-函數(shù)_第2頁
《Python語言基礎(chǔ)及應(yīng)用》 課件 江曉林 第1-5章 Python語言概述-函數(shù)_第3頁
《Python語言基礎(chǔ)及應(yīng)用》 課件 江曉林 第1-5章 Python語言概述-函數(shù)_第4頁
《Python語言基礎(chǔ)及應(yīng)用》 課件 江曉林 第1-5章 Python語言概述-函數(shù)_第5頁
已閱讀5頁,還剩299頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第1章python語言概述目錄contentsPython編程語言簡介與發(fā)展歷程Python開發(fā)環(huán)境Python擴展庫Python編程語言簡介與發(fā)展歷程Python語言簡介Python的歷史Python的特性Python的版本應(yīng)用實例與案例分析Python的未來展望

-Python由其他語言發(fā)展而來,如ABC、Modula-3、C、C++、SmallTalk、Unixshell等

-Python的成功代表了它借鑒的所有語言的成功

-對于一門語言好與不好的評判,受制于外部因素如平臺、硬件、時代等Python語言簡介一段ABC程序:統(tǒng)計文本中出現(xiàn)的單詞總數(shù)HOWTORETURNwordsdocument: PUT{}INcollectionFORlineINdocument:FORwordINsplitline:IFwordnot.incollection:INSERTwordINcollectionRETURNcollectionPython的使用率呈線性增長

-Python的創(chuàng)始人為荷蘭數(shù)學(xué)和計算機科學(xué)研究學(xué)會的吉多·范羅蘇姆

-1989年,吉多決心開發(fā)一個新的腳本解釋程序,作為ABC語言的一種繼承,即Python-1991年,第一款Python編譯器誕生,具備類、函數(shù)、異常處理等核心功能

-Python的發(fā)展歷程包括社區(qū)建設(shè)、版本更新、應(yīng)用拓展等Python的歷史

-簡單易學(xué):Python代表簡單主義思想,易于入門,使人們能夠?qū)W⒂诮鉀Q問題

-免費開源:Python是自由/開放源碼軟件,允許自由發(fā)布、閱讀源代碼、修改、創(chuàng)造新軟件

-高層語言:Python編寫程序時無需考慮底層細節(jié),具有良好的可讀性和易用性

-可移植性:Python可以被移植到多個平臺上,包括Linux、Windows、Mac等

-面向?qū)ο螅篜ython同時支持面向過程和面向?qū)ο缶幊?,簡單且強?/p>

Python的特性

-可擴展性:Python支持與C/C++混合編程,可以調(diào)用C/C++庫

-膠水語言:Python常用作膠水語言,將不同語言編寫的程序粘合在一起

-豐富的庫:Python標(biāo)準(zhǔn)庫包含大量功能模塊,滿足各種需求

-解釋性:Python代碼無需編譯成二進制代碼,具有良好的可移植性和易用性

-規(guī)范性:Python采用強制縮進的方式,使代碼具有較好的可讀性

-交互式命令行:Python可以單步直譯運行,方便調(diào)試與學(xué)習(xí)Python的特性

-Python2于2000年發(fā)布,穩(wěn)定版本是Python2.7,已于2020年停止維護

-Python3于2008年發(fā)布,解決了早期版本的一些不足之處,但與Python2不完全向后兼容-Python3的發(fā)展歷程及版本更新Python的版本Python2與Python3部分區(qū)別區(qū)別Python2Python3代碼規(guī)范源碼不規(guī)范,重復(fù)代碼很多源碼精簡,美觀、優(yōu)雅字符串編碼格式默認采用ASCII編碼默認采用Unicode編碼模塊導(dǎo)入默認是相對導(dǎo)入,自己創(chuàng)建模塊時,必須要有__init__.py的文件無要求縮進同時允許Tab和Space在代碼中共存使用更加嚴格的縮進,Tab和Space共存會導(dǎo)致報錯源文件編碼格式默認采用ASCII,因此使用中文時要在源文件開頭加上一行注釋:#--coding:utf-8--默認采用utf-8輸出使用print關(guān)鍵字進行輸出:print'Hello'使用print()函數(shù)進行輸出:print('Hello')輸入使用raw_input()函數(shù):name=raw_input('請輸入名字:')使用input()函數(shù):name=input('請輸入名字:')格式化字符串方式用%占位符:'Hello,%s'%("World")用format()函數(shù):'Hello,{}'.format("World")數(shù)據(jù)類型有整型int、長整型long只有整型int布爾類型True、False是兩個變量,可以更改True、False變成兩個關(guān)鍵字,不能進行修改-Python在GUI程序開發(fā)中的應(yīng)用,如PyQt、PySide、WxPython等

-Python在Web程序開發(fā)中的應(yīng)用,如Django、Flask等框架

-Python在網(wǎng)絡(luò)爬蟲中的應(yīng)用,如Scrapy框架

-Python在服務(wù)器軟件開發(fā)中的應(yīng)用,如Twisted框架

-Python在圖形處理和文本處理中的應(yīng)用,如PIL、Tkinter等

-Python在數(shù)據(jù)庫編程和數(shù)據(jù)科學(xué)中的應(yīng)用,如NumPy、Pandas、Scikit-Learn等應(yīng)用實例

-Python在未來的發(fā)展方向與趨勢,如機器學(xué)習(xí)、人工智能、物聯(lián)網(wǎng)等領(lǐng)域的發(fā)展

-Python的社區(qū)與生態(tài)系統(tǒng),以及開源項目的貢獻與合作Python的未來展望Python開發(fā)環(huán)境Python解釋器Python開發(fā)環(huán)境的安裝與配置運行Python程序Python作為一種解釋型語言,源代碼經(jīng)過編譯生成字節(jié)碼,然后由Python虛擬機(PVM)執(zhí)行,最終在終端輸出結(jié)果。Python解釋器種類(5種):CPython/IPython/PyPy/JPython/IronPythonPython解釋器IPython基于CPython的交互式解釋器,提供了更多交互功能。CPython官方版本的Python解釋器,由C語言開發(fā)是最廣泛使用的解釋器。PyPy針對執(zhí)行速度進行優(yōu)化,采用JIT技術(shù)動態(tài)編譯Python代碼。IronPython運行在微軟.Net平臺上的Python解釋器可以將Python代碼編譯成.Net字節(jié)碼。JPython在Java平臺上運行的Python解釋器可以將Python代碼編譯成Java字節(jié)碼Python解釋器下載Python解釋器從Python官方網(wǎng)站下載適用于個人電腦系統(tǒng)的Python版本/downloads/對于64還是32位版本的選擇,用戶可以通過此電腦→右鍵→屬性進行查看圖示中用紅圈標(biāo)注出的installer是可執(zhí)行的安裝版本,下載到本地后可以直接安裝,操作與安裝應(yīng)用軟件相同,推薦使用此類安裝版本,它能自動配置環(huán)境變量。Python開發(fā)環(huán)境的安裝與配置安裝Python解釋器(以Python3.10.6為例)運行安裝程序,選擇自定義安裝并添加到系統(tǒng)環(huán)境變量。Python開發(fā)環(huán)境的安裝與配置安裝Python解釋器(以Python3.10.6為例)按照默認的勾選項,然后更改路徑,點擊Install按鈕安裝即可按<win+R>鍵打開運行框,輸入cmd,進入控制界面進入命令行,輸入py后,按<Enter>鍵,出現(xiàn)如右圖界面表示成功安裝Python開發(fā)環(huán)境的安裝與配置通過命令行輸入`py`進入交互模式或運行Python文件。命令行調(diào)用解釋器打開Python自帶的IDLE編輯器,編寫代碼并保存為.py文件,然后運行.py文件以查看結(jié)果。使用IDLE編輯Python代碼簡單的運行運行Python程序Python擴展庫安裝Python擴展庫擴展庫中對象的導(dǎo)入JupyterNotebook使用pip安裝pip是Python的包管理器,可以通過命令行使用pip來安裝擴展庫。例如,要安裝NumPy庫,可以運行`py-mpipinstallnumpy`命令。通過conda安裝conda是一個開源的包管理系統(tǒng),它可以方便地安裝和管理多個擴展庫。例如,要安裝Pandas庫,可以運行`condainstallpandas`命令。從源碼安裝如果需要從源碼安裝擴展庫,可以先下載源碼包,然后解壓并運行`setup.py`腳本進行安裝。例如,要安裝Matplotlib庫,可以先下載Matplotlib的源碼包,然后解壓并運行`pythonsetup.pyinstall`命令進行安裝。安裝Python擴展庫使用pip安裝在控制界面鍵入:py-mpipinstallSomePackage(第三方庫名稱),可利用pip安裝第三方庫在控制界面鍵入:py-mpipinstall--upgradeSomePackage,可更新第三方庫版本下載超時失敗的兩種解決辦法:(1)延長pip的下載等待時間在控制界面鍵入:py-mpip--default-timeout=100installSomePackage(2)使用鏡像地址提高網(wǎng)速例如,清華大學(xué)鏡像地址是/simple在控制界面鍵入:py-mpipinstall-i/simpleSomePackage例如,使用鏡像升級pip版本,在控制界面鍵入:py-mpipinstall-i/simplepip-U安裝Python擴展庫使用pip安裝pip是Python的包管理器,可以通過命令行使用pip來安裝擴展庫。例如,要安裝NumPy庫,可以運行`py-mpipinstallnumpy`命令。通過conda安裝conda是一個開源的包管理系統(tǒng),它可以方便地安裝和管理多個擴展庫。例如,要安裝Pandas庫,可以運行`condainstallpandas`命令。從源碼安裝如果需要從源碼安裝擴展庫,可以先下載源碼包,然后解壓并運行`setup.py`腳本進行安裝。例如,要安裝Matplotlib庫,可以先下載Matplotlib的源碼包,然后解壓并運行`pythonsetup.pyinstall`命令進行安裝。擴展庫中對象的導(dǎo)入JupyterNotebook(此前被稱為IPythonNotebook)是一個交互式筆記本,它的本質(zhì)是一個Web應(yīng)用程序,使用IPython解釋器。它便于創(chuàng)建和共享程序文檔,支持實時代碼、數(shù)學(xué)方程、可視化和標(biāo)記,經(jīng)常被用作處理數(shù)據(jù)清理和轉(zhuǎn)換、數(shù)值模擬、統(tǒng)計建模、機器學(xué)習(xí)、深度學(xué)習(xí)等。JupyterNotebook安裝JupyterNotebook利用pip進行安裝:按<win+R>鍵,輸入cmd,打開控制界面。鍵入py-mpipinstalljupyter安裝完成后,先配置JupyterNotebook目錄路徑,再啟動JupyterNotebook,否則默認打開和保存JupyterNotebook文件目錄在C盤。在控制界面,輸入jupyternotebook–generate-config,生成默認配置文件到C:\Users\Administrator\.jupyter\jupyter_notebook_config.py找到默認配置文件的目錄,很多配置文件都是生成到這個目錄中打開jupyter_notebook_config.py文件,搜索c.NotebookApp.notebook_dir(大概在261行位置)在該行中刪去#號,把引號中的值更改為要存放JupyterNotebook文件的目錄路徑。以后JupyterNotebook創(chuàng)建的文件都會被保存到該目錄路徑中JupyterNotebook啟動

JupyterNotebook進入控制界面,輸入jupyternotebook后按<Enter>鍵。此時,默認瀏覽器就會打開JupyterNotebook快速使用Notebook在當(dāng)前界面的右側(cè)選項中,單擊新建→Python3,可以新建文件(.ipynb)在單元格內(nèi)完成代碼編輯后,單擊運行(或快捷鍵<Ctrl+Enter>)實現(xiàn)代碼運行并在結(jié)果運行區(qū)反饋結(jié)果當(dāng)前單元格側(cè)邊顯示為綠色時,表示此時單元格處于命令模式,按<Enter>鍵切換為編輯模式;當(dāng)前單元格側(cè)邊顯示為藍色時,表示此時單元格處于編輯模式,按<Esc>鍵切換為命令模式。編輯模式允許用戶將代碼或文本輸入到一個單元格中,命令模式將鍵盤與筆記本級命令綁定在一起,并通過一個灰色的單元格邊界顯示JupyterNotebookJupyterNotebook快捷鍵命令模式編輯模式按鍵功能按鍵功能<F>查找并且替換<Tab>代碼完成或縮進<Ctrl+Shift+F>打開命令配置<Shift+Tab>工具提示<Ctrl+Shift+P>打開命令配置<Ctrl+]>縮進<Enter>進入編輯模式<Ctrl+[>取消縮進<P>打開命令配置<Ctrl+A>全選<Shift+Enter>運行代碼塊,選擇下面代碼塊<Ctrl+Z>撤銷<Ctrl+Enter>運行選中的代碼塊<Ctrl+/>評論<Alt+Enter>運行代碼塊并且插入下面<Ctrl+D>刪除整行<Y>把代碼塊變成代碼<Ctrl+U>撤銷選擇<M>把代碼塊變成標(biāo)簽<Insert>切換重寫標(biāo)志<R>清除代碼塊格式<Ctrl+Home>跳到單元格起始處<1>把代碼塊變成heading1<Ctrl+Up>跳到單元格起始處<2>把代碼塊變成heading2<Ctrl+End>跳到單元格最后<3>把代碼塊變成heading3<Ctrl+Down>跳到單元格最后<4>把代碼塊變成heading4<Ctrl+Left>跳到單詞左邊<5>把代碼塊變成heading5<Ctrl+Right>跳到單詞右邊<6>把代碼塊變成heading6<Ctrl+Backspace>刪除前面的單詞<K>選擇上面的代碼塊<Ctrl+Delete>刪除后面的單詞<上>選擇上面的代碼塊<Ctrl+Y>重做<下>選擇下面的代碼塊<Alt+U>重新選擇<J>選擇下面的代碼塊<Ctrl+M>進入命令行模式<Shift+K>擴展上面選擇的代碼塊<Ctrl+Shift+F>打開命令配置<Shift+上>擴展上面選擇的代碼塊<Ctrl+Shift+P>打開命令配置<Shift+下>擴展下面選擇的代碼塊<Esc>進入命令行模式<Shift+J>擴展下面選擇的代碼塊<Shift+Enter>運行代碼塊,選擇下面代碼塊<A>在上面插入代碼塊<Ctrl+Enter>運行選中的代碼塊<B>在下面插入代碼塊<Alt+Enter>運行代碼塊并且插入下面<X>剪切選擇的代碼塊<Ctrl+Shift+Minus>在鼠標(biāo)出分割代碼塊<C>復(fù)制選擇的代碼塊<Ctrl+S>保存并檢查<Shift+V>粘貼到上面<Down>光標(biāo)下移<V>粘貼到下面<Up>光標(biāo)上移<Z>撤銷刪除

<D>刪除選中單元格

<Shift+M>合并選中單元格,如果只有一個單元格被選中

<Ctrl+S>保存并檢查

<S>保存并檢查

<L>切換行號

<O>選擇單元格的輸出

<Shift+O>切換選定單元的輸出滾動

<H>顯示快捷鍵

<I>中斷服務(wù)

<0>(數(shù)字0)重啟服務(wù)(帶窗口)

<Ctrl+V>從系統(tǒng)剪切板粘貼

<Esc>關(guān)閉頁面

<Q>關(guān)閉頁面

<Shift+L>在所有單元格中切換行號,并保持設(shè)置

<Shift+Space>向上滾動

<Space>向下滾動

THANKS.第2章Python語言基礎(chǔ)Python語法規(guī)則Python數(shù)據(jù)類型賦值語句輸入與輸出運算符與表達式實驗:溫度轉(zhuǎn)換器contents目錄Python語法規(guī)則語句縮進注釋標(biāo)識符空白的重要性01在Python中,空白(包括空格和換行符)是語法的重要組成部分,用于分隔語句和表達邏輯結(jié)構(gòu)。縮進決定邏輯行的層次結(jié)構(gòu)02Python使用縮進(通常是四個空格或一個制表符)來表示邏輯行的層次結(jié)構(gòu)。這種縮進方式被稱為“PEP8”風(fēng)格,是Python社區(qū)中廣泛接受的一種編碼風(fēng)格??s進規(guī)則03Python中的縮進規(guī)則比較簡單,主要是保持邏輯行的一致性和清晰性。每個邏輯行都應(yīng)該有一個一致的縮進量,以表明它在代碼塊中的位置。語句縮進同一層次的語句必須有相同的縮進在同一代碼塊中,所有同一層次的語句都應(yīng)該具有相同的縮進量。這有助于表明它們屬于同一個邏輯塊。Tab符和空格不能混用在Python中,Tab符和空格不能混用。如果在一個文件或代碼塊中同時使用Tab符和空格來表示縮進,會導(dǎo)致語法錯誤。物理行與邏輯行的概念在Python中,物理行是指源代碼中的一行,而邏輯行則是指一個完整的語句或表達式。有時候,一個物理行可能包含多個邏輯行,特別是在使用括號或引號時。語句縮進#本段代碼有3個物理行a=1b=2c=3#變量d雖書寫為多行,但是解釋器只作為一個語句處理,即一個邏輯行d=[[1,2,3],[4,5,6],[7,8,9]]作用及重要性注釋是源代碼中的重要組成部分,用于解釋代碼的功能、用途和實現(xiàn)方式等。通過注釋,開發(fā)者可以更好地理解和維護代碼,同時也方便其他人閱讀和理解代碼。單行注釋在Python中,單行注釋使用#符號。可以在#后面添加任何文本,這些文本將被視為注釋內(nèi)容。多行注釋多行注釋可以使用'''或者"""來表示。這些符號可以包裹多行文本,使其中的任何內(nèi)容都被視為注釋。注釋#這是一個注釋print("Hello,World!")'''這是多行注釋,用三個單引號這是多行注釋,用三個單引號這是多行注釋,用三個單引號'''print("Hello,World!")定義與含義標(biāo)識符用于標(biāo)識變量、函數(shù)、類、模塊等對象。在Python中,標(biāo)識符是字母、數(shù)字和下劃線組成的字符串,必須以字母或下劃線開頭。在Python3.X版本中,中文也可以作為標(biāo)識符的組成部分。命名規(guī)則標(biāo)識符必須小寫,因為Python區(qū)分大小寫。不能包含空格或特殊字符。不能使用Python的內(nèi)置標(biāo)識符作為自定義標(biāo)識符。關(guān)鍵字使用Python中的關(guān)鍵字如if、else、for等有特殊意義,不能作為普通標(biāo)識符。偽關(guān)鍵字如class、def等也被保留,不能作為普通標(biāo)識符。在使用標(biāo)識符時,需避免使用這些關(guān)鍵字。標(biāo)識符標(biāo)識符FalsebreakfornotNoneclassfromorTruecontinueglobalpass__peg_parser__defifraiseanddelimportreturnaselifintryassertelseiswhileasyncexceptlambdawithawaitfinallynonlocalyieldPython數(shù)據(jù)類型數(shù)值類型字符串類型布爾類型在Python中,變量不需要提前聲明,可以直接賦值。例如,`a=5`聲明了一個名為`a`的變量,并賦值為`5`。數(shù)據(jù)類型是計算機中用于表示不同類型的數(shù)據(jù)的標(biāo)識。Python中常見的數(shù)據(jù)類型包括數(shù)值類型、字符串類型、布爾類型等。變量與數(shù)據(jù)類型簡介數(shù)據(jù)類型的概念和分類變量聲明和賦值整數(shù)型數(shù)據(jù)是不帶小數(shù)點的數(shù)字,例如`-123`、`0`、`123`等。Python中整數(shù)型的取值范圍非常大,可以表示很大的整數(shù)。整數(shù)型(int)浮點數(shù)型數(shù)據(jù)是小數(shù)點后有數(shù)字的數(shù)值,例如`3.14`、`-2.718`等。在Python中,浮點數(shù)型的精度較高,可以表示較為精確的數(shù)值。浮點數(shù)型(float)復(fù)數(shù)型數(shù)據(jù)是由實部和虛部組成的數(shù),例如`3+4j`、`-2-3j`等。在Python中,復(fù)數(shù)型數(shù)據(jù)可以用于表示復(fù)數(shù)的運算和轉(zhuǎn)換。復(fù)數(shù)型(complex)數(shù)值類型整數(shù)型int進制前導(dǎo)符示例十進制轉(zhuǎn)轉(zhuǎn)十進制二進制0b或0B0b10bin(2)int('101010',2)八進制0o或0O0o10oct(8)int('367',8)十六進制0x或0X0x10hex(16)int('FFF',16)整數(shù)型十進制轉(zhuǎn)換可對整數(shù)執(zhí)行+(加)、-(減)、*(乘)、/(除)運算Python3允許使用_(下劃線)作為數(shù)字(包括整數(shù)和小數(shù))的分隔符。通常每隔三個數(shù)字添加一個下劃線>>>2+35>>>3-21>>>2*36>>>3/21.5>>>a=1_301_547>>>b=384_000_000>>>print("a:",a)a:1301547>>>print("b:",b)b:384000000浮點數(shù)型float除了通??吹降氖M制形式的浮點數(shù),也有指數(shù)形式:aEn或aen。a為尾數(shù)部分,是一個十進制數(shù);n為指數(shù)部分,是一個十進制整數(shù);E或e是固定的字符,用于分割尾數(shù)部分和指數(shù)部分。整個表達式等價于a×10^n。>>>0.003*0.10.00030000000000000003>>>2.1E5210000.0>>>14E314000.0只要寫成指數(shù)形式就是浮點數(shù),即使其最終值狀似整數(shù)。由于浮點數(shù)和整數(shù)在計算機內(nèi)部存儲的方式不同,導(dǎo)致整數(shù)運算永遠是精確的,然而浮點數(shù)的運算則可能會有四舍五入的誤差。復(fù)數(shù)型complex該數(shù)值類型與數(shù)學(xué)中的復(fù)數(shù)概念一致,由實部和虛部組成,虛部用j表示。在Python語言中,復(fù)數(shù)可以看為二元有序?qū)崝?shù)對(a,b),表示為:a+bj。例如:2+3j用a=complex(2,3)表示。需要注意,當(dāng)b為1時,1不能省略。使用real方法可以獲取該復(fù)數(shù)的實部,使用imag方法可以獲取該復(fù)數(shù)的虛部。>>>a=complex(2,3)>>>a.real2.0>>>a.imag3.0字符串類型字符串就是一系列字符。在Python中,用引號括起的任意文本都是字符串類型數(shù)據(jù)str其聲明有三種方式,分別是:單引號'abc'、雙引號''hello''和三引號'''hello'‘’。字符串在使用時,引號必須成對出現(xiàn);如果字符串中包含了單引號或雙引號,則可以使用另一種引號進行表示。'Itoldmyfriend,"Pythonismyfavoritelanguage!"'"OneofPython'sstrengthsisitsdiverseandsupportivecommunity."書寫長字符串時,用3個引號(單引號或雙引號)括起來的字符串可以包含多行字符串。'''Thisisatestformultiplelinesoftext.'''在用單引號括起的字符串中,如果包含撇號,就將導(dǎo)致錯誤。因為Python將第一個單引號和撇號之間的內(nèi)容視為一個字符串,進而將余下的文本視為Python代碼,從而引發(fā)錯誤重新開始很多時候,程序員在編程過程中只是遺漏了某種簡單部分,例如for語句末尾的冒號,再試一次可能就會有所幫助適當(dāng)放松長時間從事一個任務(wù)時,容易讓人陷入單一思維而想不出其他解決方案。通過休息擺脫當(dāng)前的思維方式,有助于從不同的角度看問題在線搜索大部分編程過程中遇到的問題已經(jīng)有前人面臨并解決,甚至在網(wǎng)絡(luò)上已分享了相關(guān)經(jīng)驗。良好的搜索技能和具體的關(guān)鍵字有助于找到現(xiàn)有的資源,供以解決當(dāng)前面臨的問題。搜索時請完整搜索錯誤消息受困于非常棘手的錯誤時字符串類型1. 轉(zhuǎn)義字符在編程中,空白泛指任何非打印字符,如空格、制表符和換行符。像這種情況,當(dāng)需要在字符中使用特殊字符時,就需要用到轉(zhuǎn)義字符。在Python里用\(反斜杠)轉(zhuǎn)義字符。轉(zhuǎn)義字符描述\(行尾)續(xù)行符,實現(xiàn)用多行表示一個字符串\\反斜杠符號\'單引號\"雙引號\a發(fā)出系統(tǒng)響鈴聲\b退格,把光標(biāo)前移,覆蓋刪除前一個\0空字符一個\n換行,一般用于末尾,實現(xiàn)多行字符串的顯示效果\v縱向制表符,使用率較低,print會打印出一個男性符號\t橫向制表符,可以認為是一個間隔符\r回車,并把當(dāng)前字符串之前的所有字符刪掉\f換頁,使用率較低,print會打印出一個女性符號info_n="myname\nisNeo"print("n:",info_n)info_t="myname\tisNeo"print("t:",info_t)info_v="myname\visNeo"print("v:",info_v) #在Terminal終端執(zhí)行,才能出現(xiàn)對應(yīng)效果info_a="myname\aisNeo"print("a:",info_a) #在Terminal終端執(zhí)行,才能出現(xiàn)對應(yīng)效果info_b="mynameisNeo\b"print("b:",info_b)info_r="mynameisNeo\r"print("r:",info_r,'--')info_f="mynameisNeo\f"print("f:",info_f) #在Terminal終端執(zhí)行,才能出現(xiàn)對應(yīng)效果print('Mynameis\'Neo\'')print("Mynameis\"Neo\"")

輸出:n:mynameisNeot:mynameisNeov:mynameisNeoa:mynameisNeob:mynameisNe--mynameisNeof:mynameisNeo□Mynameis'Neo'Mynameis"Neo"字符串類型2. 字符串前綴在一個字符串前加一個字符r,表示該字符串是非轉(zhuǎn)義的原始字符串在一個字符串前加一個字符u,表示對字符串進行Unicode編碼在一個字符串前加一個字符f,表示格式化操作>>>r=r'c:\a.txt'>>>r'c:\\a.txt'3. 內(nèi)置函數(shù)str()使用內(nèi)置函數(shù)str(),可以把非字符串型的數(shù)據(jù)轉(zhuǎn)換成字符串型請注意,當(dāng)shell顯示字符串的值時,它將字符序列放在單引號中這樣讓用戶知道該值實際上是文本而不是數(shù)字(或其他數(shù)據(jù)類型)>>>a=23>>>b=str(a)>>>b'23'4. Unicode碼Unicode把所有語言都統(tǒng)一到一套編碼里,防止亂碼問題的出現(xiàn),因此Unicode也叫萬國碼。在Python3版本中,字符串是以Unicode編碼的,也就是說,Python的字符串支持多語言。布爾類型對與錯、0和1、正與反,都是傳統(tǒng)意義上的布爾類型。但在Python語言中,布爾類型只有兩個值,True(真)和False(假)。True和False是Python中的關(guān)鍵字,當(dāng)作為Python代碼輸入時,一定要注意首字母要大寫,不能是其它花式變型,否則解釋器會報錯。值得一提的是,布爾類型可以當(dāng)作整數(shù)來對待,即True相當(dāng)于整數(shù)值1,F(xiàn)alse相當(dāng)于整數(shù)值0。使用內(nèi)置函數(shù)bool(),可以根據(jù)傳入?yún)?shù)的邏輯值創(chuàng)建一個新的布爾值。所有計算結(jié)果,或者調(diào)用返回值是True或者False的過程都可以稱為布爾運算,例如比較運算。布爾值通常用來判斷條件是否成立,是以Python布爾類型用于邏輯運算。賦值語句常量與變量的定義常量表示不變化的值,常用全大寫字母表示;變量則表示可以變化的值,無特定表示方式。變量名的重要性與命名規(guī)則變量名用于標(biāo)識變量,并在程序中引用。命名應(yīng)遵循規(guī)則,如包含字母、數(shù)字、下劃線,避免數(shù)字開頭和空格,同時保持描述性。常量與變量賦值語句的基本結(jié)構(gòu)<variable>=<value>賦值語句的基本結(jié)構(gòu)是使用等號`=`將一個值賦給一個變量。左值、賦值運算符和右值的含義左側(cè)的變量是一個標(biāo)識符,該語句讓變量指向右側(cè)的值。賦值的語義是右側(cè)的值與左側(cè)命名的變量相關(guān)聯(lián)。其中,左值必須是變量;右值可以是變量、值或結(jié)果為值的任何表達式。賦值語句的用途和示例賦值語句主要用于給變量賦值,并在程序中進行數(shù)據(jù)交換和計算。name="Eric"age=74x=3.9*x*(1-x)賦值語句有兩個用途:一是定義新的變量;二是讓已定義的變量指向特定值。010203賦值語句基礎(chǔ)同時給多個變量賦值的方法Python中可以使用一行代碼同時給多個變量賦值。其形式如下:<var1>,<var2>,...,<varn>=<expr1>,<expr2>,...,<exprn>>>>a,b='abc',[1,2,3]>>>print('a=',a)a=abc>>>print('b=',b)b=[1,2,3]序列拆解和元素對應(yīng)關(guān)系除了同時賦值外,Python還允許將序列中的元素逐個賦值給多個變量#字符串序列>>>a,b,c='efg'>>>print('a=',a)a=e>>>print('b=',bb=f>>>print('c=',c)c=g#列表序列>>>a,b,c=[1,2,3]>>>print('a=',a)a=1>>>print('b=',b)b=2>>>print('c=',c)c=3利用*收集多余元素的方法當(dāng)序列中的元素個數(shù)多于需要賦值的變量個數(shù)時,可以使用星號`*`來收集多余的元素#*放后>>>a,*b='abc'>>>print('a=',a)a=a>>>print('b=',b)b=['b','c']#*放前>>>*a,b='abc'>>>print('a=',a)a=['a','b']>>>print('b=',b)b=c多變量賦值命名錯誤當(dāng)標(biāo)識符引用錯誤時,Python解釋器會報錯,提供Traceback。Traceback是一條記錄,指出了解釋器嘗試運行代碼時,在什么地方陷入了困境。此處創(chuàng)建了一個名為message的變量,但是再次引用時,寫成了mesage。解釋器列出了這行代碼,旨在幫助快速找出錯誤。在這里,解釋器發(fā)現(xiàn)了一個名稱錯誤,并指出打印的變量mesage未定義,Python無法識別提供的變量名。名稱錯誤通常意味著兩種情況,一是使用變量前忘記為其賦值,二是輸入變量名時拼寫不正確。Python解釋器不會對代碼作拼寫檢查,但要求變量名的拼寫一致。因此,創(chuàng)建變量名和編寫代碼時,無需考慮英語中的拼寫和語法規(guī)則。輸入與輸出輸入函數(shù)input()輸出函數(shù)print()數(shù)據(jù)的格式化輸出input()函數(shù)用于獲取用戶的輸入,其基本語法為<variable>=input(<prompt>)其中prompt是可選參數(shù),用于提示用戶輸入。目的與基本語法input()函數(shù)默認獲取的是文本輸入,用戶輸入的內(nèi)容會以字符串的形式返回。獲取文本輸入如果用戶輸入的是數(shù)字,`input()`函數(shù)會將其轉(zhuǎn)換為字符串類型并返回;如果需要讀取用戶鍵入的數(shù)字,使用語法如下:<variable>=eval(input(<prompt>))外嵌的函數(shù)eval()將用戶鍵入的文本被求值為一個表達式,以產(chǎn)生存儲到變量中的值獲取數(shù)字輸入輸入函數(shù)`input()`>>>name=input("Enteryourname:")Enteryourname:Eric>>>name"Eric">>>age=input("Enteryourage:")Enteryourage:27>>>age"27">>>age=eval(input("Enteryourage:"))Enteryourage:27

>>>print(age,type(age))27<class'int'>

>>>age=eval(input("Enteryourage:"))Enteryourage:25.5

>>>print(age,type(age))25.5<class'float'>

>>>ans=eval(input("Enteranexpression:"))Enteranexpression:3+2*4

>>>print(ans)11

用單個input從用戶那里獲取多個數(shù)值,這對于利用單個提示獲取多個輸入值很有作用如果想要一次性獲得的不只是純數(shù)字,而是原始文本,可以使用split()函數(shù)。該函數(shù)的語法如下:str.split(str="",num=string.count(str))split是一個內(nèi)置函數(shù),用來對字符串進行分割,也包括即時通過input獲取的字符串。分割后的字符串以列表形式返回,再通過同時賦值語句賦值給各個變量split()不帶參數(shù),默認以空格為分割符,對鍵入的字符串進行分割。當(dāng)split帶參數(shù)時,則以該參數(shù)進行分割。同時賦值輸入函數(shù)`input()`>>>score1,score2=eval(input("Entertwoscoresseparatedbyacomma:"))Entertwoscoresseparatedbyacomma:10,5

>>>average=(score1+score2)/2>>>print("Theaverageofthescoresis:",average)Theaverageofthescoresis:7.5

>>>a,b=input("請輸入多個值:").split()請輸入多個值:Eric28

>>>print('a=',a)a=Eric

>>>print('b=',b)b=28

>>>a,b=input("請輸入多個值:").split(',')請輸入多個值:Eric,27

>>>print('a=',a)a=Eric

>>>print('b=',b)b=27

控制間隔符`sep`可以通過`sep`參數(shù)來控制多個對象之間的分隔符,例如`print('Hello','world',sep='-')`會輸出兩個字符串'-Hello-world-'??刂平Y(jié)尾符`end`可以通過`end`參數(shù)來控制輸出結(jié)束后的結(jié)尾符,例如`print('Helloworld',end='!')`會輸出字符串'Helloworld!'。輸出字符串print()函數(shù)也可以輸出字符串類型的數(shù)據(jù),例如print('Helloworld')會輸出字符串'Helloworld'。輸出函數(shù)`print()`基本語法形式print(*objects,sep='',end='\n',file=sys.stdout)對象之間要用逗號分隔。對象可以是相同的數(shù)據(jù)類型,也可以是不同的數(shù)據(jù)類型字符串間可以不使用逗號字符串間添加逗號分隔符,輸出的字符串會有空格間隔數(shù)值類型可以使用print直接輸出一次輸出多個對象一行中直接輸出字符串輸出函數(shù)`print()`>>>print(1) 1>>>str1='helloguys'>>>print("輸出:",str1,'Nicetomeetyou!')輸出:helloguysNicetomeetyou!>>>a=2>>>b='cats'>>>print('Ihave',a,b)Ihave2cats>>>print('Hello''World') HelloWorld>>>print('Hello','World','!')HelloWorld!010203使用占位符`%`在Python中,`%`占位符用于數(shù)據(jù)的格式化輸出。例如,`print('Hello%s'%'world')`會輸出'Helloworld'。`%s`表示字符串類型的數(shù)據(jù),對于其他類型的數(shù)據(jù),如整數(shù)使用`%d`,浮點數(shù)使用`%f`。str.format()方法除了`%`占位符,還可以使用`str.format()`方法。例如,`'Hello{name}'.format(name='world')`會輸出'Helloworld'。在`str.format()`中,大括號`{}`表示要格式化的數(shù)據(jù),括號內(nèi)指定變量值。f-string格式化輸出Python3.6及以上版本支持f-string。它是一種在字符串字面值中嵌入表達式的格式化機制。例如,`f'Hello{name}'`會將變量`name`的值插入到字符串中,得到'Helloworld'這樣的輸出。數(shù)據(jù)的格式化輸出使用占位符`%`使用語法如下:"%[(name)][flags][width][.precison]type"%待格式化數(shù)據(jù)符號說明+

右對齊,正數(shù)加正號,負數(shù)加負號-左對齊,正數(shù)無符號,負數(shù)加負號空格右對齊(默認的對齊方式),正數(shù)前加空格,負數(shù)前加負號0(數(shù)字)右對齊,以0填充,正數(shù)無符號,負數(shù)加負號,并將符號放置在0最左側(cè)占位符%中的參數(shù)flags符號說明sstring,字符串;ddecimalinteger,十進制數(shù);iinteger,用法同%d;uunsignedinteger,無符號十進制數(shù);ffloat,浮點數(shù)(默認保留小數(shù)點后6位);FFloat,浮點數(shù)(默認保留小數(shù)點后6位);eexponent,將數(shù)字表示為科學(xué)計數(shù)法(小寫e,默認保留小數(shù)點后6位);EExponent,將數(shù)字表示為科學(xué)計數(shù)法(大寫E,默認保留小數(shù)點后6位);%%轉(zhuǎn)義%,輸出百分號。占位符%中的參數(shù)type使用占位符`%`使用語法如下:"%[(name)][flags][width][.precison]type"%待格式化數(shù)據(jù)不指定參數(shù)name時,帶有轉(zhuǎn)換說明符的字符串(如%s)與需要轉(zhuǎn)換的值必須按照位置一一對應(yīng)。指定參數(shù)name時,需要使用字典指明鍵值對。#單個數(shù)據(jù)>>>print("|Mynameis%s"%"Lily|")|MynameisLily|

#多個數(shù)據(jù):使用元組>>>print("|Mynameis%s,I’m%dyearsold。|"%("Lily",18))|MynameisLily,I’m18yearsold。|

#單個數(shù)據(jù)>>>print("|Mynameis%(name)s|"%{"name":"Lily"})|MynameisLily|

#多個數(shù)據(jù)>>>print("|Mynameis%(name)s,I’m%(age)dyearsold.|"%{"name":"Lily","age":18})|MynameisLily,I’m18yearsold.|

使用占位符`%`使用語法如下:"%[(name)][flags][width][.precison]type"%待格式化數(shù)據(jù)參數(shù)flags和width的使用方式根據(jù)變量數(shù)據(jù)類型略有區(qū)別。例如(此處設(shè)置width=10)#字符串print("|%+10s|"%"Lily") #字符串右對齊print("|%-10s|"%"Lily") #字符串左對齊print("|%10s|"%"Lily") #字符串右對齊print("|%010s|"%"Lily") #字符串右對齊

輸出:|Lily||Lily||Lily||Lily|

#正整數(shù)

print("|%+10d|"%26) #正整數(shù)右對齊,正數(shù)加正號print("|%-10d|"%26) #正整數(shù)左對齊,正數(shù)無符號print("|%10d|"%26) #正整數(shù)右對齊,正數(shù)前加空格print("|%010d|"%26) #正整數(shù)右對齊,正數(shù)無符號,以0填充

輸出:|+26||26||26||0000000026|

#負整數(shù)print("|%+10d|"%-26) #負整數(shù)右對齊,負數(shù)加負號print("|%-10d|"%-26) #負整數(shù)左對齊,負數(shù)加負號print("|%10d|"%-26) #負整數(shù)右對齊,負數(shù)加負號print("|%010d|"%-26) #負整數(shù)右對齊,負數(shù)加負號,符號和數(shù)字之前填充0

輸出:|-26||-26||-26||-000000026|使用占位符`%`使用語法如下:"%[(name)][flags][width][.precison]type"%待格式化數(shù)據(jù)參數(shù)flags和width的使用方式根據(jù)變量數(shù)據(jù)類型略有區(qū)別。例如(此處設(shè)置width=10)#正浮點數(shù)#如未指定浮點數(shù)精度,默認保留6位小數(shù),其余均用空格填充(如指定0則用0填充)#若width小于浮點數(shù)的數(shù)位,則width無效。print("|%+10f|"%2.2) #正浮點數(shù)加正號右對齊,小數(shù)部分以0填充print("|%-10f|"%2.2) #正浮點數(shù)左對齊,小數(shù)點后為空格print("|%10f|"%2.2) #正浮點數(shù)右對齊,浮點數(shù)前為空格print("|%010f|"%2.2) #正浮點數(shù)右對齊,小數(shù)點前以0填充輸出:|+2.200000||2.200000||2.200000||002.200000|使用占位符`%`使用語法如下:"%[(name)][flags][width][.precison]type"%待格式化數(shù)據(jù)參數(shù)flags和width的使用方式根據(jù)變量數(shù)據(jù)類型略有區(qū)別。例如(此處設(shè)置width=10)#負浮點數(shù)print("|%+10f|"%-2.2) #負浮點數(shù)加負號右對齊,小數(shù)部分以0填充print("|%-10f|"%-2.2) #負浮點數(shù)加負號左對齊,小數(shù)點后為空格print("|%10f|"%-2.2) #負浮點數(shù)加負號右對齊,其余用空格填充print("|%010f|"%-2.2) #負浮點數(shù)加負號右對齊,其余用0填充,注意符號在最左側(cè)輸出:|-2.200000||-2.200000||-2.200000||-02.200000|使用占位符`%`使用語法如下:"%[(name)][flags][width][.precison]type"%待格式化數(shù)據(jù)參數(shù)precision的使用方式根據(jù)變量數(shù)據(jù)類型略有區(qū)別。#如果待格式化數(shù)據(jù)為字符串則表示字符串截取>>>print("|%.2s|"%"python")|py|#對于浮點類型數(shù)據(jù),保留小數(shù)點后.precision數(shù)字#注意:以上例舉數(shù)存在“四舍六入五雙”的情況>>>print("|%(num).2f|"%{"num":0.145})|0.14|>>>print("|%(num).2f|"%{"num":1.145})|1.15|>>>print("|%(num).2f|"%{"num":2.145})|2.15|>>>print("|%(num).2f|"%{"num":3.145})|3.15|#科學(xué)計數(shù)>>>print("|%.3f用科學(xué)計數(shù)法表示寫作%.2E|"%(40.125,40.125))|40.125用科學(xué)計數(shù)法表示寫作4.01E+01|使用占位符`%`#s:字符串>>>print("|Mynameis%s"%"Lily|")|MynameisLily|#d,i,u:十進制數(shù)字>>>print("|十進制數(shù):%d|"%26)|十進制數(shù):26|>>>print("|十進制數(shù):%i|"%26)|十進制數(shù):26|>>>print("|十進制數(shù):%u|"%26)|十進制數(shù):26|#f:浮點數(shù)(默認保留6位小數(shù))>>>print("|這是一個浮點數(shù)%f|"%2.26)|這是一個浮點數(shù)2.260000|#e,E:科學(xué)計數(shù)>>>print("|%f用科學(xué)計數(shù)法表示寫作%e|"%(0.145,0.145))|0.145000用科學(xué)計數(shù)法表示寫作1.450000e-01|>>>print("|%.3f用科學(xué)計數(shù)法表示寫作%.2E|"%(0.145,0.145))|0.145用科學(xué)計數(shù)法表示寫作1.45E-01|#%%:轉(zhuǎn)義%#如果有待格式化數(shù)據(jù)需要輸出百分號(%),需要使用%%進行轉(zhuǎn)義>>>print("|I'm%d%%sure.|"%100)|I'm100%sure.|str.format(1)可以設(shè)置格式化參數(shù)的順序。例如:

#按照位置一一對應(yīng)>>>print('{}asked{}todosomething'.format('Lucy','Lily'))LucyaskedLilytodosomething

>>>print('{}asked{}todosomething'.format('Lily','Lucy'))LilyaskedLucytodosomething

#format()函數(shù)支持多個占位符,可以為占位符指定的被轉(zhuǎn)換數(shù)據(jù)的索引>>>print('{0}{1}{1}{0}'.format('a','b'))abba

str.format(2)可以設(shè)置名字。#直接設(shè)置名字進行調(diào)用>>>print('HappyBirthday{age},{name}!'.format(age=30,name='Mary'))HappyBirthday30,Mary!#通過字典設(shè)置參數(shù)>>>site={"name":"Mary","age":30}>>>print("祝:{name},{age}歲生日快樂!".format(**site))祝:Mary,30歲生日快樂!#通過列表索引設(shè)置參數(shù)>>>my_list=['Mary',30]>>>print("祝:{0[0]},{0[1]}歲生日快樂!".format(my_list))#"0"是必須的祝:Mary,30歲生日快樂!str.format(3)兼容性強、適配性強。>>>importnumpyasnp>>>A1=np.array([[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]],dtype='int8')>>>print('矩陣A1的行數(shù)和列數(shù)分別為(%d,%d)'%(A1.shape[0],A1.shape[1]))\\\矩陣A1的行數(shù)和列數(shù)分別為(3,5)>>>print('矩陣A1的行數(shù)和列數(shù)分別為{}'.format(A1.shape))矩陣A1的行數(shù)和列數(shù)分別為(3,5)str.format(4)可以指定填充、對齊和寬度,以及精度和進制。#{<索引>:<填充字符><對齊方式><寬度.精度><格式>}#^,<,>分別表示居中、左對齊、右對齊,后面的數(shù)字表示寬度。#:后填充的字符只能是一個字符,不指定則默認用空格填充>>>print('{0:*>8}'.format(10))#右對齊,共8個字符******10>>>print('{0:*<8}'.format(10))#左對齊,共8個字符10******>>>print('{0:*^8}'.format(10))#居中對齊,共8個字符***10***>>>print('{0:.2f}'.format(2/3))#值取兩位小數(shù)0.67str.formatformat中的數(shù)字格式數(shù)字格式輸出描述3.1415926{:.2f}3.14保留小數(shù)點后兩位3.1415926{:.+2f}+3.14帶符號保留小數(shù)點后兩位-1{:+.2f}-1.00帶符號保留小數(shù)點后兩位3.1415926{:.0f}3不帶小數(shù)5{:0>2d}05數(shù)字補零(填充左邊,寬度為2)5{:x<4d}5xxx數(shù)字補x(填充右邊,寬度為4)1000000{:,}1,000,000以逗號分隔的數(shù)字格式0.333{:.2%}33.30%百分比格式f-stringf-string即格式化字符串(formattingstring),它是str.format()的一個變種,其語法形式殊途同歸。使用語法如下:f"{}{}{}"。即通過f或F開頭的字符串,使用符號{}完成格式化輸出??偨Y(jié)來說,Python字符串格式化的語法較多。%格式化可以滿足大多常用的功能,但是不方便處理一些精密化或復(fù)雜的格式化需求,所以推薦使用str.format()或f-string格式化處理字符串。f-string是str.format()的一個分支,在一些特定情況下使用可以極大程度減少代碼量,使代碼更加清晰易懂,可以有選擇性的使用f-string。>>>name="Eric">>>age=74>>>print(f"Hello,{name}.Youare{age}.")Hello,Eric.Youare74.運算符與表達式算術(shù)運算符關(guān)系運算符邏輯運算符運算符的優(yōu)先級和結(jié)合性03乘號`*`用于乘法運算或字符串重復(fù)。01加號`+`用于加法運算或字符串拼接。當(dāng)整數(shù)型和浮點數(shù)型相加時,求和結(jié)果也是浮點數(shù)型。+用于字符串時,能夠?qū)ψ址M行拼接。02減號`-`用于減法運算或求負數(shù)。運算符與表達式算術(shù)運算符>>>a=1>>>b=1.0>>>print('a+b=',a+b)a+b=2.0>>>n=45>>>m=-n>>>x=-83.5>>>y=-x>>>print(m,"-",y,'=',m-y)-45-83.5=-128.503乘號`*`用于乘法運算或字符串重復(fù)。01加號`+`用于加法運算或字符串拼接。02減號`-`-可以用作減法運算,也可以用作求負運算,即正數(shù)變負數(shù)、負數(shù)變正數(shù)。運算符與表達式算術(shù)運算符>>>n=45>>>m=-n>>>x=-83.5>>>y=-x>>>print(m,"-",y,'=',m-y)-45-83.5=-128.503乘號`*`用于乘法運算或字符串重復(fù)。01加號`+`用于加法運算或字符串拼接。02減號`-`用于減法運算或求負數(shù)。運算符與表達式算術(shù)運算符>>>a=4*25>>>b=12.5*2>>>print(a,",",b)100,25.0>>>str="hello!">>>print(str*4)hello!hello!hello!hello!06次方**用于次方運算。04除號/和///表示普通除法,結(jié)果總是浮點數(shù)。//表示整數(shù)除法,結(jié)果取整。除數(shù)始終不能為0,否則會導(dǎo)致除數(shù)為零錯誤05求余%求得兩個數(shù)相除的余數(shù),包括整數(shù)和小數(shù)。%兩邊的數(shù)字都是整數(shù)時,求余的結(jié)果也是整數(shù)只要有一方數(shù)字是小數(shù),求余的結(jié)果就是小數(shù)求余結(jié)果的正負由第二個數(shù)字決定運算符與表達式算術(shù)運算符#整數(shù)不能除盡>>>print("23/5=",23/5)23/5=4.6>>>print("23//5=",23//5)23//5=4>>>print("23.0//5=",23.0//5)23.0//5=4.0#整數(shù)能除盡>>>print("25/5=",25/5)25/5=5.0>>>print("25//5=",25//5)25//5=5>>>print("25.0//5=",25.0//5)25.0//5=5.0#小數(shù)除法>>>print("12.4/3.5=",12.4/3.5)12.4/3.5=3.542857142857143>>>print("12.4//3.5=",12.4//3.5)12.4//3.5=3.006次方**用于次方運算。04除號/和///表示普通除法,結(jié)果總是浮點數(shù)。//表示整數(shù)除法,結(jié)果取整。除數(shù)始終不能為0,否則會導(dǎo)致除數(shù)為零錯誤05求余%求得兩個數(shù)相除的余數(shù),包括整數(shù)和小數(shù)。%兩邊的數(shù)字都是整數(shù)時,求余的結(jié)果也是整數(shù)只要有一方數(shù)字是小數(shù),求余的結(jié)果就是小數(shù)求余結(jié)果的正負由第二個數(shù)字決定運算符與表達式算術(shù)運算符#整數(shù)求余>>>print("15%6=",15%6)15%6=3>>>print("-15%6=",-15%6)-15%6=3>>>print("15%-6=",15%-6)15%-6=-3>>>print("-15%-6=",-15%-6)-15%-6=-3#小數(shù)求余>>>print("7.7%2.2=",7.7%2.2)7.7%2.2=1.0999999999999996>>>print("-7.7%2.2=",-7.7%2.2)-7.7%2.2=1.1000000000000005>>>print("7.7%-2.2=",7.7%-2.2)7.7%-2.2=-1.1000000000000005>>>print("-7.7%-2.2=",-7.7%-2.2)-7.7%-2.2=-1.0999999999999996#整數(shù)和小數(shù)運算>>>print("23.5%6=",23.5%6)23.5%6=5.5>>>print("23%6.5=",23%6.5)23%6.5=3.5>>>print("23.5%-6=",23.5%-6)23.5%-6=-0.5>>>print("-23%6.5=",-23%6.5)-23%6.5=3.0>>>print("-23%-6.5=",-23%-6.5)-23%-6.5=-3.506次方**用于次方運算。04除號/和///表示普通除法,結(jié)果總是浮點數(shù)。//表示整數(shù)除法,結(jié)果取整。除數(shù)始終不能為0,否則會導(dǎo)致除數(shù)為零錯誤05求余%求得兩個數(shù)相除的余數(shù),包括整數(shù)和小數(shù)。%兩邊的數(shù)字都是整數(shù)時,求余的結(jié)果也是整數(shù)只要有一方數(shù)字是小數(shù),求余的結(jié)果就是小數(shù)求余結(jié)果的正負由第二個數(shù)字決定運算符與表達式算術(shù)運算符#次方運算>>>print('3^4=',3**4)3^4=81>>>print('2^5=',2**5)2^5=32#開方運算>>>print('81^(1/4)=',81**(1/4))81^(1/4)=3.0>>>print('32^(1/5)=',32**(1/5))32^(1/5)=2.0運算符與表達式算術(shù)運算符運算符說明示列運算結(jié)果+加法5+1015-減法100-595*乘法8*972/浮點數(shù)除法100/520.0//整數(shù)除法100//520%模(求余)9%41**冪2**38Python基本算術(shù)運算符關(guān)系運算符Python關(guān)系運算符運算符表達式描述實例運行結(jié)果==x==yx等于y'ABCD'=='ABCDEF'False!=x!=yx不等于y'ABCD'!='abcd'True>

x>yx大于y'ABC'>'ABD'False>=x>=yx大于等于y123>=23True<

x<yx小于y'ABC'<'DEF'True<=x<=yx小于等于y'123'<='23'Trueisxisyx、y引用同一對象,比較對象的id1isTrueFalseisnotxisnotyx、y引用不同對象,比較對象的id1isnotTrueTrue邏輯運算符Python布爾運算or運算and運算not運算邏輯量1邏輯量2結(jié)果邏輯量1邏輯量2結(jié)果邏輯量結(jié)果FalseFalseFalseFalseFalseFalseFalseTrueFalseTrueTrueFalseTrueFalseTrueFalseTrueTrueFalseFalseTrueFalseTrueTrueTrueTrueTrueTrue邏輯運算符示例代碼#設(shè)置變量>>>a=1>>>b=2>>>c=3#and都真才真>>>print(a<bandb<c)True

>>>print(a<bandb>c)False

#or都假才假>>>print(a>borb<c)True

>>>print(a>borb>c)False

#not取反>>>print(notFalse)True

>>>print(notc>b)False

邏輯運算符Python邏輯運算邏輯運算符表達式A布爾值表達式B布爾值結(jié)果示例andFalse-A>>>print(0and1) 0True-B>>>print(1and2.0) 2.0>>>print('ABC'and0) 0orFalse-B>>>print(Noneor'ABC') 'ABC'>>>print(Noneor0) 0True-A>>>print([1,2,3]or0) [1,2,3]邏輯運算符Python運算符優(yōu)先級和結(jié)合性優(yōu)先級(高到低)運算符描述結(jié)合性1+x,-x正,負

2x**y冪從右向左3x*y,x/y,x%y乘,除,取模從左向右4x+y,x-y加,減從左向右5x<y,x<=y,x==y,x!=y,x>=y,x>y比較從左向右6notx邏輯否從左向右7xandy邏輯與從左向右8xory邏輯或從左向右實驗:溫度轉(zhuǎn)換器溫度轉(zhuǎn)換器輸入輸出拓展:制作簡單的EXE程序案例描述:由于計量單位的不同,人們很難對非常用計量數(shù)據(jù)有一個直觀的認知,因此計量單位轉(zhuǎn)換是一個必要的功能需求。請設(shè)計一個溫度轉(zhuǎn)換程序,其功能是將華氏度換算成攝氏度,以便使用者判斷氣溫變化。案例分析:1. 分析問題:分析問題的計算部分;2. 確定問題:將問題劃分為輸入、處理及輸出部分;3. 設(shè)計算法:計算部分的核心,根據(jù)華氏溫度轉(zhuǎn)攝氏溫度的公式: (°F-32)×5/9=°C,確定輸入和輸出部分。實驗:溫度轉(zhuǎn)換器代碼TempConvert.py實驗:溫度轉(zhuǎn)換器""" 輸入華氏溫度值,對應(yīng)顯示攝氏溫度值 #④"""TempStr=int(input("請輸入華氏溫度值:")) #①C=(TempStr-32)/1.8 #②print("轉(zhuǎn)換后的攝氏溫度是{:.1f}C".format(C)) #③安裝PyInstaller按<win

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論