Python程序設(shè)計基礎(chǔ)教程(微課版) 課件 代崴 第1章 - Python概述與環(huán)境配置;第2章 - Python語法基礎(chǔ);第3章 - Python控制結(jié)構(gòu)_第1頁
Python程序設(shè)計基礎(chǔ)教程(微課版) 課件 代崴 第1章 - Python概述與環(huán)境配置;第2章 - Python語法基礎(chǔ);第3章 - Python控制結(jié)構(gòu)_第2頁
Python程序設(shè)計基礎(chǔ)教程(微課版) 課件 代崴 第1章 - Python概述與環(huán)境配置;第2章 - Python語法基礎(chǔ);第3章 - Python控制結(jié)構(gòu)_第3頁
Python程序設(shè)計基礎(chǔ)教程(微課版) 課件 代崴 第1章 - Python概述與環(huán)境配置;第2章 - Python語法基礎(chǔ);第3章 - Python控制結(jié)構(gòu)_第4頁
Python程序設(shè)計基礎(chǔ)教程(微課版) 課件 代崴 第1章 - Python概述與環(huán)境配置;第2章 - Python語法基礎(chǔ);第3章 - Python控制結(jié)構(gòu)_第5頁
已閱讀5頁,還剩207頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Python程序設(shè)計第1章Python概述與環(huán)境配置學(xué)習(xí)目標(biāo)了解Python特點與應(yīng)用理解Python交互式編程和腳本編程知識目標(biāo)能夠安裝Python開發(fā)環(huán)境能夠使用pip管理第三方庫能夠選擇合適的IDE進(jìn)行后續(xù)課程學(xué)習(xí)能力目標(biāo)認(rèn)真治學(xué)的態(tài)度當(dāng)代大學(xué)生的社會責(zé)任和擔(dān)當(dāng)精神程序員職業(yè)觀情感態(tài)度與價值觀Python概述01020403Python開發(fā)環(huán)境Python編程方式PythonIDE目

錄Python概述01020403Python開發(fā)環(huán)境Python編程方式PythonIDE目

錄Python歷史和現(xiàn)狀Python語言特點Python應(yīng)用領(lǐng)域Python起源作者:荷蘭程序員GuidovanRossum時間:1991年發(fā)展條件硬件技術(shù)的突破->關(guān)注語言易用性互聯(lián)網(wǎng)的普及->開源軟件、Python社區(qū)形成版本Python2.x:歷史版本Python3.x:當(dāng)前主流版本,不兼容2.x1.1.1Python歷史和現(xiàn)狀2開源、跨平臺、解釋型的高級編程語言簡單易學(xué)面向?qū)ο罂梢浦残载S富的庫可擴(kuò)展性可嵌入性1.1.2Python特點3Web開發(fā):Django、Flask、Tornado游戲開發(fā):PySoy、pygame桌面應(yīng)用程序:tkinter、wxPython、PyQt網(wǎng)絡(luò)爬蟲:requests、scrapy、pyspider數(shù)據(jù)庫:sqlite3、pyodbc云計算:OpenStack自動化:Ansible、SaltStack、Selenium科學(xué)計算與數(shù)據(jù)分析:NumPy、Matplotlib機(jī)器學(xué)習(xí)與人工智能:TensorFlow、PyTorch1.1.3Python應(yīng)用領(lǐng)域4Python概述01020403Python開發(fā)環(huán)境Python編程方式PythonIDE目

錄Python開發(fā)環(huán)境020403Python編程方式PythonIDE目

錄Python概述01Python下載與安裝Python擴(kuò)展包管理Step1:進(jìn)入官網(wǎng)()對應(yīng)操作系統(tǒng)的下載頁面1.2.1下載Python安裝包5Step2:選擇合適的版本1.2.1下載Python安裝包5雙擊python-3.12.0-amd64.exe啟動安裝1.2.2安裝Python5管理員權(quán)限加入Path環(huán)境變量默認(rèn)安裝自定義安裝選擇“InstallNow”開始默認(rèn)安裝1.2.2安裝Python6選擇“CustomizeInstallation”進(jìn)入配置界面1.2.2安裝Python6離線開發(fā)文檔包管理工具tck/tk:GUI庫IDLE:開發(fā)工具測試套件Python啟動器為所有用戶安裝點擊“Next”進(jìn)入高級配置1.2.2安裝Python6為所有用戶安裝關(guān)聯(lián)Python源文件,需要安裝Py啟動器創(chuàng)建快捷方式第二次修改Path預(yù)編譯標(biāo)準(zhǔn)庫下載調(diào)試符號下載調(diào)試二進(jìn)制文件修改安裝路徑安裝成功1.2.2安裝Python6安裝后的目錄文件1.2.2安裝Python7Python解釋器pip工具:Python擴(kuò)展包管理工具從社區(qū)下載并安裝包至本地更新本地擴(kuò)展包卸載本地擴(kuò)展包1.3擴(kuò)展包管理7pip要在命令行窗口中運行“Win+R”組合鍵調(diào)出“運行”窗口,輸入“cmd”后回車,打開命令行窗口【開始】菜單-【W(wǎng)indows系統(tǒng)】-【命令提示符】打開命令行窗口1.3.1安裝擴(kuò)展包7pip安裝指令格式1.3.1安裝擴(kuò)展包7pipinstall包名指定鏡像網(wǎng)站下載1.3.1安裝擴(kuò)展包7pipinstall包名-i鏡像網(wǎng)站url--trusted-host域名pip

install

numpy

-i

/pypi/simple

--trusted-host

指定版本號下載1.3.1安裝擴(kuò)展包8pipinstall包名==版本號pip

install

numpy==1.13.0使用離線安裝包1.3.1安裝擴(kuò)展包8pipinstall已下載至本地的離線安裝文件pip

installnumpy-1.23.2-pp38-pypy38_pp73-win_amd64.whlpip卸載指令格式1.3.2卸載擴(kuò)展包8pipuninstall包名pipuninstallnumpypip更新指令格式1.3.3更新擴(kuò)展包8pipinstall--upgrade包名pip

install

--upgradenumpyPython概述01020403Python開發(fā)環(huán)境Python編程方式PythonIDE目

錄Python編程方式0304PythonIDE目

錄Python概述0102Python開發(fā)環(huán)境交互式編程腳本式編程Python是解釋型語言腳本式編程交互式編程1.4Python編程方式8Step1:在文本編輯軟件中編寫代碼1.4.1腳本式編程8任何文本編輯軟件都可以完成這項工作,上圖為Windows系統(tǒng)自帶的記事本工具Step2:將代碼保存為“*.py”的腳本文件1.4.1腳本式編程9Step3:在命令行中,啟動Python解釋器執(zhí)行腳本文件1.4.1腳本式編程9python腳本文件完整路徑文件路徑可用英文雙引號括起來,避免因空格等符號導(dǎo)致的路徑解析錯誤如何進(jìn)入交互式編程環(huán)境命令行窗口中輸入“python”然后回車1.4.2交互式編程9交互式環(huán)境下的命令提示符,等待輸入用戶在其后輸入Python語句,回車執(zhí)行交互式編程適合調(diào)試和測試1.4.2交互式編程10輸入的Python語句執(zhí)行后的結(jié)果Python概述01020403Python開發(fā)環(huán)境Python編程方式PythonIDE目

錄PythonIDE04目

錄Python概述0102Python開發(fā)環(huán)境03Python編程方式IDLE基本使用PyCharm基本使用集成開發(fā)環(huán)境(IDE,IntegratedDevelopmentEnvironment)代碼編輯器編譯器調(diào)試器……PythonIDEIDLE:Python開發(fā)環(huán)境自帶的IDEPyCharm:廣泛用于Python項目開發(fā)的IDE1.5Python集成開發(fā)環(huán)境10IDLE:Python自帶的IDE簡潔易用支持交互式編程和腳本式編程基本功能:代碼編輯、語法高亮、調(diào)試等1.5.1IDLE10IDLE默認(rèn)進(jìn)入交互編程模式1.5.1IDLE10IDLE的腳本編輯窗口【File】-【NewFile】打開“untitled”窗口開始編輯保存為“*.py”文件后,從【Run】-【RunModule】或按F5執(zhí)行1.5.1IDLE11IDLE腳本執(zhí)行結(jié)果顯示在主窗口中1.5.1IDLE11腳本執(zhí)行結(jié)果PyCharm:JetBrains公司開發(fā)的專業(yè)IDE,提供社區(qū)版和專業(yè)版1.5.2PyCharm11安裝PyCharm:雙擊安裝程序進(jìn)入向?qū)Т翱?.5.2PyCharm12安裝PyCharm:配置安裝路徑1.5.2PyCharm12安裝PyCharm:設(shè)置安裝選項1.5.2PyCharm13創(chuàng)建桌面圖標(biāo)添加右鍵菜單添加文件關(guān)聯(lián)將bin/目錄添加到Path環(huán)境變量安裝PyCharm:設(shè)置開始菜單1.5.2PyCharm13安裝PyCharm:安裝結(jié)束,重啟完成1.5.2PyCharm13啟動PyCharm1.5.2PyCharm13項目入口基礎(chǔ)樣式設(shè)置插件管理學(xué)習(xí)資料修改基礎(chǔ)樣式1.5.2PyCharm14窗口主題窗口字體大小創(chuàng)建項目項目=文件夾,項目的腳本文件和子目錄都放在文件夾中每個項目都要指定一個Python解釋器,在PyCharm中運行項目時,自動調(diào)用該解釋器執(zhí)行腳本1.5.2PyCharm14創(chuàng)建項目PyCharm啟動界面【Project】-【NewProject】,進(jìn)入創(chuàng)建項目的向?qū)Т翱?.5.2PyCharm14項目存放位置使用已有的解釋器第一次使用需要配置1.5.2PyCharm15配置解釋器【AddInterpreter】-【AddLocalInterpreter】-【SystemInterpreter】如果沒有自動發(fā)現(xiàn),點擊右側(cè)的“...”按鈕手動添加1.5.2PyCharm16配置好項目后,點擊“Create”創(chuàng)建新項目1.5.2PyCharm16新項目中添加子文件夾1231.5.2PyCharm17新項目中添加腳本文件1231.5.2PyCharm17雙擊腳本文件,在右側(cè)的代碼編輯區(qū)編寫程序代碼編輯區(qū)行號文件名1.5.2PyCharm18執(zhí)行腳本執(zhí)行腳本調(diào)試腳本1.5.2PyCharm19查看執(zhí)行結(jié)果1.5.2PyCharm19PyCharm支持交互式編程本章結(jié)束Python程序設(shè)計第2章Python語法基礎(chǔ)學(xué)習(xí)目標(biāo)識記Python語言格式框架識記基本要素語法規(guī)則理解動態(tài)類型與模塊知識目標(biāo)能夠編寫符合Python風(fēng)格的簡單程序能夠使用變量、表達(dá)式、基本輸入輸出進(jìn)行簡單交互能力目標(biāo)編程規(guī)范意識團(tuán)隊協(xié)作的重要性日積月累的重要性情感態(tài)度與價值觀Python語言格式框架01020403運算符與表達(dá)式基本輸入輸出模塊的使用目

錄Python語言格式框架01020403運算符與表達(dá)式基本輸入輸出模塊的使用目

錄注釋、代碼塊與縮進(jìn)保留關(guān)鍵字變量和常量數(shù)據(jù)類型解釋源代碼變量、函數(shù)等的作用復(fù)雜的算法邏輯提高可讀性、可維護(hù)性兩種注釋單行注釋多行注釋2.1.1注釋23獨占一行,或代碼之后1.單行注釋23#單行注釋文本#以下為矩形的參數(shù)rect_width=10#矩形的寬rect_height=15#矩形的高示例2-12.多行注釋24三個單引號對以上三種情況之外、解釋代碼用三個雙號對文檔字符串放在函數(shù)、類內(nèi)部,或文件開頭解釋函數(shù)、類、文件的用法或作用"""

注釋文本

注釋文本"""'''

注釋文本

注釋文本'''2.多行注釋24"""第二章的源代碼示例包括:注釋常量與變量運算符與表達(dá)式數(shù)據(jù)類型"""defsay_hello(name):"""作用:和傳入的對象說Hello參數(shù):name-打招呼的對象的名字"""print('Hello,',name)示例2-22.多行注釋24'''以下是可執(zhí)行語句,首先定義了一個變量n,存放了一個名字“張三”,然后調(diào)用了函數(shù)say_hello(),并將n作為打招呼的對象傳給了參數(shù)name'''n='張三'say_hello(n)示例2-2代碼塊:也稱“復(fù)合語句”作為單元執(zhí)行的代碼段,由一條或多條語句組成冒號+縮進(jìn):表示代碼塊的所屬關(guān)系2.1.2代碼塊與縮進(jìn)24score=92ifscore>=90:print('優(yōu)秀')print('再接再厲,勇攀高峰!')print('程序結(jié)束')示例2-3冒號:屬于某結(jié)構(gòu)的代碼塊從下一行開始相同縮進(jìn)量的語句組成代碼塊縮進(jìn)量變化的語句脫離if代碼塊常用于選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)函數(shù)體、類體空行不會影響代碼塊的所屬關(guān)系縮進(jìn)可使用4個空格(推薦),或tab鍵(不推薦)2.1.2代碼塊與縮進(jìn)24縮進(jìn)可以嵌套2.1.2代碼塊與縮進(jìn)25weather='sunny'temperature=25

ifweather=='sunny':iftemperature>30:

print('今天很熱,記得帶傘和防曬霜。')else:

print('今天很適合外出,享受陽光吧!')

示例2-42.1.3保留關(guān)鍵字25Python保留關(guān)鍵字andasassertbreakclasscontinuedefdelelifelseexceptFalsefinallyforfromglobalifimportinislambdaNonenonlocalnotorpassraisereturnTruetrywhilewithyieldasyncawait程序的本質(zhì):加工數(shù)據(jù)(算法+數(shù)據(jù))Python對象:數(shù)據(jù)的載體類型值100:整數(shù)類型的一個對象'Hello':字符串類型的一個對象3.14:浮點數(shù)類型的一個對象2.1.4變量26Python變量:對象的引用(對象的“別名”)Python變量先定義、再使用某個變量名第一次出現(xiàn)時即為定義個新變量定義時要賦予初始值2.1.4變量26變量名=初始值name='張三'age=18apple_price=8.50示例2-5已定義的變量通過“=”可引用其他對象同一個變量可以引用不同類型的對象2.1.4變量26apple_price=8.50#高速優(yōu)惠,運輸成本降低,蘋果降價了apple_price=7.99示例2-6已定義的變量=新對象標(biāo)識符:用來命名變量、函數(shù)、類、模塊和其他程序元素的名稱必須以字母(a-z,A-Z)或下劃線(_)開頭,后面可跟任意個數(shù)字、字母或下劃線大小寫敏感Python的保留關(guān)鍵字不能用作標(biāo)識符避免與內(nèi)置或已導(dǎo)入的模塊名、函數(shù)名、對象名、類型名等重名變量命名遵循標(biāo)識符命名規(guī)則2.1.4變量26Q:請判斷下列標(biāo)識符的命名是否符合Python語法要求測一測var_Rabbit_car_no4logwhile推薦的命名方式以下劃線開頭的標(biāo)識符在Python中有特殊含義不推薦使用漢字命名變量推薦使用有意義的單詞給標(biāo)識符命名,多個單詞之間用下劃線連接is_enough、bottle_nums2.1.4變量26Python是強(qiáng)類型語言類型確定后,只能進(jìn)行符合該類型約束的行為Python是動態(tài)類型語言無需顯式指定類型解釋器根據(jù)值自行判斷數(shù)據(jù)類型2.1.5數(shù)據(jù)類型27張三25歲2.5元/瓶4+2j2.1.5數(shù)據(jù)類型27數(shù)值類型int:表示整數(shù)數(shù)值,-100,0,2,99float:表示帶有小數(shù)部分的數(shù)值,-0.3,10.2complex:表示復(fù)數(shù)(實部和虛部),1+4jage=18temperature=36.4x=1+4j2.1.5數(shù)據(jù)類型27布爾類型(bool)表示邏輯值,有兩個取值:True:陳述成立,結(jié)果為真False:陳述不成立,結(jié)果為假用于選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)a=int(input('請輸入一個整數(shù):')result=(a%2==0)result=(a>100)2.1.5數(shù)據(jù)類型27數(shù)據(jù)容器包含一個或多個元素,每個元素都是獨立的數(shù)據(jù)提供對元素的各種操作,如增加元素、刪除元素、查找指定元素、排序等a='hello!'#a是一個字符串b=(1,-5,7)#b是一個元組c=[1,2,6]#c是一個列表d={'a','b','c'}#d是一個集合e={'right':4,'wrong':1}#e是一個字典、

2.1.5數(shù)據(jù)類型27空類型(NoneType)只有一個取值:None變量不指向任何值函數(shù)沒有明確的返回值#定義變量時但沒給它賦值,Python不會設(shè)置其值為Nonevarvar=None#錯誤!定義變量時必須給初始值!#但可以明確給變量賦值為None2.1.5數(shù)據(jù)類型27type():返回變量的實際類型type(變量)x=10print(type(x))#打印結(jié)果:<class'int'>示例2-72.1.5數(shù)據(jù)類型27Python中,通過內(nèi)置函數(shù)將一種類型的數(shù)據(jù),轉(zhuǎn)換成另一種類型的數(shù)據(jù)int():轉(zhuǎn)換為整數(shù)float():轉(zhuǎn)換為浮點數(shù)str():轉(zhuǎn)換為字符串bool():轉(zhuǎn)換為布爾值變量=轉(zhuǎn)換函數(shù)(變量)轉(zhuǎn)換數(shù)據(jù)類型2.1.5數(shù)據(jù)類型28#默認(rèn)轉(zhuǎn)換為十進(jìn)制,如需轉(zhuǎn)換為其他進(jìn)制,可使用第2個參數(shù)指定#如int('F10',16)將字符串'F10'轉(zhuǎn)換為十六進(jìn)制整數(shù)x=int('10')x=x+2s=str(x)

示例2-82.1.5數(shù)據(jù)類型28isinstance():測試對象是否為指定類型的實例,是返回True,不是則返回Falseisinstance(變量,類型名)x=10ifisinstance(x,str):print('是字符串')else:print('不是字符串')#打印結(jié)果:不是字符串示例2-92.1.6對象共享28變量B=變量A為變量A引用的對象創(chuàng)建了一個新的別名BA和B引用的是同一個對象a='Hello'b=ax=[1,2,3]y=xx[0]=0print(y)#打印結(jié)果:[0,2,3]示例2-10可變數(shù)據(jù)類型:通過一個變量所作的修改會反映在所有引用該對象的變量上2.1.6對象共享28id():返回一個對象的唯一標(biāo)識符,是一個整數(shù),通常代表著該對象的地址id(變量或字面量)x=10y=10print('10的地址:',id(10))print('x的地址:',id(x))print('y的地址:',id(y))示例2-112.1.6對象共享29不可變對象:int、float、str、tuple等,存儲會進(jìn)行優(yōu)化,兩個變量被賦予相同的值時,可能會讓它們引用同一個對象t1=(2,4,6)t2=(2,4,6)print('t1的地址:',id(t1))print('t2的地址:',id(t2))示例2-112.1.6對象共享(補(bǔ)充)Python提供小數(shù)據(jù)池對一些數(shù)據(jù)進(jìn)行緩存,當(dāng)程序引用這些數(shù)據(jù)時,不會創(chuàng)建新對象,而是引用小數(shù)據(jù)池里的對象,例如整數(shù)將緩存[-5,256]的整數(shù)避免頻繁創(chuàng)建和銷毀對象,提升效率2.1.6對象共享29可變對象:list、set、dict等,每個對象在內(nèi)存中都有獨立的存儲空間l1=[1,3,5]l2=[1,3,5]print('l1的地址:',id(l1))print('l2的地址:',id(l2))示例2-11下列代碼片段中,x和y地址一樣的是?測一測x=145y=145

x=145y=120.0

x={1,2,3}y={1,2,3}

x=y={1,2,3}

A.B.C.D.Python語言格式框架01020403運算符與表達(dá)式基本輸入輸出模塊的使用目

錄運算符與表達(dá)式020403基本輸入輸出模塊的使用目

錄Python語言格式框架01運算符表達(dá)式2.2.1運算符292.2.1運算符29%:求余數(shù)10%4:10除以4的余數(shù),結(jié)果為2**:冪運算10**4:10的4次方,結(jié)果為10000/和///:真實除,返回實際的結(jié)果,為浮點數(shù)//:整除,將商向下取整后返回,如果兩個操作數(shù)都是整數(shù)則返回整數(shù)部分,否則返回實數(shù)301.算術(shù)運算符/和///:真實除,返回實際的結(jié)果,為浮點數(shù)//:整除,將商向下取整后返回,如果兩個操作數(shù)都是整數(shù)則返回整數(shù)部分,否則返回實數(shù)301.算術(shù)運算符10.5/2.110/210/2.010.0/25.05.05.05.010.4/210.4//211/211//25.255.55.0Q:整型變量x中存放了一個兩位數(shù),如果要將其個位數(shù)與十位數(shù)互換,如“13”變成“31”,下列語句正確的是?測一測A:(x%10)//10+x//10

B:(x%10)*10+x//10

C:(x/10)%10+x//10

D:(x%10)*10+x%10

測一測A:c*d/(2*a*b)

B:c/2*d/a/bC:c*d/2*a*bD:c*d/2/a/b2.2.1運算符302.2.1運算符30對常量、變量或表達(dá)式的值進(jìn)行比較比較成立返回True比較不成立返回False常用于選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)的控制條件302.比較運算符a=int(input('請輸入第一個整數(shù):')b=int(input('請輸入第二個整數(shù):')print(a!=b)#由a和b的值,“a不等于b”成立嗎?302.比較運算符2.2.1運算符302.2.1運算符邏輯運算符對布爾值進(jìn)行運算303.邏輯運算符運算符操作數(shù)取值not邏輯非1個notTrue:FalsenotFalse:Trueand邏輯與2個TrueandTrue:True其他:Falseor邏輯或2個FalseorFalse:False其他:True優(yōu)先級:not>and>or操作數(shù)通常是一個bool表達(dá)式或bool變量常用于將多個條件組合在一起以形成更復(fù)雜的條件303.邏輯運算符a=int(input('請輸入第一個整數(shù):')b=int(input('請輸入第二個整數(shù):')ifb!=0anda>b:print(a/b)Q:右方代碼的執(zhí)行結(jié)果是?x=Truey=Falsez=Falseprint(xoryandz)測一測A:true

B:TrueC:falseD:False2.2.1運算符302.2.1運算符30賦值運算符=:將右操作數(shù)的值賦予左操作數(shù)4.賦值運算符變量=字面量/變量/表達(dá)式/函數(shù)返回值a=100b=int(input('請輸入第二個整數(shù):')c=a+bd=c復(fù)合賦值運算第一步:先計算“變量

其他運算符

右操作數(shù)”的值第二步:將第一步的結(jié)果賦值給變量314.賦值運算符變量

其他運算符=右操作數(shù)a=100a+=100a=a+100復(fù)合賦值運算的左操作數(shù)必須先定義Python不允許在if、while語句中賦值Python不提供++、--運算符,用+=、-=替代完成x+=1x-=14.賦值運算符31序列賦值:=右邊的值依次賦值給左邊的變量4.賦值運算符31變量1,

變量2,

...,

變量N=初值1,

初值2,

...,

初值Na,b=10,5#定義變量a、b并賦值:a=10,b=5print(a,b)#打印結(jié)果:105a,b=b,a#序列賦值完成值交換:a=b,b=aprint(a,b)#打印結(jié)果:510示例2-122.2.1運算符312.2.1運算符31in:檢查一個數(shù)據(jù)是否存在于某個數(shù)據(jù)容器中存在:結(jié)果為True不存在:結(jié)果為False5.成員運算符in31fruits=['apple','banana','cherry']#列表print('apple'infruits)

#Trueprint('mange'infruits)

#False示例2-13notin:檢查一個數(shù)據(jù)是否不存在于某個數(shù)據(jù)容器中不存在:結(jié)果為True存在:結(jié)果為False5.成員運算符in31fruits=['apple','banana','cherry']#列表print('apple'notinfruits)

#Falseprint('mange'notinfruits)

#True示例2-132.2.1運算符312.2.1運算符31is:比較兩個操作數(shù)是否為同一個對象is比較的是對象的內(nèi)存地址==比較兩個對象的值是否相等326.身份運算符isa=1000b=ac=1000print(aisb)print(aisc)

a=[1,3,5]b=aprint(aisb)

a=[1,3,5]b=[1,3,5]print(aisb)print(a==b)

不可變類型若進(jìn)行了優(yōu)化,相同值的變量引用的是同一個對象可變類型空間獨立——a、b不同對象a和b的值確實是一樣的a賦值給b,相當(dāng)于a引用對象取新別名——a和b引用同一個對象2.2.1運算符322.2.1運算符32a=10327.位運算符運算符示例結(jié)果按位與&a&22按位或|a|210按位異或^a^28按位取反~a~2-11左移<<a<<240右移>>a>>22表達(dá)式:使用運算符將操作數(shù)組合在一起以形成值的計算過程算術(shù)表達(dá)式邏輯表達(dá)式比較表達(dá)式……用于實現(xiàn)各種計算和邏輯,包括但不限于數(shù)學(xué)計算、字符串處理、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)等2.2.2表達(dá)式332.2.2表達(dá)式33x=10#這是一個條件表達(dá)式,如果x大于5,則執(zhí)行if塊內(nèi)的代碼ifx>5:print('x大于5')示例2-17Q:數(shù)學(xué)關(guān)系式2<x≤10,Python表達(dá)式寫作?測一測A:2<x&&x<=10B:2<xandx<=10C:2<x<=10D:x>2orx<=10Python支持鏈?zhǔn)奖容^,隱式地按照邏輯與(and)評估該條件每天進(jìn)步5‰一年后能達(dá)到什么狀態(tài)?每天退步5‰一年后還剩下多少?33不積跬步,無以至千里;不積小流,無以成江海?!盾髯印駥W(xué)》實戰(zhàn)2-1:跬步千里變量的使用:變量代替字面量數(shù)據(jù)使用更加靈活33實戰(zhàn)2-1:跬步千里#初始化變量power=1growth_rate=0.005#每天進(jìn)步千分之五decline_rate=0.01#每天退步百分之一days=365#變化的天數(shù)參考代碼

33實戰(zhàn)2-1:跬步千里#計算進(jìn)步情況final_growth=power*(1+growth_rate)**days#計算退步情況final_decline=power*(1-decline_rate)**days參考代碼輸出信息:print()33實戰(zhàn)2-1:跬步千里#輸出結(jié)果print('每天進(jìn)步5‰一年后:',final_growth)print('每天退步1%一年后:',

final_decline)參考代碼Python語言格式框架01020403運算符與表達(dá)式基本輸入輸出模塊的使用目

錄基本輸入輸出0304模塊的使用目

錄Python語言格式框架0102運算符與表達(dá)式input()print()input():接收用戶輸入的數(shù)據(jù)程序暫停在input()這一行,等待用戶輸入用戶輸入數(shù)據(jù)、按下回車后,程序繼續(xù)執(zhí)行input()將輸入數(shù)據(jù)作為“字符串”返回,通過“=”存在變量中后續(xù)可通過該變量使用輸入數(shù)據(jù)“提示字符串”可選,用于提示需要輸入什么數(shù)據(jù)342.3.1input()變量=input([提示字符串])342.3.1input()s=input('請輸入一個整數(shù):')#假設(shè)輸入數(shù)據(jù):12

num=int(s)ifnum%2==0:print('偶數(shù)')else:print('奇數(shù)')示例2-17print():將數(shù)據(jù)打印在終端顯示打印字符串打印多個數(shù)據(jù)格式化輸出352.3.2print()打印字符串352.3.2print()print('Hello,Python!')#打印結(jié)果:Hello,Python!a='Good'b='day!'int(a+b)#打印結(jié)果:Goodday!示例2-18打印多個數(shù)據(jù)352.3.2print()name='張三'age=18print('我的名字是',name,age,'歲')示例2-19格式化輸出:處理待輸出字符串中不確定的數(shù)據(jù)時使用格式化字符串:顯示在終端的字符串,包含占位符占位符:特殊的格式化代碼,指定如何顯示數(shù)據(jù)%d:用于格式化整數(shù)類型的數(shù)據(jù)%f:用于格式化浮點數(shù)類型的數(shù)據(jù)%s:用于格式化字符串類型的數(shù)據(jù)352.3.2print()print(格式化字符串%格式化變量)格式化輸出352.3.2print()price=float(input('請輸入蛋糕單價:'))num=int(input('請輸入蛋糕個數(shù):'))payable=price*num#單價*個數(shù):計算應(yīng)付金額print('蛋糕%.2f/個,共%d個'%(price,num))print('應(yīng)支付:%.2f元'%payable)示例2-20設(shè)置特殊參數(shù),改變print()默認(rèn)行為end:改變末尾自動輸出的結(jié)束符362.3.2print()print('Hello')print('World')print('Hello',end='')print('World')示例2-21設(shè)置特殊參數(shù),改變print()默認(rèn)行為sep:改變打印多個數(shù)據(jù)時,默認(rèn)添加的分隔符362.3.2print()name='張三'print('我的名字是',name)print('我的名字是',name,sep=':')示例2-22input()和print()的使用if語句的簡單應(yīng)用36實戰(zhàn)2-2:文字西游歡迎界面input()和print()的使用37實戰(zhàn)2-2:文字西游歡迎界面#輸出歡迎信息和游戲介紹print("歡迎來到文字西游!")print("版本:1.0")print("這是一個用文字描述的西游冒險游戲,你將扮演一位英雄踏上西行之旅。")#提供開始游戲選項choice=input("請輸入'start'開始游戲,或輸入其他內(nèi)容退出:")參考代碼if語句的簡單應(yīng)用37實戰(zhàn)2-2:文字西游歡迎界面#判斷玩家輸入ifchoice=='start':#獲取角色名字role_name=input('請輸入你的角色名字:')print('歡迎%s加入西游冒險!'%role_name)print('游戲正式開始!')else:print("感謝你的關(guān)注,期待下次與你相遇!")參考代碼Python語言格式框架01020403運算符與表達(dá)式基本輸入輸出模塊的使用目

錄模塊的使用04目

錄Python語言格式框架0102運算符與表達(dá)式03基本輸入輸出import關(guān)鍵字turtle庫模塊:一個包含Python代碼的文件包內(nèi)有多個代碼文件提供了定義好的變量、函數(shù)或類實現(xiàn)了一些特定的功能作用組織和管理代碼可重用易維護(hù)2.4模塊38內(nèi)置模塊time、math、os、sqlite3、……第三方模塊numpy、matplotlib、scrapy、……模塊“導(dǎo)入”才能使用關(guān)鍵字:import2.4模塊38導(dǎo)入模塊中所有的內(nèi)容通過“模塊名.”前綴使用其中的對象2.4模塊38import模塊名[as模塊別名]importmathr=2.0print(r**2*math.pi)示例2-23別名的作用簡化代碼避免模塊命名沖突提高代碼可維護(hù)性和可移植性2.4模塊38importmatplotlibaspltplt.title('SamplePlot')示例2-24導(dǎo)入模塊中指定的對象導(dǎo)入的對象可直接使用,不需要模塊名前綴2.4模塊38from模塊名import對象名[as對象別名]frommathimportradians#將30°轉(zhuǎn)換為弧度值result=radians(30)示例2-252.4模塊38import模塊名from模塊名import對象名引入名字空間是,更安全否引入全部內(nèi)容是否,按需引入需要模塊名前綴是否,更簡潔繪制一個花瓣長200像素、紅邊黃底的太陽花turtle庫的使用38實戰(zhàn)2-3:繪制太陽花turtle:Python內(nèi)置模塊之一,用于繪制基本的圖形畫筆(小海龜)移動畫筆的方法設(shè)置顏色的方法實戰(zhàn)2-3:繪制太陽花38實戰(zhàn)2-3:繪制太陽花39importturtle#導(dǎo)入turtle庫#設(shè)置繪制窗口的寬度和高度turtle.setup(width=600,height=600)

turtle.penup()

#抬起畫筆#移動畫筆到坐標(biāo)(-150,50)作為起始點turtle.goto(-150,50)

turtle.pendown()

#落下畫筆示例2-26實戰(zhàn)2-3:繪制太陽花39#畫筆藍(lán)色,填充黃色turtle.color('blue','yellow')turtle.begin_fill()

#開始填充foriinrange(5):turtle.fd(300)

#沿當(dāng)前方向前進(jìn)300像素turtle.right(144)

#向右旋轉(zhuǎn)144度turtle.end_fill()

#結(jié)束填充turtle.done()

#保持繪制窗口一直打開示例2-27實踐要點模塊導(dǎo)入和使用:正確導(dǎo)入turle庫并使用其中的對象循環(huán)結(jié)構(gòu):通過for循環(huán)重復(fù)繪制太陽花的花瓣編碼與調(diào)試查閱文檔40實戰(zhàn)2-3:繪制太陽花實戰(zhàn)2-3:繪制太陽花importturtleturtle.color('red','yellow')turtle.hideturtle()turtle.begin_fill()foriinrange(36):turtle.fd(400)turtle.right(170)turtle.end_fill()turtle.done()參考代碼本章結(jié)束Python程序設(shè)計第3章Python控制結(jié)構(gòu)學(xué)習(xí)目標(biāo)理解Python選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、異常處理的使用場景掌握選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、異常處理的語法知識目標(biāo)能夠正確分析控制結(jié)構(gòu)的執(zhí)行結(jié)果能夠選擇合適的控制結(jié)構(gòu)處理實際問題能力目標(biāo)計劃與執(zhí)行力的重要性良好的防御性編碼習(xí)慣情感態(tài)度與價值觀選擇結(jié)構(gòu):if語句01020403循環(huán)結(jié)構(gòu):while/for循環(huán)結(jié)構(gòu):進(jìn)階使用異常與異常處理目

錄選擇結(jié)構(gòu):if語句01020403循環(huán)結(jié)構(gòu):while/for循環(huán)結(jié)構(gòu):進(jìn)階使用異常與異常處理目

錄單分支結(jié)構(gòu)雙分支結(jié)構(gòu)多分支結(jié)構(gòu)結(jié)構(gòu)化程序設(shè)計三大控制結(jié)構(gòu)45順序結(jié)構(gòu)選擇結(jié)構(gòu)條件成立YesNo循環(huán)結(jié)構(gòu)條件成立NoYes自上而下不可兼得重復(fù)執(zhí)行根據(jù)特定條件,有選擇的執(zhí)行某些代碼關(guān)鍵字ifelifelse3.1選擇結(jié)構(gòu)45當(dāng)某項條件滿足時就必須執(zhí)行某項操作,不需要考慮條件成立之外的情況由一個if語句構(gòu)成3.1.1單分支結(jié)構(gòu)45if條件表達(dá)式:代碼塊判斷用戶輸入的數(shù)字是否為偶數(shù),如果是,則打印“偶數(shù)”,然后程序結(jié)束不需要處理非偶數(shù)的情況-->單分支結(jié)構(gòu)3.1.1單分支結(jié)構(gòu)46a=int(input('請輸入一個整數(shù):'))ifa%2==0:print('偶數(shù)')示例3-1易錯1:遺漏冒號易錯2:縮進(jìn)錯誤同時考慮條件成立、不成立時各需要執(zhí)行哪些操作3.1.2雙分支結(jié)構(gòu)46if條件表達(dá)式:代碼塊1else:代碼塊2判斷用戶輸入數(shù)字奇偶性為偶數(shù),則打印“偶數(shù)”,為奇數(shù),則打印“奇數(shù)”3.1.2雙分支結(jié)構(gòu)47a=int(input('請輸入一個整數(shù):'))ifa%2==0:print('偶數(shù)')eles:print('奇數(shù)')示例3-2雙分支條件表達(dá)式3.1.2雙分支結(jié)構(gòu)47a=int(input('請輸入一個整數(shù):'))result='偶數(shù)'ifa%2==0else'奇數(shù)'print(result)示例3-3表達(dá)式1if條件表達(dá)式else表達(dá)式2條件成立返回表達(dá)式1的值條件不成立返回表達(dá)式2的值兩個以上互斥條件時使用-->“多選一”3.1.3多分支結(jié)構(gòu)47if條件表達(dá)式1:代碼塊1elif條件表達(dá)式2:代碼塊2[else:代碼塊3]溫度值-->狀態(tài)3.1.3多分支結(jié)構(gòu)48temperature=25

iftemperature>=30:status='熱'eliftemperature<10:status='冷'else:status='適中'

print('溫度%d對應(yīng)的狀態(tài)是%s'%(temperature,status))示例3-4可以有多個elif分支3.1.3多分支結(jié)構(gòu)48ifscore>=90:grade='優(yōu)'elifscore>=80:grade='良'elifscore>=70:grade='中等'elifscore>=60:grade='合格'else:grade='不合格'示例3-5條件互斥能走到“score>=80”說明“score>=90”一定滿足多分支結(jié)構(gòu)嵌套分支結(jié)構(gòu)實戰(zhàn)3-1:折扣計算49高級會員≥10其他

8折9折普通會員≥10其他85折95折≥5件85折input():增加程序靈活性49實戰(zhàn)3-1:折扣計算#初始化變量original_price=float(input('請輸入商品原價:'))quantity=float(input("請輸入購買數(shù)量:"))membership_level=input("請輸入會員等級(高級會員/普通會員/非會員):")discount=1#折扣默認(rèn)值為1,表示不打折參考代碼選擇結(jié)構(gòu)的運用50實戰(zhàn)3-1:折扣計算ifmembership_level=='高級會員':ifquantity>=10:discount=0.8#高級會員購買10件以上8折elifquantity>=5:discount=0.85#高級會員購買5-9件8.5折else:discount=0.9#高級會員購買1-4件9折elifmembership_level=='普通會員':ifquantity>=10:discount=0.85#普通會員購買10件以上8.5折else:discount=0.95#普通會員購買1-9件9.5折參考代碼計算應(yīng)付金額50實戰(zhàn)3-1:折扣計算final_price=original_price*discount*quantityprint('應(yīng)付金額為:%.2f元'%final_price)參考代碼選擇結(jié)構(gòu):if語句01020403循環(huán)結(jié)構(gòu):while/for循環(huán)結(jié)構(gòu):進(jìn)階使用異常與異常處理目

錄循環(huán)結(jié)構(gòu):while/for020403循環(huán)結(jié)構(gòu):進(jìn)階使用異常與異常處理目

錄選擇結(jié)構(gòu):if語句01while循環(huán)break與continuefor...in循環(huán)特定條件下重復(fù)執(zhí)行一段代碼避免代碼冗余關(guān)鍵字whilefor...in3.2循環(huán)結(jié)構(gòu)50循環(huán)結(jié)構(gòu)條件成立NoYes條件表達(dá)式為真時重復(fù)執(zhí)行一段代碼塊條件表達(dá)式后面的冒號重復(fù)執(zhí)行的代碼塊(即循環(huán)體)要相對于所屬的while縮進(jìn)3.2.1while循環(huán)50while條件表達(dá)式:代碼塊重要:循環(huán)變量的使用書寫條件表達(dá)式循環(huán)體中如何改變?yōu)榕紨?shù),則打印“偶數(shù)”,為奇數(shù),則打印“奇數(shù)”3.2.1while循環(huán)51i=2#既是循環(huán)變量,又是求和的參數(shù)result=1#記錄和值whilei<=100:result+=ii+=1

print(result)示例3-6使用不當(dāng)死循環(huán)模擬存錢罐當(dāng)“罐內(nèi)硬幣數(shù)量與新存入硬幣數(shù)量之和小于或等于存錢罐容量上限”時允許存入3.2.1while循環(huán)51limit=500save=0balance=int(input('請輸入新存入硬幣數(shù)量:'))whilesave+balance<=limit:save+=balanceprint('現(xiàn)有硬幣:%d,上限:%d,剩余:%d'%(save,balance,limit-save))balance=int(input('存入硬幣數(shù)量:'))示例3-7作用:提前結(jié)束循環(huán)行為break:退出當(dāng)前循環(huán),繼續(xù)執(zhí)行后面的語句continue:跳至while/for判斷要不要進(jìn)入下一次循環(huán)3.2.2break和continue52i=1whilei<=5:ifi==3:continueprint(i)i+=1示例3-9i=1whilei<=5:ifi==3:breakprint(i)i+=1示例3-8應(yīng)用1:遍歷并處理可迭代對象的元素3.2.3for循環(huán)52按照某種順序逐個訪問對象中每一項內(nèi)容的過程iterable,Python中支持元素遍歷的對象,包括序列、集合、字典、生成器等for循環(huán)變量in可迭代對象:代碼塊應(yīng)用1:遍歷并處理可迭代對象的元素3.2.3for循環(huán)53for循環(huán)變量in可迭代對象:代碼塊列表元素求和3.2.3for循環(huán)53list1=[3,4,0,-1,7]result=0foreinlist1:result+=eprint(result)示例3-10list1=[3,4,0,-1,7]i,result=0whilei<len(list1):result+=list1[i]i+=1應(yīng)用2:實現(xiàn)明確次數(shù)的循環(huán)range()3.2.3for循環(huán)54用法說明示例range(n)生成[0,n]范圍內(nèi)的n個整數(shù)range(5)-->序列:0,1,2,3,4range(m,n)生成[m,n-1]范圍內(nèi)的n-m個整數(shù)range(1,5)-->序列:1,2,3,4range(m,n,step)以step為步長,生成[m,n-1]范圍內(nèi)的整數(shù)序列range(1,10,3)-->序列:1,4,7[1,100]整數(shù)求和3.2.3for循環(huán)54result=0foriinrange(1,101):result+=i示例3-1214天短期投資回報計算3.2.3for循環(huán)54result=100000.00#收益,初始值為本金10萬rate=0.0385/365#日利率foriinrange(14):result=result+result*rate示例3-13不一定要在循環(huán)體中使用循環(huán)變量應(yīng)用3:同時遍歷多個可迭代對象3.2.3for循環(huán)54list1=[1,2,3]list2=['a','b','c']fornum,charinzip(list1,list2):print(num,char)示例3-14應(yīng)用3:同時遍歷多個可迭代對象3.2.3for循環(huán)55list1=['a','b','c']forindex,valueinenumerate(list1):print(index,value)示例3-15選擇結(jié)構(gòu):if語句01020403循環(huán)結(jié)構(gòu):while/for循環(huán)結(jié)構(gòu):進(jìn)階使用異常與異常處理目

錄循環(huán)結(jié)構(gòu):進(jìn)階使用0304異常與異常處理目

錄選擇結(jié)構(gòu):if語句0102循環(huán)結(jié)構(gòu):while/forelse子句嵌套循環(huán)while/for可以帶一個else子句,循環(huán)正常結(jié)束時進(jìn)入while循環(huán):當(dāng)循環(huán)條件不滿足而退出循環(huán)后會進(jìn)入for循環(huán):當(dāng)可迭代對象的所有元素遍歷完而退出循環(huán)后進(jìn)入因break退出循環(huán)不會進(jìn)入else分支主要用途:收尾工作,如打印信息、記錄日志等3.2.4else子句55else子句使用3.2.4else子句55list1=[1,2,3,-1,-2,4]

fornuminlist1:ifnum<=0:print('列表中含有非正數(shù)元素')breakelse:print('列表中所有元素均為正數(shù)')print('測試結(jié)束')示例3-16嵌套循環(huán):在一個循環(huán)內(nèi)部放置另一個循環(huán)九九乘法表3.2.5

嵌套循環(huán)56

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論