




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章Python概述《Python快速編程入門(mén)(第3版))》學(xué)習(xí)目標(biāo)/Target了解Python語(yǔ)言,能夠說(shuō)出Python語(yǔ)言的發(fā)展歷程以及特點(diǎn)熟悉Python程序的運(yùn)行方式,能夠熟練通過(guò)交互式和文件式運(yùn)行Python程序了解常用的開(kāi)發(fā)工具,能夠說(shuō)出常用開(kāi)發(fā)工具的特點(diǎn)掌握Python解釋器的安裝方式,能夠獨(dú)立在計(jì)算機(jī)中安裝Python解釋器學(xué)習(xí)目標(biāo)/Target掌握模塊的安裝方式,能夠通過(guò)pip工具安裝所需的模塊掌握模塊的導(dǎo)入與使用,能夠在程序中熟練導(dǎo)入并使用模塊掌握PyCharm的使用,能夠使用PyCharm編寫(xiě)并運(yùn)行代碼掌握PyCharm的下載與安裝,能夠獨(dú)立在計(jì)算機(jī)中安裝PyCharm工具章節(jié)概述/SummaryPython語(yǔ)言自誕生以來(lái),因其具有簡(jiǎn)潔優(yōu)美的語(yǔ)法、良好的開(kāi)發(fā)效率、強(qiáng)大的生態(tài)系統(tǒng)等特點(diǎn),迅速在編程領(lǐng)域占據(jù)一席之地,成為當(dāng)前備受矚目的熱門(mén)編程語(yǔ)言。Python領(lǐng)域流傳著這樣一句話:“人生苦短,我用Python。”,表達(dá)了人們對(duì)這門(mén)語(yǔ)言的高度認(rèn)可。下面我們一起開(kāi)啟Python學(xué)習(xí)之旅吧!目錄/Contents010203認(rèn)識(shí)PythonPython解釋器的安裝與程序的運(yùn)行Python開(kāi)發(fā)工具04Python模塊認(rèn)識(shí)Python1.1
先定一個(gè)小目標(biāo)!了解Python語(yǔ)言,能夠說(shuō)出Python語(yǔ)言的發(fā)展歷程1.1.1Python的發(fā)展歷程1.1.1Python的發(fā)展歷程199120002008201820202023Python2.0版本發(fā)布2020年1月1日終止對(duì)Python2.7的技術(shù)支持截止2023年9月1日,最新版本為Python3.11.5Python2.0版本發(fā)布Python3.0版本發(fā)布最后一個(gè)Python2.7版本發(fā)布
先定一個(gè)小目標(biāo)!1.1.2Python的特點(diǎn)了解Python語(yǔ)言,能夠說(shuō)出Python語(yǔ)言的特點(diǎn)1.1.2Python的特點(diǎn)無(wú)縫銜接單元測(cè)試VS優(yōu)點(diǎn)簡(jiǎn)潔語(yǔ)法優(yōu)美簡(jiǎn)單易學(xué)開(kāi)源可移植性好擴(kuò)展性好類庫(kù)豐富通用靈活良好的中文支持執(zhí)行效率不夠高。在執(zhí)行相同功能的程序時(shí),Python程序沒(méi)有C++程序、Java程序高效,這是因?yàn)镻ython解釋器需要逐行將代碼翻譯成計(jì)算機(jī)能夠理解的機(jī)器語(yǔ)言,翻譯過(guò)程是非常耗時(shí)的。缺點(diǎn)Python解釋器的安裝與程序的運(yùn)行1.2
先定一個(gè)小目標(biāo)!掌握Python解釋器的安裝方式,能夠獨(dú)立在計(jì)算機(jī)中安裝Python解釋器1.2.1安裝Python解釋器Python程序的執(zhí)行需要借助Python解釋器完成,只有在計(jì)算機(jī)中安裝Python解釋器并配置好Python開(kāi)發(fā)環(huán)境后,開(kāi)發(fā)人員才可以開(kāi)發(fā)程序,并通過(guò)不同方式運(yùn)行程序。1.2.1安裝Python解釋器STEP01下載Python解釋器在瀏覽器中訪問(wèn)Python解釋器的下載頁(yè)面,具體如下圖所示。1.2.1安裝Python解釋器STEP02下載Python解釋器Python解釋器安裝包的下載頁(yè)面,該頁(yè)面展示了很多版本的安裝包。1.2.1安裝Python解釋器STEP03安裝Python解釋器下載相應(yīng)版本的安裝包。下載完成后,找到并雙擊安裝包,彈出Python3.11.5(64-bit)Setup窗口。1.2.1安裝Python解釋器STEP04安裝Python解釋器勾選“Addpython.exetoPATH”選項(xiàng)后,單擊InstallNow后進(jìn)入SetupProgress界面。1.2.1安裝Python解釋器STEP05安裝Python解釋器安裝完成后會(huì)自動(dòng)進(jìn)入Setupwassuccessful界面。1.2.1安裝Python解釋器STEP06安裝Python解釋器在計(jì)算機(jī)的開(kāi)始菜單中搜索Python,找到并單擊Python3.11(64-bit)打開(kāi)Python解釋器窗口。1.2.1安裝Python解釋器STEP06安裝Python解釋器用戶也可以在命令窗口中進(jìn)入Python環(huán)境,具體操作為:打開(kāi)命令窗口,在命令窗口的提示符“>>>”后輸入“python”,按下回車(chē)鍵后即可進(jìn)入Python環(huán)境。1.2.1安裝Python解釋器多學(xué)一招:手動(dòng)配置環(huán)境變量若Python解釋器安裝完成后,在命令窗口輸入“python”提示“python不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件?!?,說(shuō)明系統(tǒng)未能搜索到Python解釋器的安裝路徑,此時(shí)可以手動(dòng)為Python配置環(huán)境變量,以解決此問(wèn)題。多學(xué)一招:手動(dòng)配置環(huán)境變量環(huán)境變量(enviromentvariables)一般是指在操作系統(tǒng)中用來(lái)指定操作系統(tǒng)運(yùn)行環(huán)境的一些參數(shù),如臨時(shí)文件夾位置和系統(tǒng)文件夾位置等。在向Windows和DOS操作系統(tǒng)中搭建開(kāi)發(fā)環(huán)境時(shí)常常需要配置環(huán)境變量path,以便系統(tǒng)在運(yùn)行一個(gè)程序時(shí)可以獲取到程序所在的完整路徑。若配置了環(huán)境變量,系統(tǒng)除了在當(dāng)前目錄下尋找指定程序,還會(huì)到path變量所指定的路徑中查找程序。STEP01打開(kāi)系統(tǒng)屬性窗口右鍵單擊“計(jì)算機(jī)”,在彈出的菜單中單擊“屬性”選項(xiàng)打開(kāi)系統(tǒng)窗口,單擊該窗口左側(cè)選項(xiàng)列表中的“高級(jí)系統(tǒng)設(shè)置”,打開(kāi)系統(tǒng)屬性窗口。多學(xué)一招:手動(dòng)配置環(huán)境變量STEP02打開(kāi)環(huán)境變量窗口單擊“環(huán)境變量”按鈕,打開(kāi)環(huán)境變量窗口。多學(xué)一招:手動(dòng)配置環(huán)境變量STEP03編輯環(huán)境變量對(duì)話框在“系統(tǒng)變量”列表中找到環(huán)境變量“Path”并雙擊,打開(kāi)編輯環(huán)境變量對(duì)話框。多學(xué)一招:手動(dòng)配置環(huán)境變量STEP04添加Python安裝路徑單擊“新建”按鈕,輸入Python解釋器的安裝路徑,本書(shū)使用的安裝路徑是C:\Users\itcast\AppData\Local\Programs\Python\Python311。多學(xué)一招:手動(dòng)配置環(huán)境變量STEP05STEP05單擊“確定”按鈕,關(guān)閉編輯環(huán)境變量對(duì)話框,完成環(huán)境變量的配置。
先定一個(gè)小目標(biāo)!熟悉Python程序的運(yùn)行方式,能夠熟練通過(guò)交互式和文件式運(yùn)行Python程序1.2.2Python程序的運(yùn)行方式Python程序的運(yùn)行方式有兩種,分別是交互式和文件式。交互式指Python解釋器逐行接收Python代碼并即時(shí)響應(yīng);文件式也稱批量式,指先將Python代碼保存在后綴名為.py的文件中,再啟動(dòng)Python解釋器批量運(yùn)行代碼。1.2.2Python程序的運(yùn)行方式STEP01打開(kāi)命令窗口進(jìn)入Python環(huán)境,在命令提示符“>>>”的后面輸入如下一行代碼:1.2.2Python程序的運(yùn)行方式print("紙上得來(lái)終覺(jué)淺,絕知此事要躬行。")按下回車(chē)鍵,命令窗口立刻在提示符的下一行輸出了運(yùn)行結(jié)果。運(yùn)行結(jié)果如下所示:紙上得來(lái)終覺(jué)淺,絕知此事要躬行。STEP011.創(chuàng)建一個(gè)文本文件,在該文件中寫(xiě)入一行Python代碼,具體內(nèi)容為print("紙上得來(lái)終覺(jué)淺,絕知此事要躬行。")2.另存文件時(shí)將文件的名稱設(shè)置為hello,編碼方式設(shè)置為UTF-8,文件的后綴名修改為.py。3.在hello.py文件所在路徑下同時(shí)按下Shift鍵和鼠標(biāo)右鍵,彈出右鍵菜單,在右鍵菜單列表中單擊“在此處打開(kāi)命令窗口”選項(xiàng),打開(kāi)命令窗口。4.在命令窗口的命令提示符“>”后輸入命令“pythonhello.py”,按下回車(chē)鍵后運(yùn)行hello.py文件,之后在提示符的下一行輸出了運(yùn)行結(jié)果。1.2.2Python程序的運(yùn)行方式Python開(kāi)發(fā)工具1.3
先定一個(gè)小目標(biāo)!了解常用的開(kāi)發(fā)工具,能夠說(shuō)出常用開(kāi)發(fā)工具的特點(diǎn)1.3.1Python程序的運(yùn)行方式1.3.1常用的開(kāi)發(fā)工具PyCharmAnaconda無(wú)縫銜接單元測(cè)試常用的開(kāi)發(fā)工具有PyCharm、SublimeText、VisualStudioCode、JupyterNotebook、Anaconda等。PyCharm是一款強(qiáng)大且流行的Python集成開(kāi)發(fā)環(huán)境,它提供了一般集成開(kāi)發(fā)環(huán)境的功能,比如代碼編輯、語(yǔ)法高亮、項(xiàng)目管理、代碼跳轉(zhuǎn)、智能提示、調(diào)試、單元測(cè)試、版本控制等,使得程序的編寫(xiě)、運(yùn)行、測(cè)試等過(guò)程能在一個(gè)環(huán)境中完成,非常適合開(kāi)發(fā)大型的項(xiàng)目。VisualStudioCodeSublimeTextJupyterNotebook1.3.1常用的開(kāi)發(fā)工具PyCharmAnaconda無(wú)縫銜接單元測(cè)試常用的開(kāi)發(fā)工具有PyCharm、SublimeText、VisualStudioCode、JupyterNotebook、Anaconda等。SublimeText是一款輕量級(jí)但功能強(qiáng)大的文本編輯器,它不僅擁有豐富的功能,還支持多種編程語(yǔ)言,并且具備自己的包管理器。開(kāi)發(fā)者可以通過(guò)包管理器安裝各種組件、插件和樣式,以提升編碼體驗(yàn)。SublimeText在開(kāi)發(fā)簡(jiǎn)單的Python項(xiàng)目方面表現(xiàn)優(yōu)異。VisualStudioCodeSublimeTextJupyterNotebook1.3.1常用的開(kāi)發(fā)工具PyCharmAnaconda無(wú)縫銜接單元測(cè)試常用的開(kāi)發(fā)工具有PyCharm、SublimeText、VisualStudioCode、JupyterNotebook、Anaconda等。VisualStudioCode(簡(jiǎn)稱VSCode)是由微軟開(kāi)發(fā)的一個(gè)跨平臺(tái)的輕量級(jí)代碼編輯器,它支持多種編程語(yǔ)言,包括Python、Java、C++、PHP等,具有跨平臺(tái)支持、豐富的插件生態(tài)系統(tǒng)、智能代碼編輯、內(nèi)置調(diào)試器、版本控制集成等一些特點(diǎn)或功能,適用于各種規(guī)模的項(xiàng)目開(kāi)發(fā)。VisualStudioCodeSublimeTextJupyterNotebook1.3.1常用的開(kāi)發(fā)工具PyCharmAnaconda無(wú)縫銜接單元測(cè)試常用的開(kāi)發(fā)工具有PyCharm、SublimeText、VisualStudioCode、JupyterNotebook、Anaconda等。JupyterNotebook(簡(jiǎn)稱Jupyter)是一款非常流行的交互式筆記本,它在網(wǎng)頁(yè)上提供了創(chuàng)建文檔與共享文檔的便利,并且支持實(shí)時(shí)代碼、數(shù)學(xué)方程、可視化和Markdown等功能,用戶可以在一個(gè)文檔中進(jìn)行編寫(xiě)代碼、編寫(xiě)數(shù)學(xué)公式、編寫(xiě)文檔、運(yùn)行代碼、可視化等一些操作。此外,JupyterNotebook可以運(yùn)行多種編程語(yǔ)言,包括但不限于Python,它非常適合數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)和教育領(lǐng)域的開(kāi)發(fā)和演示。VisualStudioCodeJupyterNotebookSublimeText1.3.1常用的開(kāi)發(fā)工具PyCharmAnaconda無(wú)縫銜接單元測(cè)試常用的開(kāi)發(fā)工具有PyCharm、SublimeText、VisualStudioCode、JupyterNotebook、Anaconda等。Anaconda是一種Python發(fā)行版,專注于提供科學(xué)計(jì)算和數(shù)據(jù)分析所需的軟件包和工具。它包括conda包管理器、AnacondaNavigator和JupyterNotebook,還提供了虛擬環(huán)境、打包和發(fā)布自己的包、快速生成報(bào)告等功能。Anaconda還支持多種編程語(yǔ)言和工具,使得它成為了數(shù)據(jù)科學(xué)家和研究人員進(jìn)行科學(xué)計(jì)算的首選工具。VisualStudioCodeSublimeTextJupyterNotebook
先定一個(gè)小目標(biāo)!掌握PyCharm的下載與安裝,能夠獨(dú)立在計(jì)算機(jī)中安裝PyCharm工具1.3.2PyCharm的下載與安裝STEP01PyCharm的下載在瀏覽器中訪問(wèn)PyCharm官網(wǎng)的下載頁(yè)面,具體如下圖所示。1.3.2PyCharm的下載與安裝Professional和Community是PyCharm的兩個(gè)版本,這兩個(gè)版本的特點(diǎn)如下。1.提供PythonIDE的所有功能,支持Web開(kāi)發(fā)。2.支持Django、Flask、GoogleApp引擎、Pyramid和web2py。3.支持JavaScript、CoffeeScript、TypeScript、CSS和Cython等。4.支持遠(yuǎn)程開(kāi)發(fā)、Python分析器、數(shù)據(jù)庫(kù)和SQL語(yǔ)句。Professional版本的特點(diǎn)Community版本的特點(diǎn)1.輕量級(jí)的PythonIDE,只支持Python開(kāi)發(fā)。2.免費(fèi)、開(kāi)源、集成Apache2的許可證。3.智能編輯器、調(diào)試器、支持重構(gòu)和錯(cuò)誤檢查,集成版本控制系統(tǒng)。1.3.2PyCharm的下載與安裝STEP01PyCharm的安裝雙擊安裝包打開(kāi)WelcometoPyCharmCommunityEditionSetup界面。1.3.2PyCharm的下載與安裝STEP02PyCharm的安裝單擊“Next”按鈕進(jìn)入ChooseInstallLocation界面。1.3.2PyCharm的下載與安裝STEP03PyCharm的安裝保持默認(rèn)配置,單擊“Next”按鈕,進(jìn)入InstallationOptions界面,在該界面用戶可根據(jù)需求勾選相應(yīng)功能。1.3.2PyCharm的下載與安裝STEP04PyCharm的安裝勾選所有選項(xiàng),單擊“Next”按鈕進(jìn)入ChooseStartMenuFolder界面。1.3.2PyCharm的下載與安裝STEP05PyCharm的安裝單擊的“Install”按鈕開(kāi)始安裝PyCharm工具,安裝完成后進(jìn)入CompletingPyCharmCommunityEditionSetup界面。1.3.2PyCharm的下載與安裝
先定一個(gè)小目標(biāo)!掌握PyCharm的使用,能夠使用PyCharm編寫(xiě)并運(yùn)行代碼1.3.3使用PyCharm編寫(xiě)Python程序STEP01雙擊桌面上的PyCharm快捷方式圖標(biāo),打開(kāi)WelcometoPyCharm窗口。1.3.3使用PyCharm編寫(xiě)Python程序STEP02單擊窗口左側(cè)的Customize菜單項(xiàng)打開(kāi)自定義配置面板,在該面板中選擇顏色主題為L(zhǎng)ight。1.3.3使用PyCharm編寫(xiě)Python程序STEP03單擊窗口左側(cè)的Projects菜單項(xiàng),切換回項(xiàng)目面板,單擊該面板中的“NewProject”按鈕進(jìn)入NewProject窗口。1.3.3使用PyCharm編寫(xiě)Python程序STEP04單擊“Create”按鈕會(huì)在D:\PythonProject目錄下創(chuàng)建一個(gè)名稱為first_proj的項(xiàng)目,并進(jìn)入項(xiàng)目管理窗口。1.3.3使用PyCharm編寫(xiě)Python程序STEP05單擊“Create”按鈕會(huì)在D:\PythonProject目錄下創(chuàng)建一個(gè)名稱為first_proj的項(xiàng)目,并進(jìn)入項(xiàng)目管理窗口。1.3.3使用PyCharm編寫(xiě)Python程序STEP06單擊左上方標(biāo)注的文件夾圖標(biāo),彈出項(xiàng)目的目錄結(jié)構(gòu)。1.3.3使用PyCharm編寫(xiě)Python程序STEP07選中first_proj項(xiàng)目的根目錄右擊,在彈出的下拉菜單中選擇“New”→“PythonFile”,彈出NewPythonfile窗口,用于給項(xiàng)目添加保存代碼的Python文件。1.3.3使用PyCharm編寫(xiě)Python程序STEP08PyCharm的使用選中first_proj項(xiàng)目的根目錄右擊,在彈出的下拉菜單中選擇“New”→“PythonFile”,彈出NewPythonfile窗口,用于給項(xiàng)目添加保存代碼的Python文件。1.3.3使用PyCharm編寫(xiě)Python程序STEP09在Name文本框中,填寫(xiě)Python文件的名稱為first,按下回車(chē)鍵后會(huì)在first_proj項(xiàng)目的根目錄下添加first.py文件。print("書(shū)山有路勤為徑,學(xué)海無(wú)涯苦作舟")1.3.3使用PyCharm編寫(xiě)Python程序STEP10編寫(xiě)完畢后,單擊窗口上方的
按鈕,或者按組合鍵“Shift+F10”會(huì)立即運(yùn)行該文件的代碼,代碼的運(yùn)行結(jié)果會(huì)顯示到窗口下方的控制臺(tái)面板中。1.3.3使用PyCharm編寫(xiě)Python程序Python模塊1.41.4.1
模塊的安裝
先定一個(gè)小目標(biāo)!掌握模塊的安裝方式,能夠通過(guò)pip工具安裝所需的模塊Python中支持以模塊的形式組織和管理代碼,一個(gè)擴(kuò)展名為.py的文件稱之為一個(gè)模塊,文件的名稱為模塊的名稱。Python內(nèi)置了一些標(biāo)準(zhǔn)模塊,Python的使用者也貢獻(xiàn)了豐富且強(qiáng)大的第三方模塊,標(biāo)準(zhǔn)模塊可以直接導(dǎo)入程序并使用,而第三方模塊需要先行安裝。1.4.1
模塊的安裝第三方模塊的安裝需要借助pip工具,pip工具是一個(gè)通用的Python
模塊、包或庫(kù)的管理工具,它提供了查找、下載、安裝、卸載Python模塊、包或庫(kù)的功能。默認(rèn)情況下,安裝Python解釋器時(shí)會(huì)自動(dòng)安裝pip工具。使用pip工具安裝模塊的命令有三種。1.4.1
模塊的安裝pipinstall模塊名pipinstall模塊名==版本號(hào)pipinstall模塊名1模塊名2模塊名3...例如,在開(kāi)發(fā)環(huán)境中安裝開(kāi)發(fā)游戲的pygame模塊,具體命令如下:1.4.1
模塊的安裝pipinstallpygame以上命令執(zhí)行后,可以看到命令窗口中顯示了以下信息。Installingcollectedpackages:pygameSuccessfullyinstalledpygame-2.5.2如果想驗(yàn)證開(kāi)發(fā)環(huán)境中是否有這個(gè)模塊,那么可以在命令窗口中輸入piplist命令進(jìn)行查看。例如,使用piplist命令查看當(dāng)前開(kāi)發(fā)環(huán)境中已經(jīng)安裝的模塊,命令及執(zhí)行結(jié)果如下所示1.4.1
模塊的安裝C:\Users\itcast>piplistPackageVersion----------------------……pygame 2.5.2需要注意的是,pip是在線工具,它只有在聯(lián)網(wǎng)的狀態(tài)下才可以下載相應(yīng)的資源,若網(wǎng)絡(luò)未連接或網(wǎng)絡(luò)環(huán)境不佳,則pip工具將無(wú)法順利安裝第三方模塊。1.4.2模塊的導(dǎo)入與使用
先定一個(gè)小目標(biāo)!掌握模塊的導(dǎo)入與使用,能夠在程序中熟練導(dǎo)入并使用模塊在使用模塊之前,需要先將模塊導(dǎo)入到當(dāng)前程序。Python中使用import語(yǔ)句導(dǎo)入模塊,import語(yǔ)句支持一次導(dǎo)入一個(gè)模塊,也支持一次導(dǎo)入多個(gè)模塊。使用import語(yǔ)句導(dǎo)入模塊的語(yǔ)法格式如下。import模塊1,模塊2,...1.4.2模塊的導(dǎo)入與使用例如,在程序中導(dǎo)入pygame模塊,具體代碼如下:importpygame模塊導(dǎo)入后,可以通過(guò)點(diǎn)字符“.”使用模塊中的內(nèi)容,包括后面會(huì)介紹的變量、函數(shù)、類等。使用模塊內(nèi)容的語(yǔ)法格式如下:模塊.變量模塊.函數(shù)模塊.類1.4.2模塊的導(dǎo)入與使用例如,通過(guò)pygame模塊使用其中的init()函數(shù),具體代碼如下:pygame.init()通過(guò)點(diǎn)字符“.”使用模塊中的內(nèi)容時(shí),可以避免多個(gè)模塊中存在同名變量、函數(shù)或類的情況下使代碼產(chǎn)生歧義,但若不存在同名變量、函數(shù)或類,則可以使用“from模塊名import?”直接將模塊中的指定內(nèi)容導(dǎo)入程序,并在程序中直接使用模塊中的內(nèi)容。例如,在程序中導(dǎo)入pygame模塊的init()函數(shù),并直接使用該函數(shù),具體代碼如下1.4.2模塊的導(dǎo)入與使用frompygameimportinitinit()使用“from模塊名import?”語(yǔ)句還可以將指定模塊的全部?jī)?nèi)容導(dǎo)入當(dāng)前程序,這時(shí)只需要將import后面指定的內(nèi)容替換為“*”,即可指代模塊中的全部?jī)?nèi)容。例如,在程序中導(dǎo)入pygame模塊的全部?jī)?nèi)容,具體代碼如下:1.4.2模塊的導(dǎo)入與使用frompygameimport*需要注意的是,雖然使用“from模塊名import*”可以方便地導(dǎo)入一個(gè)模塊中的所有內(nèi)容,但出于代碼的可維護(hù)性考慮,我們不建議過(guò)多使用這種方式。在Python中,代碼的組織方式有三個(gè)層次,分別是模塊(Module)、包(Package)和庫(kù)(Library),關(guān)于它們的介紹如下。模塊是Python中最基本的組織單位,它是一個(gè)包含了變量、函數(shù)、類和語(yǔ)句的文件。通過(guò)將相關(guān)的功能代碼放在一個(gè)模塊文件中,可以實(shí)現(xiàn)代碼的重用和模塊化。包是一個(gè)包含了多個(gè)模塊的目錄。包的目錄需要包含一個(gè)特殊的__init__.py文件,用于指示該目錄是一個(gè)包。包可以有多層次的結(jié)構(gòu),通過(guò)將相關(guān)的模塊組織在一個(gè)包中,可以更好地管理和組織代碼。庫(kù)是一個(gè)包含了多個(gè)模塊或包的集合,它提供了一組相關(guān)的功能和工具,用于解決特定的問(wèn)題或?qū)崿F(xiàn)特定的功能。例如,NumPy是一個(gè)常用的科學(xué)計(jì)算庫(kù),它包含了多個(gè)模塊和子包,提供了各種數(shù)值計(jì)算和數(shù)組操作的功能。多學(xué)一招:代碼的組織方式——模塊、包和庫(kù)本章小結(jié)本章首先從Python的發(fā)展歷程和特點(diǎn)兩個(gè)方面簡(jiǎn)單介紹了Python;然后介紹了如何安裝Python解釋器、運(yùn)行Python程序;之后介紹了常用的Python開(kāi)發(fā)工具和PyCharm工具的安裝與使用;最后介紹了Python模塊的安裝、導(dǎo)入與使用。通過(guò)學(xué)習(xí)本章的內(nèi)容,讀者能夠?qū)ython語(yǔ)言有簡(jiǎn)單的認(rèn)識(shí),熟練搭建Python開(kāi)發(fā)環(huán)境并熟悉模塊的安裝和使用。本章小結(jié)第2章Python基礎(chǔ)《Python快速編程入門(mén)(第3版))》學(xué)習(xí)目標(biāo)/Target熟悉代碼格式,能夠歸納出注釋、縮進(jìn)和語(yǔ)句換行的規(guī)范熟悉關(guān)鍵字,能夠列舉至少5個(gè)關(guān)鍵字掌握變量的定義與使用,能夠熟練定義并使用變量訪問(wèn)數(shù)據(jù)熟悉標(biāo)識(shí)符的命名規(guī)則,能夠在程序中使用合法的標(biāo)識(shí)符學(xué)習(xí)目標(biāo)/Target掌握數(shù)字類型,能夠在程序中正確處理數(shù)字類型的數(shù)據(jù)掌握數(shù)字類型的轉(zhuǎn)換,能夠根據(jù)需要進(jìn)行數(shù)字類型的轉(zhuǎn)換掌握變量的輸入與輸出,能夠通過(guò)input()和print()函數(shù)實(shí)現(xiàn)輸入與輸出的功能了解常用的數(shù)據(jù)類型,能夠復(fù)述每種數(shù)據(jù)類型的特點(diǎn)掌握運(yùn)算符的使用,能夠根據(jù)需要選擇運(yùn)算符進(jìn)行運(yùn)算章節(jié)概述/Summary“萬(wàn)丈高樓平地起”,再高的大樓都是從平地修建起的,學(xué)習(xí)Python編程也是同樣的道理。在開(kāi)始編寫(xiě)Python程序之前,我們需要先掌握Python的基礎(chǔ)知識(shí)。只有把基礎(chǔ)打牢才能邁向更高的學(xué)習(xí)階段。本章將針對(duì)Python的基礎(chǔ)知識(shí),包括代碼格式、標(biāo)識(shí)符、關(guān)鍵字、變量、數(shù)據(jù)類型、數(shù)字類型和運(yùn)算符進(jìn)行詳細(xì)講解。目錄/Contents010203代碼格式標(biāo)識(shí)符和關(guān)鍵字變量和數(shù)據(jù)類型04實(shí)訓(xùn)案例目錄/Contents050607數(shù)字類型運(yùn)算符實(shí)訓(xùn)案例代碼格式2.1
先定一個(gè)小目標(biāo)!熟悉代碼格式,能夠歸納出注釋的規(guī)范2.1.1注釋2.1.1注釋注釋是代碼中穿插的輔助性文字,用于標(biāo)識(shí)代碼的含義與功能,提高代碼的可讀性。注釋在Python解釋器執(zhí)行時(shí)會(huì)被自動(dòng)忽略,不會(huì)對(duì)程序產(chǎn)生任何影響。Python程序中的注釋分為單行注釋和多行注釋。2.1.1注釋1.單行注釋單行注釋以“#”開(kāi)頭,“#”后面的內(nèi)容用于說(shuō)明當(dāng)前行或當(dāng)前行之后代碼的功能。單行注釋既可以單獨(dú)占一行,也可以位于標(biāo)識(shí)的代碼之后,與標(biāo)識(shí)的代碼共占一行。示例如下:#我是單行注釋print('志當(dāng)存高遠(yuǎn)')#我也是單行注釋為了保證注釋的可讀性,Python官方建議“#”后面先添加一個(gè)空格,再添加相應(yīng)的說(shuō)明文字;若單行注釋與代碼共占一行,注釋和代碼之間至少應(yīng)有兩個(gè)空格。2.1.1注釋2.多行注釋多行注釋是由三對(duì)雙引號(hào)或單引號(hào)包裹的內(nèi)容,主要用于說(shuō)明函數(shù)或類的功能,因此多行注釋也被稱為說(shuō)明文檔。例如,Python內(nèi)置函數(shù)print()對(duì)應(yīng)的多行注釋如下:"""Printsthevaluestoastream,ortosys.stdoutbydefault.sep:stringinsertedbetweenvalues,defaultaspace.end:stringappendedafterthelastvalue,defaultanewline.file:afile-likeobject(stream);defaultstothecurrentsys.stdout.flush:whethertoforciblyflushthestream."""
先定一個(gè)小目標(biāo)!2.1.2縮進(jìn)熟悉代碼格式,能夠歸納出縮進(jìn)的規(guī)范Python代碼使用縮進(jìn)來(lái)確定代碼之間的邏輯關(guān)系和層次關(guān)系,縮進(jìn)指的是一行代碼之前的空白區(qū)域。Python中可以使用兩種方法來(lái)控制縮進(jìn),分別是Tab鍵和空格,其中空格是首選的縮進(jìn)方法,一般使用4個(gè)空格表示一級(jí)縮進(jìn)。Python縮進(jìn)不允許混合使用Tab鍵和空格。縮進(jìn)后的代碼從屬于之上最近的一行非縮進(jìn)或非同等級(jí)別縮進(jìn)的代碼,示例代碼如下:ifTrue:print("True") else:print("False")2.1.2縮進(jìn)代碼縮進(jìn)量的不同會(huì)導(dǎo)致代碼語(yǔ)義的改變,Python語(yǔ)言要求同一代碼塊的每行代碼必須具有相同的縮進(jìn)量。程序中不允許出現(xiàn)無(wú)意義或不規(guī)范的縮進(jìn),否則運(yùn)行時(shí)會(huì)產(chǎn)生錯(cuò)誤。示例代碼如下:ifTrue:print("Answer")print("True")else:print("Answer")print("False")#縮進(jìn)不一致,會(huì)導(dǎo)致運(yùn)行錯(cuò)誤2.1.2縮進(jìn)
先定一個(gè)小目標(biāo)!2.1.3語(yǔ)句換行熟悉代碼格式,能夠歸納出語(yǔ)句換行的規(guī)范在Python中,如果一條語(yǔ)句過(guò)長(zhǎng)而無(wú)法在一行內(nèi)顯示完整,那么可以將這條語(yǔ)句進(jìn)行換行以分成多行顯示,從而提高代碼的可讀性。Python官方建議一行代碼的長(zhǎng)度不要超過(guò)79個(gè)字符,超過(guò)最好進(jìn)行換行顯示。Python中可以通過(guò)兩種方式進(jìn)行語(yǔ)句換行,一種方式是在一行代碼的末尾加上符號(hào)“\”,另一種方式是使用小括號(hào)包裹代碼。2.1.3語(yǔ)句換行使用符號(hào)“\”進(jìn)行換行時(shí),“\”位于一行代碼的末尾,并會(huì)連接下面一行的代碼,構(gòu)成一個(gè)完整語(yǔ)義的語(yǔ)句。示例如下:side_01=3;side_02=4;side_03=5#使用\進(jìn)行換行result=side_01+side_02>side_03or\side_02+side_03>side_01or\side_01+side_03>side_022.1.3語(yǔ)句換行使用小括號(hào)進(jìn)行換行時(shí),只需要將代碼全部放到小括號(hào)中,此時(shí)小括號(hào)包裹的代碼會(huì)被視為一個(gè)完整語(yǔ)義的語(yǔ)句,可以跨越多行顯示。示例如下:side_01=3;side_02=4;side_03=5#使用小括號(hào)進(jìn)行換行result=(side_01+side_02>side_03orside_02+side_03>side_01orside_01+side_03>side_02)2.1.3語(yǔ)句換行標(biāo)識(shí)符和關(guān)鍵字2.2
先定一個(gè)小目標(biāo)!熟悉標(biāo)識(shí)符的命名規(guī)則,能夠在程序中使用合法的標(biāo)識(shí)符2.2.1標(biāo)識(shí)符為了明確某處代碼使用的到底是哪個(gè)數(shù)據(jù)、代表的是哪一類信息,開(kāi)發(fā)人員可以使用一些符號(hào)或名稱作為程序中同一個(gè)數(shù)據(jù)或同一類信息的標(biāo)識(shí),這些符號(hào)或名稱就是標(biāo)識(shí)符,比如后面章節(jié)提到的變量名、函數(shù)名、類名等。2.2.1標(biāo)識(shí)符凡事無(wú)規(guī)矩不成方圓。Python中的標(biāo)識(shí)符在命名時(shí),需要遵守一定的命名規(guī)則,具體如下。Python中的標(biāo)識(shí)符由字母、數(shù)字或下畫(huà)線組成,且不能以數(shù)字開(kāi)頭。Python中的標(biāo)識(shí)符區(qū)分大小寫(xiě)。例如,andy和Andy是不同的標(biāo)識(shí)符。Python不允許開(kāi)發(fā)人員使用關(guān)鍵字作為標(biāo)識(shí)符。2.2.1標(biāo)識(shí)符student
#全部是小寫(xiě)字母LEVEL#全部是大寫(xiě)字母Flower#大寫(xiě)字母、小寫(xiě)字母混合Flower123#大寫(xiě)字母、小寫(xiě)字母、數(shù)字混合Flower_123#大寫(xiě)字母、小寫(xiě)字母、數(shù)字、下畫(huà)線混合不合法的標(biāo)識(shí)符,具體如下:2.2.1標(biāo)識(shí)符from#12 #標(biāo)識(shí)符不能包含#符號(hào)2ndObj
#標(biāo)識(shí)符不能以數(shù)字開(kāi)頭if #if是關(guān)鍵字,不能作為標(biāo)識(shí)符Python對(duì)于標(biāo)識(shí)符的命名還有以下兩點(diǎn)建議。(1)見(jiàn)名知意。標(biāo)識(shí)符應(yīng)有具有明確的含義,盡量做到用戶看一眼便知道標(biāo)識(shí)符的意義。例如,使用name標(biāo)識(shí)姓名,使用student標(biāo)識(shí)學(xué)生。(2)命名格式要求。為區(qū)分程序中不同地方使用的標(biāo)識(shí)符,Python有一些約定俗成的命名格式規(guī)則,涵蓋了變量名、常量名、模塊名、函數(shù)名和類名,具體要求如下:變量名使用小寫(xiě)的單個(gè)單詞或由下畫(huà)線連接的多個(gè)單詞,如name、native_place。常量名使用大寫(xiě)的單個(gè)單詞或由下畫(huà)線連接的多個(gè)單詞,如ORDER_LIST_LIMIT、GAME_LEVEL。模塊名、函數(shù)名使用小寫(xiě)的單個(gè)單詞或由下畫(huà)線連接的多個(gè)單詞,如low_with_under、generate_random_numbers。類名使用大寫(xiě)字母開(kāi)頭的單個(gè)或多個(gè)單詞,如Cat、CapWorld。2.2.1標(biāo)識(shí)符
先定一個(gè)小目標(biāo)!熟悉關(guān)鍵字,能夠列舉至少5個(gè)關(guān)鍵字2.2.2關(guān)鍵字2.2.2關(guān)鍵字關(guān)鍵字是Python已經(jīng)使用的且不允許開(kāi)發(fā)人員重復(fù)定義的標(biāo)識(shí)符。Python中一共定義了35個(gè)關(guān)鍵字,這些關(guān)鍵字全部存儲(chǔ)在keyword模塊的變量kwlist中,通過(guò)查看變量kwlist可獲取Python中所有的關(guān)鍵字,示例如下:importkeywordprint(keyword.kwlist)2.2.2關(guān)鍵字Python中所有的關(guān)鍵字如下:FalseawaitelseimportpassNonebreakexceptinraiseTrueclassfinallyisreturnandcontinueforlambdatryasdeffromnonlocalwhileassertdelglobalnotwithasyncelififoryield2.2.2關(guān)鍵字Python中的每個(gè)關(guān)鍵字都有不同的作用,通過(guò)“help("關(guān)鍵字")”可以查看關(guān)鍵字的詳細(xì)信息。例如,查看關(guān)鍵字import的詳細(xì)信息,示例代碼如下:print(help("import")變量和數(shù)據(jù)類型2.3
先定一個(gè)小目標(biāo)!掌握變量的定義與使用,能夠熟練定義并使用變量訪問(wèn)數(shù)據(jù)2.3.1變量2.3.1變量計(jì)算機(jī)語(yǔ)言中變量的概念源于數(shù)學(xué)。在數(shù)學(xué)中,變量指用拉丁字母表示的、值不固定的數(shù)據(jù)。在計(jì)算機(jī)語(yǔ)言中,變量指能存儲(chǔ)計(jì)算結(jié)果或表示值的抽象概念——程序在運(yùn)行期間用到的數(shù)據(jù)會(huì)被保存在計(jì)算機(jī)的內(nèi)存單元中,為了方便存取內(nèi)存單元中的數(shù)據(jù),Python使用標(biāo)識(shí)符來(lái)標(biāo)識(shí)不同的內(nèi)存單元,從而在程序中通過(guò)標(biāo)識(shí)符來(lái)引用和操作存儲(chǔ)在內(nèi)存單元中的數(shù)據(jù)。2.3.1變量以存儲(chǔ)數(shù)據(jù)15的變量和存儲(chǔ)數(shù)據(jù)20的變量為例,它們對(duì)應(yīng)的標(biāo)識(shí)符名稱分別為num和data,描述變量與內(nèi)存單元之間的關(guān)系。2.3.1變量標(biāo)識(shí)內(nèi)存單元的標(biāo)識(shí)符又稱為變量名,Python通過(guò)賦值運(yùn)算符“=”將內(nèi)存單元中存儲(chǔ)的數(shù)據(jù)與變量名建立聯(lián)系,即定義變量,具體語(yǔ)法格式如下:變量名=值當(dāng)定義了一個(gè)變量并將一個(gè)值賦給它時(shí),Python會(huì)在內(nèi)存中為值分配一個(gè)合適大小的內(nèi)存單元,并將變量與內(nèi)存單元進(jìn)行關(guān)聯(lián)。例如,將內(nèi)存單元中存儲(chǔ)的值100與變量名data建立聯(lián)系,代碼如下:data=100
先定一個(gè)小目標(biāo)!了解常用的數(shù)據(jù)類型,能夠復(fù)述每種數(shù)據(jù)類型的特點(diǎn)2.3.2數(shù)據(jù)類型2.3.2數(shù)據(jù)類型根據(jù)數(shù)據(jù)存儲(chǔ)形式的不同,Python中常用的數(shù)據(jù)類型可以分為兩類,分別是數(shù)字類型和組合數(shù)據(jù)類型,其中組合數(shù)據(jù)類型相對(duì)復(fù)雜,包括字符串類型、列表類型、元組類型、集合類型、字典類型等。2.3.2數(shù)據(jù)類型1.數(shù)字類型數(shù)字類型用于表示不同種類的數(shù)值數(shù)據(jù),分為整型(int)、浮點(diǎn)型(float)、復(fù)數(shù)類型(complex)和布爾類型(bool),其中整型、浮點(diǎn)型和復(fù)數(shù)類型的數(shù)據(jù)分別對(duì)應(yīng)數(shù)學(xué)中的整數(shù)、小數(shù)和復(fù)數(shù);布爾類型比較特殊,用于表示真(True)或假(False)的邏輯值。數(shù)字類型的示例如下:整型:
0
101 -239浮點(diǎn)型:
3.14154.2E-10 -2.334E-9復(fù)數(shù)類型:3.12+1.23j
-1.23-93j布爾類型:True
False2.3.2數(shù)據(jù)類型2.字符串類型字符串用于表示文本數(shù)據(jù),由單引號(hào)、雙引號(hào)或者三引號(hào)包裹一系列字符。示例如下:'Python123¥' #使用單引號(hào)包裹"Python4*&%" #使用雙引號(hào)包裹'''Pythons1~(())''' #使用三引號(hào)包裹2.3.2數(shù)據(jù)類型3.列表類型列表可以保存任意數(shù)量、任意類型的元素,且這些元素可以被修改。Python中一般使用中括號(hào)“[]”創(chuàng)建列表,在中括號(hào)中可以放入多個(gè)元素,多個(gè)元素之間以逗號(hào)進(jìn)行分隔,示例如下:[1,2,'apple'] #這是一個(gè)列表2.3.2數(shù)據(jù)類型4.元組類型元組與列表的作用相似,它也可以保存任意數(shù)量、任意類型的元素,但是這些元素是不可以被修改的。Python中一般使用小括號(hào)“()”創(chuàng)建元組,在小括號(hào)中可以放入多個(gè)元素,多個(gè)元素之間以逗號(hào)分隔,示例如下:(1,2,'apple') #這是一個(gè)元組2.3.2數(shù)據(jù)類型5.集合類型集合與列表、元組類似,它也可以保存任意數(shù)量、任意類型的元素,但是這些元素之間沒(méi)有特定的順序,并且每個(gè)元素必須是唯一的。Python中一般使用大括號(hào)“{}”創(chuàng)建集合,在大括號(hào)中可以放入多個(gè)元素,多個(gè)元素之間以逗號(hào)分隔,示例如下:{'apple','orange',1} #這是一個(gè)集合2.3.2數(shù)據(jù)類型6.字典類型字典可以保存任意數(shù)量的元素,不過(guò)元素是“Key:Value”形式的鍵值對(duì),鍵Key不能重復(fù)。Python中一般使用大括號(hào)“{}”創(chuàng)建字典,在大括號(hào)中可以放入多個(gè)元素,多個(gè)元素之間以逗號(hào)分隔,示例如下:"name":"張三","age":18}#這是一個(gè)字典多學(xué)一招:type()函數(shù)——查看變量的類型Python是一種動(dòng)態(tài)類型語(yǔ)言,它在定義變量時(shí)不需要顯式指定具體的類型。Python解釋器會(huì)根據(jù)程序執(zhí)行時(shí)賦予變量的值自動(dòng)確定變量的數(shù)據(jù)類型,可以通過(guò)type()函數(shù)查看變量所存儲(chǔ)數(shù)據(jù)的具體類型。例如,創(chuàng)建一個(gè)字典,通過(guò)type()函數(shù)查看這個(gè)字典的數(shù)據(jù)類型,具體代碼如下:dict_demo={"name":"zhangsan","age":18}print(type(dict_demo))#查看數(shù)據(jù)類型<class'dict'>
先定一個(gè)小目標(biāo)!掌握變量的輸入與輸出,能夠通過(guò)input()和print()函數(shù)實(shí)現(xiàn)輸入與輸出的功能2.3.3變量的輸入與輸出STEP012.3.3變量的輸入與輸出程序要實(shí)現(xiàn)人機(jī)交互功能,需能從輸入設(shè)備接收用戶輸入的數(shù)據(jù),也需要向顯示設(shè)備輸出數(shù)據(jù)。Python提供了input()函數(shù)和print()函數(shù)分別來(lái)實(shí)現(xiàn)數(shù)據(jù)的輸入與輸出。STEP012.3.3變量的輸入與輸出1.input()函數(shù)input()函數(shù)用于接收用戶從鍵盤(pán)輸入的數(shù)據(jù),返回一個(gè)字符串類型的數(shù)據(jù),其語(yǔ)法格式如下所示:prompt:用于設(shè)置接收用戶輸入時(shí)的提示信息,可以省略。input([prompt])語(yǔ)法格式2.3.3變量的輸入與輸出示例input()函數(shù)的用法,示例代碼如下:user_name=input('請(qǐng)輸入賬號(hào):')#接收用戶輸入的賬號(hào)password=input('請(qǐng)輸入密碼:')#接收用戶輸入的密碼print('登錄成功!')STEP012.3.3變量的輸入與輸出2.print()函數(shù)print()函數(shù)用于向控制臺(tái)中輸出數(shù)據(jù),它可以輸出任何類型的數(shù)據(jù),其語(yǔ)法格式如下:*objects:表示輸出的數(shù)據(jù)。輸出多個(gè)數(shù)據(jù)時(shí),數(shù)據(jù)之間需要用逗號(hào)分隔。sep:可選參數(shù),用于設(shè)定數(shù)據(jù)之間使用的分隔符,默認(rèn)值為空格。end:可選參數(shù),用于設(shè)定輸出結(jié)果以什么結(jié)尾,默認(rèn)值為換行符\n。file:可選參數(shù),表示數(shù)據(jù)要寫(xiě)入的文件對(duì)象,默認(rèn)值為sys.stdout,表示標(biāo)準(zhǔn)輸出流,默認(rèn)情況下程序會(huì)將結(jié)果輸出到控制臺(tái)。flush:可選參數(shù),表示是否刷新標(biāo)準(zhǔn)輸出流,默認(rèn)值為False,表示不刷新。print(*objects,
sep='
',
end='\n',
file=None,
flush=False)語(yǔ)法格式2.3.3變量的輸入與輸出示例通過(guò)輸出個(gè)人基本信息的示例演示print()函數(shù)的用法,示例代碼如下:name='小明'print('姓名:',name)#輸出多個(gè)數(shù)據(jù),第一個(gè)是字符串,第二個(gè)是變量保存的數(shù)據(jù)print('年齡:22')
#輸出一個(gè)字符串類型的數(shù)據(jù)address='北京'print('地址:',address)#輸出多個(gè)數(shù)據(jù),第一個(gè)是字符串,第二個(gè)是變量保存的數(shù)據(jù)實(shí)訓(xùn)案例2.4
先定一個(gè)小目標(biāo)!2.4.1輸出購(gòu)物小票根據(jù)任務(wù)描述實(shí)現(xiàn)案例:輸出購(gòu)物小票2.4.1輸出購(gòu)物小票購(gòu)物小票又稱購(gòu)物收據(jù),是指消費(fèi)者購(gòu)買(mǎi)商品時(shí)由商場(chǎng)或其他商業(yè)機(jī)構(gòu)提供給用戶的消費(fèi)憑證。購(gòu)物小票中一般會(huì)包含用戶購(gòu)買(mǎi)的商品名稱、數(shù)量、單價(jià)及總金額等信息。2.4.1輸出購(gòu)物小票本案例要求編寫(xiě)代碼,依次接收用戶從鍵盤(pán)輸入的商品價(jià)格,并根據(jù)價(jià)格輸出購(gòu)物小票內(nèi)容。
先定一個(gè)小目標(biāo)!2.4.2輸出植樹(shù)證書(shū)根據(jù)任務(wù)描述實(shí)現(xiàn)案例:輸出植樹(shù)證書(shū)螞蟻森林是支付寶客戶端發(fā)起“碳賬戶”的一款公益活動(dòng),用戶通過(guò)步行、地鐵出行、在線消費(fèi)等行為,可在螞蟻森林中獲取能量,當(dāng)能量到達(dá)一定數(shù)值后,用戶可以在支付寶中申請(qǐng)一顆虛擬的樹(shù),申請(qǐng)成功后會(huì)收到支付寶發(fā)放的一張植樹(shù)證書(shū)。植樹(shù)證書(shū)中包含申請(qǐng)日期、樹(shù)苗編號(hào)、種植地點(diǎn)等信息。2.4.2輸出植樹(shù)證書(shū)本案例要求編寫(xiě)代碼,根據(jù)用戶輸入的昵稱和植物實(shí)現(xiàn)輸出植樹(shù)證書(shū)信息的功能。2.4.2輸出植樹(shù)證書(shū)數(shù)字類型2.52.5.1
整型
先定一個(gè)小目標(biāo)!掌握整型的定義,能夠正確定義并使用定義的整數(shù)整數(shù)類型(int)簡(jiǎn)稱整型,它用于表示整數(shù),例如100、101、-100、-101等。Python中整型數(shù)據(jù)的大小沒(méi)有限制,只要計(jì)算機(jī)的內(nèi)存足夠大,用戶就無(wú)須考慮內(nèi)存溢出問(wèn)題。2.5.1
整型整型常用的計(jì)數(shù)方式有4種,分別是二進(jìn)制、八進(jìn)制、十進(jìn)制和十六進(jìn)制,默認(rèn)的計(jì)數(shù)方式為十進(jìn)制,其中二進(jìn)制數(shù)以“0B”或“0b”開(kāi)頭,八進(jìn)制數(shù)以數(shù)字“0o”或“0O”開(kāi)頭,十六進(jìn)制數(shù)以“0x”或“0X”開(kāi)頭。接下來(lái),分別以4種計(jì)數(shù)方式表示整型數(shù)據(jù)5,示例如下:5#十進(jìn)制數(shù)0b101#二進(jìn)制數(shù)0o5#八進(jìn)制數(shù)0x5#十六進(jìn)制數(shù)2.5.1
整型為了方便用戶使用不同進(jìn)制的數(shù)據(jù),Python中提供了一些用于轉(zhuǎn)換數(shù)據(jù)進(jìn)制的函數(shù),分別是bin()、oct()、int()、hex(),這些函數(shù)都可以將一種進(jìn)制的整型數(shù)據(jù)轉(zhuǎn)換為其他進(jìn)制的的整型數(shù)據(jù)。2.5.1
整型運(yùn)算符說(shuō)明bin(x)將x轉(zhuǎn)換為二進(jìn)制數(shù)oct(x)將x轉(zhuǎn)換為八進(jìn)制數(shù)int(x)將x轉(zhuǎn)換為十進(jìn)制數(shù)hex(x)將x轉(zhuǎn)換為十六進(jìn)制數(shù)各函數(shù)的用法,示例代碼如下:2.5.1
整型decimal=10#十進(jìn)制數(shù)bin_num=0b1010#二進(jìn)制數(shù)print(bin(decimal))#將十進(jìn)制數(shù)10轉(zhuǎn)換為二進(jìn)制數(shù)print(oct(decimal))#將十進(jìn)制數(shù)10轉(zhuǎn)換為八進(jìn)制數(shù)print(int(bin_num))#將二進(jìn)制數(shù)0b1010轉(zhuǎn)換為十進(jìn)制數(shù)print(hex(decimal))#將十進(jìn)制數(shù)10轉(zhuǎn)換為十六進(jìn)制數(shù)2.5.2浮點(diǎn)型
先定一個(gè)小目標(biāo)!掌握浮點(diǎn)數(shù)類型的定義,能夠正確定義并使用定義的浮點(diǎn)數(shù)2.5.2浮點(diǎn)型浮點(diǎn)型(float)用于表示實(shí)數(shù),實(shí)數(shù)由整數(shù)部分、小數(shù)點(diǎn)和小數(shù)部分組成,如3.1415926、0.90、-10.0。Python中一般可以直接使用小數(shù)點(diǎn)的形式表示浮點(diǎn)型數(shù)據(jù),示例如下:1.099991.2021314.15926-2.36-10.0632-100.03當(dāng)需要表示較大或較小的實(shí)數(shù)時(shí),直接使用小數(shù)點(diǎn)形式會(huì)出現(xiàn)非常冗長(zhǎng)的數(shù)字位數(shù)。為了簡(jiǎn)化這種表示方式,可以使用科學(xué)記數(shù)法表示浮點(diǎn)型數(shù)據(jù)。2.5.2浮點(diǎn)型科學(xué)記數(shù)法會(huì)把一個(gè)數(shù)表示成a與10的n次冪相乘的形式,數(shù)學(xué)中科記數(shù)法的格式:a×10n(1≤|a|<10,n∈N)Python使用字母e或E表示底數(shù)10,示例如下:-3.14e10
#相當(dāng)于-3.14×,結(jié)果為-314000000003.14e-10
#相當(dāng)于3.14×,結(jié)果為0.0000000003142.5.2浮點(diǎn)型Python中的浮點(diǎn)型是雙精度的,每個(gè)浮點(diǎn)型數(shù)據(jù)占8個(gè)字節(jié)(即64位)的存儲(chǔ)空間。這種雙精度的浮點(diǎn)型數(shù)據(jù)遵守IEEE754標(biāo)準(zhǔn),其中52位用于存儲(chǔ)尾數(shù),11位用于存儲(chǔ)階碼,剩余1位用于存儲(chǔ)符號(hào)。Python中浮點(diǎn)型數(shù)據(jù)的取值范圍為-1.8e308~1.8e308,若超出這個(gè)范圍,Python會(huì)將數(shù)據(jù)視為無(wú)窮大(inf)或無(wú)窮?。?inf)。示例如下:print(3.14e500)print(-3.14e500)
先定一個(gè)小目標(biāo)!掌握復(fù)數(shù)類型的定義,能夠正確定義并使用定義的復(fù)數(shù)2.5.3復(fù)數(shù)類型復(fù)數(shù)類型(complex)用于表示復(fù)數(shù),復(fù)數(shù)的一般形式為real+imagj或real+imagJ,其中real是實(shí)部,表示復(fù)數(shù)的實(shí)數(shù)部分;imag是虛部,表示復(fù)數(shù)的虛數(shù)部分;j或J是虛數(shù)單位。注意,實(shí)部可以直接省略;虛部后面必須有虛數(shù)單位,虛數(shù)單位不能單獨(dú)存在。示例如下:complex_one=1+2j
#實(shí)部為1,虛部為2complex_two=2j#虛部為22.5.3復(fù)數(shù)類型通過(guò)complex()函數(shù)創(chuàng)建復(fù)數(shù),該函數(shù)的使用方式為complex(實(shí)部,虛部),我們需要根據(jù)需求傳入相應(yīng)的實(shí)部和虛部。若是沒(méi)有傳入虛部,則虛部默認(rèn)為0。示例如下:complex_one=complex(3,2)#創(chuàng)建復(fù)數(shù),分別傳入實(shí)部和虛部print(complex_one)complex_two=complex(5)#創(chuàng)建復(fù)數(shù),只傳入實(shí)部print(complex_two)通過(guò)real和imag屬性可以單獨(dú)獲取復(fù)數(shù)的實(shí)部和虛部,具體使用方式為“復(fù)數(shù).real”和“復(fù)數(shù).imag”,示例如下:complex_one=1+2jprint(complex_one.real)
#獲取復(fù)數(shù)實(shí)部print(complex_one.imag)#獲取復(fù)數(shù)虛部2.5.3復(fù)數(shù)類型
先定一個(gè)小目標(biāo)!掌握布爾類型的使用,能夠正確使用布爾類型2.5.4布爾類型2.5.4布爾類型布爾類型用于表示邏輯判斷的真或假,真對(duì)應(yīng)的取值是True,假對(duì)應(yīng)的取值是False。Python中,任何數(shù)據(jù)都可以進(jìn)行邏輯判斷后得到一個(gè)布爾值,布爾值為False的常見(jiàn)數(shù)據(jù)如下:None;任何值為0的數(shù)字類型,如0、0.0、0j;任何空的組合數(shù)據(jù)類型,如空字符串、空元組、空列表、空集合、空字典;2.5.4布爾類型None是一個(gè)特殊的空值,也就是說(shuō)沒(méi)有值。除了上述列舉的數(shù)據(jù)外,其他數(shù)據(jù)的布爾值一般都是True。Python中可以使用bool()函數(shù)檢測(cè)數(shù)據(jù)的布爾值,示例如下:print(bool(None))#檢測(cè)空值None的布爾值print(bool(0))#檢測(cè)整型數(shù)據(jù)0的布爾值print(bool(3.1415))#檢測(cè)浮點(diǎn)型數(shù)據(jù)3.1415的布爾值print(bool(0j))#檢測(cè)復(fù)數(shù)類型數(shù)據(jù)0j的布爾值print(bool('hello'))#檢測(cè)字符串'hello'的布爾值print(bool(1))#檢測(cè)整型數(shù)據(jù)1的布爾值
先定一個(gè)小目標(biāo)!掌握數(shù)字類型的轉(zhuǎn)換,能夠根據(jù)需要進(jìn)行數(shù)字類型的轉(zhuǎn)換2.5.5數(shù)字類型轉(zhuǎn)換Python內(nèi)置了一系列可強(qiáng)制轉(zhuǎn)換數(shù)據(jù)類型的函數(shù),使用這些函數(shù)可將目標(biāo)數(shù)據(jù)轉(zhuǎn)換為指定的類型,其中用于轉(zhuǎn)換數(shù)字類型的函數(shù)有int()、float()、complex()。2.5.5數(shù)字類型轉(zhuǎn)換函數(shù)說(shuō)明int(x[,base])將x轉(zhuǎn)換為整型數(shù)據(jù),x的值可以是整型、浮點(diǎn)型、布爾類型的數(shù)據(jù),或者符合整型規(guī)范的字符串;base表示進(jìn)制數(shù),它的取值為2到36之間的整數(shù)。如果沒(méi)有使用base指定進(jìn)制數(shù),則會(huì)將x轉(zhuǎn)換為十進(jìn)制整數(shù)float(x)將x轉(zhuǎn)換為一個(gè)浮點(diǎn)型數(shù)據(jù),x的值可以是整型、浮點(diǎn)型、布爾類型的數(shù)據(jù),或者符合浮點(diǎn)型規(guī)范的字符串complex(x)將x轉(zhuǎn)換為復(fù)數(shù)類型數(shù)據(jù),x的值可以是任意數(shù)字類型的數(shù)據(jù),或者符合復(fù)數(shù)類型規(guī)范的字符串2.5.5數(shù)字類型轉(zhuǎn)換需要注意的是,當(dāng)通過(guò)int()函數(shù)將浮點(diǎn)型數(shù)據(jù)轉(zhuǎn)換為整型數(shù)據(jù)時(shí)只保留整數(shù)部分,舍去小數(shù)部分。另外,通過(guò)int()函數(shù)將布爾類型的數(shù)據(jù)轉(zhuǎn)換為整型數(shù)據(jù)時(shí),會(huì)將True轉(zhuǎn)換成1,F(xiàn)alse轉(zhuǎn)換成0。2.5.5數(shù)字類型轉(zhuǎn)換各函數(shù)的使用示例如下。num_one=2.0print(int(num_one))#將浮點(diǎn)型數(shù)據(jù)轉(zhuǎn)換為整型數(shù)據(jù)num_two=5print(float(num_two))#將整型數(shù)據(jù)轉(zhuǎn)換為浮點(diǎn)型數(shù)據(jù)print(complex(num_one))#將浮點(diǎn)數(shù)數(shù)據(jù)轉(zhuǎn)換為復(fù)數(shù)類型的數(shù)據(jù)words_one='10.01'print(float(words_one))#將字符串類型的數(shù)據(jù)轉(zhuǎn)換為浮點(diǎn)型數(shù)據(jù)words_two='10'print(int(words_two))#將字符串類型的數(shù)據(jù)轉(zhuǎn)換為整型數(shù)據(jù)words_three='1+2j'print(complex(words_three))#將字符串類型的數(shù)據(jù)轉(zhuǎn)換為復(fù)數(shù)類型的數(shù)據(jù)2.5.5數(shù)字類型轉(zhuǎn)換注意,如果字符串中的所有內(nèi)容是除十進(jìn)制以外其他進(jìn)制的數(shù)據(jù),那么使用int()函數(shù)將該字符串轉(zhuǎn)換成整型數(shù)據(jù)時(shí),需要使用base指定要轉(zhuǎn)換的進(jìn)制。示例如下:words_four='0b1010'#字符串中包含二進(jìn)制數(shù)print(int(words_four,base=2))#將字符串轉(zhuǎn)換為整型數(shù)據(jù),指定二進(jìn)制運(yùn)算符2.62.6.1
算術(shù)運(yùn)算符
先定一個(gè)小目標(biāo)!掌握運(yùn)算符的使用,能夠正確使用算術(shù)運(yùn)算符算術(shù)運(yùn)算符主要用于執(zhí)行基本的數(shù)學(xué)運(yùn)算,比如加法、減法、乘法、除法等,Python中的算術(shù)運(yùn)算符包括+、-、*、/、//、%和**,它們都是雙目運(yùn)算符,能夠?qū)蓚€(gè)操作數(shù)進(jìn)行相應(yīng)的數(shù)學(xué)運(yùn)算。2.6.1
算術(shù)運(yùn)算符下面以a=2,b=8為例,介紹算術(shù)運(yùn)算符的功能說(shuō)明及示例。2.6.1
算術(shù)運(yùn)算符運(yùn)算符說(shuō)明示例+加:使兩個(gè)操作數(shù)相加,獲取操作數(shù)的和a+b,結(jié)果為8-減:使兩個(gè)操作數(shù)相減,獲取操作數(shù)的差a–b,結(jié)果為-2*乘:使兩個(gè)操作數(shù)相乘,獲取操作數(shù)的積a*b,結(jié)果為15/除:使兩個(gè)操作數(shù)相除,獲取操作數(shù)的商a/b,結(jié)果為0.6//整除:使兩個(gè)操作數(shù)相除,獲取商的整數(shù)部分a//b,結(jié)果為0%取余:使兩個(gè)操作數(shù)相除,獲取余數(shù)a%b,結(jié)果為3**冪:使兩個(gè)操作數(shù)進(jìn)行冪運(yùn)算,獲取a的b次冪a**b,結(jié)果為243Python中的算術(shù)運(yùn)算符既支持對(duì)相同類型的數(shù)值進(jìn)行運(yùn)算,也支持對(duì)不同類型的數(shù)值進(jìn)行混合運(yùn)算。在進(jìn)行混合運(yùn)算時(shí)Python會(huì)強(qiáng)制將數(shù)值的類型進(jìn)行類型轉(zhuǎn)換,類型轉(zhuǎn)換遵循如下原則:(1)整型與浮點(diǎn)型進(jìn)行混合運(yùn)算時(shí),將整型轉(zhuǎn)化為浮點(diǎn)型。(2)其他類型與復(fù)數(shù)運(yùn)算時(shí),將其他類型轉(zhuǎn)換為復(fù)數(shù)類型。使用整型數(shù)據(jù)分別與浮點(diǎn)型和復(fù)數(shù)類型的數(shù)據(jù)進(jìn)行運(yùn)算,示例如下:2.6.1
算術(shù)運(yùn)算符print(10/2.0) #整型會(huì)轉(zhuǎn)換為浮點(diǎn)型的數(shù)據(jù)10.0print(10-(3+5j)) #整型會(huì)轉(zhuǎn)換為復(fù)數(shù)類型的數(shù)據(jù)10+0j2.6.2賦值運(yùn)算符
先定一個(gè)小目標(biāo)!掌握運(yùn)算符的使用,能夠正確使用賦值運(yùn)算符賦值運(yùn)算符用于將一個(gè)表達(dá)式或值賦值給變量。最簡(jiǎn)單的賦值運(yùn)算符是=,例如,使用賦值運(yùn)算符=將整數(shù)3賦值給變量num,示例如下:2.6.2賦值運(yùn)算符num=3賦值運(yùn)算符=允許同時(shí)為多個(gè)變量賦值,既可以為多個(gè)變量賦同一個(gè)值,也可以賦不同的值,示例如下:x=y=z=1#變量x、y、z均賦值為1a,b=1,2
#變量a賦值為1,變量b賦值為2注意,當(dāng)使用賦值運(yùn)算符=同時(shí)為多個(gè)變量賦不同的值時(shí),賦值運(yùn)算符=左右兩邊的變量和值的數(shù)量必須保持一致,否則運(yùn)行后會(huì)出現(xiàn)錯(cuò)誤。2.6.2賦值運(yùn)算符Python還有一種復(fù)合賦值運(yùn)算符,復(fù)合賦值運(yùn)算符同時(shí)具備算術(shù)運(yùn)算和賦值兩項(xiàng)功能。下面以變量num為例,介紹Python復(fù)合賦值運(yùn)算符的功能說(shuō)明及示例。2.6.2賦值運(yùn)算符運(yùn)算符說(shuō)明示例+=將右邊的值與左邊變量相加,并將結(jié)果賦給左邊變量num+=2等價(jià)于num=num+2-=將右邊的值與左邊變量相減,并將結(jié)果賦給左邊變量num-=2等價(jià)于num=num-2*=將右邊的值與左邊變量相乘,并將結(jié)果賦給左邊變量num*=2等價(jià)于num=num*2/=將左邊的變量除以右邊的值,并將結(jié)果賦給左邊變量num/=2等價(jià)于num=num/2//=將左邊的變量整除右邊的值,并將結(jié)果賦給左邊變量num//=2等價(jià)于num=num//2%=將左邊的變量對(duì)右邊的值取模,并將結(jié)果賦給左邊變量num%=2等價(jià)于num=num%2**=將左邊的變量提升到右邊值的冪次方,并將結(jié)果賦給左邊變量num**=2等價(jià)于num=num**2Python3.8中新增了一個(gè)賦值運(yùn)算符——海象運(yùn)算符“:=”,該運(yùn)算符用于在表達(dá)式內(nèi)部同時(shí)為變量賦值和使用變量,因其符號(hào)形似海象的眼睛和長(zhǎng)牙而得名。海象運(yùn)算符的用法示例如下:2.6.2賦值運(yùn)算符num_one=1result=num_one+(num_two:=2) #使用海象運(yùn)算符為變量num_two賦值print(result)2.6.3比較運(yùn)算符
先定一個(gè)小目標(biāo)!掌握運(yùn)算符的使用,能夠正確使用比較運(yùn)算符比較運(yùn)算符也叫關(guān)系運(yùn)算符,用于比較兩邊操作數(shù)之間的關(guān)系。Python中的比較運(yùn)算符包括==、!=、>、<、>=、<=,它們通常用于布爾測(cè)試,測(cè)試的結(jié)果只能是True或False。下面以x=2,y=3為例,介紹比較運(yùn)算符的功能說(shuō)明及示例。2.6.2賦值運(yùn)算符運(yùn)算符說(shuō)明示例==比較兩個(gè)操作數(shù)是否相等,如果相等返回Truex==y,返回False!=比較兩個(gè)操作數(shù)是否不相等,如果不相等返回Truex!=y,返回True>比較左操作數(shù)是否大于右操作數(shù),如果大于返回Truex>y,返回False<比較左操作數(shù)是否小于右操作數(shù),如果小于返回Truex<y,返回True>=比較左操作數(shù)是否大于或等于右操作數(shù),如果大于或等于返回Truex>=y,返回False<=比較左操作數(shù)是否小于或等于右操作數(shù),如果小于或等于返回Truex<=y,返回True2.6.4邏輯運(yùn)算符
先定一個(gè)小目標(biāo)!掌握運(yùn)算符的使用,能夠正確使用邏輯運(yùn)算符邏輯運(yùn)算符可以把多個(gè)條件按照邏輯進(jìn)行連接,變成更復(fù)雜的條件。Python中分別使用or、and、not這三個(gè)關(guān)鍵字作為邏輯運(yùn)算符,其中or與and為雙目運(yùn)算符,用于對(duì)兩個(gè)操作數(shù)進(jìn)行邏輯或、邏輯與運(yùn)算;not為單目運(yùn)算符,用于對(duì)一個(gè)操作數(shù)進(jìn)行邏輯非運(yùn)算。下面以x=10,y=20為例,介紹邏輯運(yùn)算符的功能說(shuō)明以及示例。2.6.2賦值運(yùn)算符運(yùn)算符說(shuō)明示例and若兩個(gè)操作數(shù)的布爾值均為T(mén)rue,則返回右操作數(shù),運(yùn)算結(jié)果的布爾值為T(mén)rue;若兩個(gè)操作數(shù)的布爾值均為False,則會(huì)返回左操作數(shù),運(yùn)算結(jié)果的布爾值為False;若兩個(gè)操作數(shù)的布爾值有一個(gè)為False,則會(huì)返回布爾值為Fals的操作數(shù)xandy的結(jié)果為20or若左操作數(shù)的布爾值為T(mén)rue,則返回左操作數(shù),否則返回右操作數(shù)xory的結(jié)果為10not若操作數(shù)x的布爾值為T(mén)rue,則結(jié)果為Falsenotx的結(jié)果為False2.6.5邏輯運(yùn)算符
先定一個(gè)小目標(biāo)!掌握運(yùn)算符的使用,能夠正確使用成員運(yùn)算符成員運(yùn)算符用于檢測(cè)給定數(shù)據(jù)是否存在于字符串、列表、元組、集合、字典等序列中,關(guān)于它們的介紹如下。in:如果指定數(shù)據(jù)在序列中返回True,否則返回False。notin:如果指定數(shù)據(jù)不在序列中返回True,否則返回False。成員運(yùn)算符的用法示例如下:2.6.5邏輯運(yùn)算符x='Python'y='P'print(yinx)print(ynotinx)2.6.6位運(yùn)算符
先定一個(gè)小目標(biāo)!掌握運(yùn)算符的使用,能夠正確使用位運(yùn)算符位運(yùn)算符用于對(duì)操作數(shù)的二進(jìn)制位進(jìn)行邏輯運(yùn)算,操作數(shù)必須為整數(shù)。Python中一共有六個(gè)位運(yùn)算符,分別是<<、>>、&、|、^、~。2.6.5位運(yùn)算符運(yùn)算符說(shuō)明<<操作數(shù)按位左移>>操作數(shù)按位右移&左操作數(shù)與右操作數(shù)執(zhí)行按位與運(yùn)算|左操作數(shù)與右操作數(shù)執(zhí)行按位或運(yùn)算^左操作數(shù)與右操作數(shù)執(zhí)行按位異或運(yùn)算~操作數(shù)按位取反1.按位左移運(yùn)算符(<<)按位左移是指將二進(jìn)制形式操作數(shù)的所有位向左移動(dòng)指定的位數(shù),移出位被丟棄,移入位補(bǔ)0。以十進(jìn)制的整數(shù)9為例,當(dāng)執(zhí)行9<<4運(yùn)算時(shí),首先會(huì)將9自動(dòng)轉(zhuǎn)換為二進(jìn)制數(shù)00001001,然后將二進(jìn)制數(shù)00001001的所有位向左移動(dòng)4位。2.6.5位運(yùn)算符左移n位相當(dāng)于操作數(shù)乘以2的n次方,根據(jù)此原理可借助乘法運(yùn)算符實(shí)現(xiàn)按位左移操作。2.按位右移運(yùn)算符(>>)按位右移是指將二進(jìn)制形式操作數(shù)的所有位向右移動(dòng)指定的位數(shù),移出位被丟棄,移入位補(bǔ)0。以十進(jìn)制的整數(shù)8為例,當(dāng)執(zhí)行8>>2運(yùn)算時(shí),首先會(huì)將8自動(dòng)轉(zhuǎn)換為二進(jìn)制數(shù)00001000,然后將二進(jìn)制數(shù)00001000的所有位向右移動(dòng)2位。2.6.5位運(yùn)算符右移n位相當(dāng)于操作數(shù)除以2的n次方并向下取整,根據(jù)此原理可借助除法運(yùn)算符實(shí)現(xiàn)右移功能。3.按位與運(yùn)算符(&)按位與是指將參與運(yùn)算的兩個(gè)操作數(shù)對(duì)應(yīng)的二進(jìn)制位進(jìn)行邏輯與操作。當(dāng)對(duì)應(yīng)的兩個(gè)二進(jìn)制位均為1時(shí),結(jié)果位就為1,否則為0。以十進(jìn)制的整數(shù)9和3為例,當(dāng)執(zhí)行9&3運(yùn)算時(shí),首先會(huì)將9和3自動(dòng)轉(zhuǎn)換為二進(jìn)制數(shù)00001001和00000011,然后將二進(jìn)制數(shù)00001001和00000011的對(duì)應(yīng)位進(jìn)行邏輯與操作。2.6.5位運(yùn)算符4.按位或運(yùn)算符(|)按位或是指將參與運(yùn)算的兩個(gè)操作數(shù)對(duì)應(yīng)的二進(jìn)制位進(jìn)行邏輯或操作。若對(duì)應(yīng)的兩個(gè)二進(jìn)制位有一個(gè)為1時(shí),結(jié)果位就為1,否則為0。若參與運(yùn)算的操作數(shù)為負(fù)數(shù),則參與運(yùn)算的兩個(gè)操作數(shù)均以補(bǔ)碼出現(xiàn)。2.6.5位運(yùn)算符5.按位異或運(yùn)算符(^)按位異或是指將參與運(yùn)算的兩個(gè)操作數(shù)對(duì)應(yīng)的二進(jìn)制位進(jìn)行異或操作。當(dāng)對(duì)應(yīng)的兩個(gè)二進(jìn)制位中有一個(gè)為1,另一個(gè)為0時(shí),結(jié)果位為1,否則結(jié)果位為0。2.6.5位運(yùn)算符6.按位取反運(yùn)算符(~)按位取反是指將二進(jìn)制的每一位進(jìn)行取反,0取反為1,1取反為0。按位取反操作首先會(huì)獲取這個(gè)數(shù)的補(bǔ)碼,然后對(duì)補(bǔ)碼進(jìn)行取反,最后將取反結(jié)果轉(zhuǎn)換為原碼。例如,對(duì)9進(jìn)行按位取反的運(yùn)算過(guò)程如下。①獲取補(bǔ)碼。9的二進(jìn)制數(shù)是00001001,因?yàn)?屬于正數(shù),計(jì)算機(jī)中正數(shù)的原碼、反碼和補(bǔ)碼相等,所以9的補(bǔ)碼仍然為00001001。②取反操作。對(duì)9的補(bǔ)碼00001001進(jìn)行取反操作,即0變?yōu)?,1變?yōu)?,取反后結(jié)果為11110110。③轉(zhuǎn)換原碼。將11110110轉(zhuǎn)換為原碼時(shí),轉(zhuǎn)換規(guī)則為符號(hào)位不變,其他位取反,末位加一,經(jīng)過(guò)一系列操作后會(huì)得到原碼。因此,11110110再次取反后的結(jié)果為10001001,之后末位加一后得到的結(jié)果為10001010,即-10。2.6.5位運(yùn)算符正數(shù)9按位取反的計(jì)算過(guò)程如圖所示。2.6.5位運(yùn)算符2.6.7運(yùn)算符優(yōu)先級(jí)
先定一個(gè)小目標(biāo)!掌握運(yùn)算符優(yōu)先級(jí),能夠在數(shù)值運(yùn)算中正確使用運(yùn)算符Python支持使用多個(gè)不同的運(yùn)算符連接簡(jiǎn)單表達(dá)式實(shí)現(xiàn)相對(duì)復(fù)雜的功能,為了避免含有多個(gè)運(yùn)算符的表達(dá)式出現(xiàn)歧義,Python為每種運(yùn)算符都設(shè)定了優(yōu)先級(jí)。2.6.7運(yùn)算符優(yōu)先級(jí)Python中運(yùn)算符的優(yōu)先級(jí)從高到低如表所示。2.6.7運(yùn)算符優(yōu)先級(jí)運(yùn)算符說(shuō)明**冪運(yùn)算符*、/、%、//乘法運(yùn)算符、除法運(yùn)算符、取模運(yùn)算符、整除運(yùn)算符+、-加法運(yùn)算符、減法運(yùn)算符>>、<<按位右移、按位左移&按位與^、|按位異或、按位或==、!=、>=、>、<=、<比較運(yùn)算符in、notin成員運(yùn)算符not、and、or邏輯運(yùn)算符+=,-=,*=,/=,//=,%=,**=復(fù)合賦值運(yùn)算符=賦值運(yùn)算符**冪運(yùn)算符*、/、%、//乘法運(yùn)算符、除法運(yùn)算符、取模運(yùn)算符、整除運(yùn)算符+、-加法運(yùn)算符、減法運(yùn)算符如果表達(dá)式中包含小括號(hào),那么解釋器會(huì)先執(zhí)行小括號(hào)包裹的子表達(dá)式。示例代碼如下:2.6.7運(yùn)算符優(yōu)先級(jí)a=20b=2c=15result_01=(a-b)+c
#先執(zhí)行小括號(hào)中的表達(dá)式,再執(zhí)行加法運(yùn)算result_02=a/b%c #先執(zhí)行除法運(yùn)算,再執(zhí)行取余運(yùn)算result_03=c**b*a
#先執(zhí)行冪運(yùn)算,再執(zhí)行乘法運(yùn)算print(result_01)print(result_02)print(result_03)實(shí)訓(xùn)案例2.7
先定一個(gè)小目標(biāo)!根據(jù)任務(wù)描述實(shí)現(xiàn)案例:間隔時(shí)間計(jì)算器2.7.1間隔
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 什么是合同協(xié)議書(shū)
- 協(xié)議書(shū)合同簡(jiǎn)單
- 餐飲客戶合同協(xié)議書(shū)范本
- 2025年社區(qū)心理健康服務(wù)心理健康社區(qū)服務(wù)心理健康講座推廣與效果評(píng)估報(bào)告
- 合同期內(nèi)辭退員工協(xié)議書(shū)
- 草藥銷(xiāo)售合同協(xié)議書(shū)
- 賣(mài)車(chē)合同協(xié)議書(shū)文檔下載
- 合同協(xié)議書(shū)定義
- 紡織設(shè)計(jì)師考試的內(nèi)容與技巧及試題及答案
- 財(cái)務(wù)管理電大試題及答案
- 胃腸炎護(hù)理教學(xué)查房
- 護(hù)士站管理制度
- 奶茶飲品采購(gòu)合同協(xié)議
- 2025初中教師資格證《教育知識(shí)與能力》考前必練題庫(kù)500題(含真題、重點(diǎn)題)
- 腎切除手術(shù)的護(hù)理查房
- 2024年美睫技術(shù)考核試題及答案
- 兒童言語(yǔ)康復(fù)試題及答案
- 鐵道概論道岔的結(jié)構(gòu)課件
- 解析:湖北省十一校2024-2025學(xué)年高三第二次聯(lián)考數(shù)學(xué)試卷(原卷版)
- 2024年江蘇省常州外國(guó)語(yǔ)學(xué)校中考一模語(yǔ)文試題(含答案)
- 畢業(yè)設(shè)計(jì)(論文)-可調(diào)節(jié)辦公椅分析與設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論