




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
準備工作1搭建Python環境目錄認識Python2
安裝PyCharm3Python是一種結合了解釋性、編譯性、互動性和面向對象的高層次計算機語言,也是一種功能強大且完善的通用型語言,具有30多年的發展歷史,成熟且穩定。Python具備垃圾回收功能,能夠自動管理內存,常被當作腳本語言用于處理系統管理任務和編寫網絡程序。此外,Python支持命令式程序設計、面向對象程序設計、函數式編程、泛型編程等多種編程范式,非常適合用于完成各種高級任務。初識PythonPython的創始人是吉多.范羅蘇姆(GuidovanRossum)。1989年圣誕節期間,Guido為了打發圣誕節的無趣,開發了這個新的腳本解釋程序。Python的發展歷史Python繼承了ABC語言的許多特性,如優美且功能強大。這些特性是專門為吸引非專業程序員而設計的。然而盡管有這些特性,ABC語言并未獲得廣泛的接受,Guido認為其失敗的部分原因是該語言不是開源性語言。于是,Guido決心將Python開源來避免重蹈覆轍,這一決策取得了非常好的效果。同時,Guido還想實現在ABC語言中提出過但未曾實現的功能。Python不僅是在ABC語言的基礎上發展起來的,還受到了Modula-3(另一種優美且功能強大的語言,由一個小型團隊設計)的影響,并且結合了UNIXShell和C語言用戶的使用習慣,這使得Python一躍成為眾多UNIX和Linux開發人員所青睞的開發語言。Python的發展歷史Python特點簡單易學免費、開源具有廣泛的標準庫支持互動模式可移植可擴展可嵌入Python的特性1搭建Python環境目錄認識Python2
安裝PyCharm3用戶可根據自己計算機的系統,從Python官網下載對應的Python3.11.7,并在成功安裝后配置環境變量;在Windows系統的“命令提示符”窗口中輸入“python”命令并執行,能得到下圖所示的結果。在Windows系統平臺安裝Python在Windows系統平臺安裝Python的具體操作步驟如下。打開瀏覽器,訪問Python官網在Windows系統平臺安裝Python選擇“Downloads”菜單中的“Windows”選項在Windows系統平臺安裝Python找到Python3.11.7的安裝包,如果Windows系統版本是32位的,那么單擊“Windowsinstaller(32-bit)”超鏈接,然后下載;如果Windows系統版本是64位的,那么單擊“Windowsinstaller(64-bit)”超鏈接,然后下載,在Windows系統平臺安裝Python下載完成后,雙擊運行下載的安裝包,打開Python安裝向導窗口,如下圖所示,勾選“Addpython.exetoPATH”復選框,然后單擊“Customizeinstallation”。在Windows系統平臺安裝Python在打開的界面中保持默認選擇,單擊“Next”按鈕,如左圖所示,進入右圖所示的界面,在該界面中可以修改安裝路徑,修改完成后單擊“Install”按鈕進行安裝。在Windows系統平臺安裝Python安裝完成之后,會彈出安裝成功的提示界面,如下圖所示。在Windows系統平臺安裝Python打開“命令提示符”窗口(操作方法詳見【任務1-1】),輸入“python”命令并執行,會出現以下兩種情況。情況一:出現如左圖所示的界面,說明Python已經安裝成功。情況二:出現如右圖所示的界面。這是因為Windows系統會根據PATH環境變量設定的路徑去查找python.exe,如果沒有找到,那么會不輸出。配置PATH環境變量情況一情況二如果出現情況2,就需要將python.exe所在的路徑添加到PATH環境變量中,以Windows10為例,具體步驟如下。右鍵單擊“此電腦”圖標,在彈出的快捷菜單中選擇“屬性”選項,如圖下圖所示。配置PATH環境變量在打開的窗口中選擇“高級系統設置”選項,如下圖所示。配置PATH環境變量在彈出的“系統屬性”對話框中單擊“環境變量”按鈕,如左圖所示。在彈出的“環境變量”對話框中找到“系統變量”列表框中的“Path”選項,如右圖所示。配置PATH環境變量雙擊“Path”選項,在彈出的“編輯環境變量”對話框中可編輯變量值,在“變量值”文本框中添加Python的安裝路徑。例如,安裝路徑為“D:\Python311”,則添加的變量值為“D:\Python311”,如下圖所示。配置PATH環境變量單擊“確定”按鈕。打開“命令提示符”窗口,輸入“python”命令并執行,出現下圖所示的界面,說明已經配置好Python的PATH環境變量。配置PATH環境變量成功安裝Python之后,即可正式開始Python之旅。Python的打開方式有3種:使用Windows系統的命令行工具(cmd)、使用帶圖形界面的PythonShell——集成開發和學習環境(IntegratedDevelopmentandLearningEnvironment,IDLE)、使用命令行版本的PythonShell——Python3.11。【任務1-1】開啟Python之旅任務描述cmd即命令提示符,“命令提示符”窗口是Windows環境下的虛擬磁盤操作系統(DiskOperatingSystem,DOS)窗口。在Windows系統下,打開“命令提示符”窗口有3種方法。按“Win+R”組合鍵,其中“Win”鍵是鍵盤上的開始菜單鍵,如左圖所示,在彈出的“運行”對話框的“打開”文本框中輸入“cmd”,如右圖所示,單擊“確定”按鈕,即可打開“命令提示符”窗口。【任務1-1】開啟Python之旅1.使用Windows系統的命令行工具在“所有程序”列表中搜索“cmd”,如下圖所示。選擇“命令提示符”選項或按“Enter”鍵即可打開“命令提示符”窗口。【任務1-1】開啟Python之旅在“C:\Windows\System32”路徑下找到“cmd.exe”,如下圖所示,雙擊即可打開“命令提示符”窗口。【任務1-1】開啟Python之旅打開“命令提示符”窗口后,輸入“python”命令并按“Enter”鍵,如果出現“>>>”符號,那么說明已經進入Python交互式編程環境,如下圖所示。此時若輸入“exit()”命令即可退出。IDLE是開發Python程序的基本集成開發環境(IntegratedDevelopmentEnvironment,IDE),由Guido親自編寫。IDLE適合用來測試和演示一些簡單代碼的執行效果。在Windows系統下安裝好Python后,可以在“開始”菜單中找到IDLE,選擇“IDLE(Python3.1164-bit)”選項,如左圖所示,即可打開IDLE界面,如右圖所示。【任務1-1】開啟Python之旅2.使用帶圖形界面的PythonShell——ID命令行版本的PythonShell——
Python3.11的打開方法和IDLE的打開方法是一樣的。在Windows系統的“開始”菜單中選擇“Python3.11(64-bit)”選項,如左圖所示,即可打開Python3.11界面,如右圖所示。【任務1-1】開啟Python之旅3.使用命令行版本的PythonShell——Python3.111搭建Python環境目錄認識Python2
安裝PyCharm3IDE是一種輔助程序開發人員進行開發的應用軟件,在開發工具內部即可輔助編寫代碼,并編譯打包,使之成為可用的程序,有些甚至可以設計圖形接口。IDE也是集代碼編寫、分析、編譯、調試等功能于一體的開發軟件服務套(組),通常包括編程語言編輯器、自動構建工具和調試器。在Python的應用過程中,IDE是不可或缺的,它可以幫助開發人員加快開發速度,提高開發效率。在Python中,常見的IDE有Python自帶的IDLE、PyCharm、JupyterNotebook、Spyder等。常用的PythonIDEPyCharm可以幫助Python開發人員提高工作效率,它功能豐富,包括調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試及版本控制等。PyCharm還提供了一些高級功能,用于支持Django框架下的專業Web開發,同時支持GoogleAppEngine和IronPython。這些功能使PyCharm成為Python專業開發人員和初學者的有力工具。認識PyCharm打開PyCharm官網,如下圖所示,單擊“Download”按鈕。
安裝和使用PyCharm1.安裝PyCharm
安裝和使用PyCharm選擇Windows系統的社區版,單擊“Download”按鈕即可進行下載,如下圖所示。
安裝和使用PyCharm下載完成后,雙擊安裝包打開安裝向導,如下圖所示,單擊“下一步”按鈕。
安裝和使用PyCharm在進入的界面中自定義軟件安裝路徑,建議路徑中不要使用中文字符,如下圖所示,單擊“下一步”按鈕。
安裝和使用PyCharm在進入的界面中,創建桌面快捷方式并關聯.py文件,如下圖所示,單擊“下一步”按鈕。
安裝和使用PyCharm在進入的界面中單擊“安裝”按鈕默認安裝。安裝完成后單擊“完成”按鈕,如下圖所示。
安裝和使用PyCharm雙擊桌面上的快捷方式,在彈出的“ImportPyCharmSettings”對話框中選擇“Donotimportsettings”單選項,如下圖所示,單擊“OK”按鈕。
安裝和使用PyCharm重啟應用后,將會打開下圖所示的界面,單擊“NewProject”圖標創建新項目。
安裝和使用PyCharm在打開的“NewProject”窗口中自定義項目存儲路徑,如下圖所示,IDE默認關聯Python解釋器,單擊“Create”按鈕。
安裝和使用PyCharm這樣就進入了PyCharm界面,如下圖所示。
安裝和使用PyCharm更換PyCharm的主題。單擊“File”菜單下的“Settings”命令,如左圖所示。在彈出的“Settings”對話框中,依次選擇“Appearance&Behavior”→“Appearance”選項,在“Theme”下拉列表中選擇自己喜歡的主題,這里選擇“LightwithLightHeader”,如右圖所示。新建好項目(此處項目名為python)后,還要新建一個.py文件。右擊項目名“python”,在彈出的快捷菜單中選擇“New”→“PythonFile”命令,如下圖所示。
安裝和使用PyCharm2.使用PyCharm
安裝和使用PyCharm在彈出的對話框中輸入文件名“study”后按“Enter”鍵即可新建study.py文件,如左圖所示。選擇該文件并按“Enter”鍵即可打開此腳本文件,如右圖所示。如果是首次安裝PyCharm,那么此時的運行按鈕是灰色的,處于不可觸發的狀態,要運行腳本需要設置控制臺。
安裝和使用PyCharm單擊運行按鈕左邊的下拉按鈕,如左圖所示,選擇“EditConfigurations”,彈出“Run/DebugConfigurations”對話框,單擊“+”按鈕,新建一個Python配置項,如右圖所示。
安裝和使用PyCharm在右側窗格中的“Name”文本框中輸入文件名,單擊“script”選項右側的“瀏覽”按鈕,找到剛剛新建的study.py文件,如下圖所示。單擊“OK”按鈕之后,運行按鈕就會變成綠色,此時就可以正常編程了。PyCharm界面可分為菜單欄、工具欄、項目結構區、代碼區和信息顯示區。各個區域的工作范圍介紹如下。菜單欄:包含影響整個項目或部分項目的命令,如打開項目、創建項目、重構代碼、運行和調試應用程序、保存文件等命令。項目結構區:已經創建完成的項目或文件的展示區域。代碼區:編寫代碼的區域。信息顯示區:查看程序輸出信息的區域。工具欄:放置快捷命令,左側工具欄包含終端、Python控制臺等功能。安裝和使用PyCharm除了可以在PyCharm中的代碼區編輯代碼,還可以通過工具欄中的“PythonConsole”(Python控制臺)直接輸入代碼并執行,然后立刻得到結果。Python控制臺的輸入模式主要有兩種:一種是通過In輸入,通過Out輸出;另一種是通過“>>>”的形式輸入,直接顯示輸出結果。本書主要以“>>>”的形式編寫代碼,如下圖所示。讀者可以通過單擊“File”→“Settings”→“Build,Execution,Deployment”→“Console”命令,取消勾選“UseIPythonifavailable”復選框,將默認形式修改為“>>>”的形式。安裝和使用PyCharmPython和PyCharm安裝完成后,即可開始創建本書的第一個程序——應聲蟲程序。應聲蟲程序是一個簡單的Python腳本,它的功能是對用戶的輸入進行響應。當用戶輸入“helloworld”時,程序會輸出相應的響應。程序可通過不同的方式實現對“helloworld”的響應,包括直接輸出、存儲在變量中輸出,以及分別存儲在兩個變量中并計算這兩個變量的和。通過應聲蟲程序,讀者可以了解到如何使用Python的基本功能來創建響應式的程序。【任務1-2】創建應聲蟲程序任務描述在Python中,實現數據輸出的方式有兩種:一種是使用print函數;另一種是直接使用變量名來查看相應變量的原始值。print函數用于輸出數據,其語法結構如下。print(<expressions>)print函數語法結構里的單詞“expressions”為復數形式,其含義是表達式可以有多個。Python在執行print函數時,先計算表達式的值,再將表達式的值輸出。如果有多個表達式,那么表達式之間用逗號(,)隔開,語法結構如下。print(<expression>,<expression>,..<expression>)【任務1-2】創建應聲蟲程序1.使用print函數輸出“helloworld”【任務1-2】創建應聲蟲程序在新建的.py文件中使用print函數輸出>>>print('helloworld')helloworld>>>print('hello','world')helloworld可以看到第2個print函數使用逗號連接兩個字符串,在輸出的時候,“hello”和“world”中間有一個空格。在交互式環境中,為了方便,可以直接使用變量名查看變量的原始值,以達到輸出的目的。>>>character="helloworld">>>character'helloworld’將“helloworld”賦值給character,然后直接輸出character,即可查看character的原始值。直接在交互式環境中運行“helloworld”語句,也可以實現輸出。>>>"helloworld"‘helloworld’【任務1-2】創建應聲蟲程序2.使用變量名查看變量的原始值在Python中,可以通過input函數從鍵盤輸入數據,input函數的語法結構如下。input(<prompt>)input函數的形參prompt代表一個字符串,用于提示用戶輸入數據。input函數的返回值是字符串型的。>>>character=input('inputyourcharacter:')>>>print(character)inputyourcharacter:第1行語句使用input函數提示用戶輸入數據。用戶輸入數據后,input函數會把數據傳遞給等號(=)左邊的character變量來保存。第2行調用print函數輸出character變量的值,所以執行第2行語句后會輸出字符串“inputyourcharacter:”,作為新的提示符。輸入“helloworld”后按“Enter”鍵,程序將完整地輸出“helloworld”。【任務1-2】創建應聲蟲程序3.使用input函數從鍵盤輸入數據若想依次輸出“first:”和“second:”,則可以用字符串拼接的方式。>>>x=input("first:")>>>y=input("second:")>>>print(x+y)在執行第3行語句后,程序會依次輸出“first:”和“second:”,用戶依次輸入“hello”和“world”后按“Enter”鍵,程序將完整地輸出“helloworld”。【任務1-2】創建應聲蟲程序本單元介紹了Python的基本概念、發展史以及特性,同時介紹了Python環境的搭建,其中重點介紹如何在Windows系統平臺上安裝Python,并配置PATH環境變量。此外,還介紹了常用的PythonIDE,包括PyCharm的安裝和使用,并通過創建應聲蟲程序,介紹了Python的輸出和輸入。小結Python的基礎語法1標識符與關鍵字目錄縮進代碼2調試Python代碼3Python的特色之一就是以縮進的方式來標識代碼塊,不再需要使用花括號,這樣會使代碼看起來更加簡潔明了。同一個代碼塊的語句必須保證相同的縮進,否則將會出錯。至于縮進的空格數,Python并沒有硬性要求,只需保證數量相同即可。正確縮進示例如下:縮進代碼>>>ifTrue:...print('我的行縮進空格數相同')...else:...print('我的行縮進空格數相同')最后一行語句的縮進的空格數與其他行的不一致,會導致代碼運行出錯。錯誤縮進示例如下:縮進代碼>>>ifTrue:...print('我的行縮進空格數相同')...else:...print('我的行縮進空格數相同')...print('我的行縮進空格數不同')此外,當在交互式模式下輸入復合語句時,必須在最后添加一個空行來標識結束。因為當代碼過于復雜時,解釋器將難以判斷代碼塊在何處結束,而且以空行標識結束也便于程序開發人員進行查閱和理解。1標識符與關鍵字目錄縮進代碼2調試Python代碼3標識符在機器語言中是被允許作為名字的有效字符串。Python中的標識符主要用于變量、函數、類、模塊、對象等的命名中。Python對標識符有如下規定:(1)標識符可以由字母、數字和下畫線(_)組成。(2)標識符字母區分大小寫,如Abc與abc是兩個不同的標識符。標識符與關鍵字(3)標識符不能以數字開頭。以下畫線開頭的標識符具有特殊的意義,使用時需要注意以下規定:①以單下畫線開頭的標識符(如_foo)代表不能直接訪問的類屬性,需通過類提供的接口進行訪問,且不能用“from*import*”導入。②以雙下畫線開頭的標識符(如__foo)代表類的私有成員。③以雙下畫線開頭和結尾的標識符(如__foo__)是Python特殊方法專用的標識符,如__init__代表類的構造方法。標識符與關鍵字(4)禁止使用Python中的關鍵字作為標識符。當需要查看某字符串是否為關鍵字時,可以使用iskeyword函數,使用kwlist函數可以查看所有關鍵字,如下所示。標識符與關鍵字>>>importkeyword>>>print(keyword.iskeyword('and'))#查看and是否為關鍵字True>>>print(keyword.kwlist)#查看Python中的所有關鍵字['False','None','True','and','as','assert','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','with','yield']1標識符與關鍵字目錄縮進代碼2調試Python代碼3程序一次性編寫完并能正確運行的概率非常小,一般需要修正各種各樣的bug。有的bug修正起來很簡單,只需查看一下錯誤信息就知道如何修正;而有的bug修正起來很復雜,修正時需要判斷出錯時哪些變量的值是正確的,哪些變量的值是錯誤的。因此,開發人員需要有一整套調試程序的手段來修復bug。程序調試就是在將編寫好的程序投入實際運行前,用手動或編譯程序等方法對其進行測試,進而修正其語法錯誤和邏輯錯誤的過程。這是保證計算機信息系統正確性的必不可少的步驟。編寫好的計算機程序必須在計算機中進行測試,然后根據測試時所發現的錯誤進行進一步診斷,找出出錯的原因和具體的位置并進行修正。調試Python代碼Python代碼可以通過使用pdb(Python自帶的包)、PythonIDE(如PyCharm)、日志功能等進行調試。接下來介紹一些語法錯誤示例,代碼如下:調試Python代碼>>>print'Hello,World!'#缺少括號SyntaxError:Missingparenthesesincallto'print'.Didyoumeanprint(...)?>>>print(‘Hello,World!’)#引號為中文引號SyntaxError:invalidcharacter'‘'(U+2018)>>>print('Hello,World!')#括號為中文括號SyntaxError:invalidcharacter'('(U+FF08)第一行代碼在Python2中是能正確運行的,但是在Python3中并不能正確運行;后面的兩行代碼的錯誤是由于使用了中文格式的符號,在編寫代碼時,一般使用英文輸入法。Python的基礎語法1聲明Python編碼目錄認識計算機語言2加入代碼注釋3使用多行語句4眾所周知,人與人之間可以通過人類語言進行交流,人與計算機之間可以通過計算機語言(將人類語言轉化成計算機能夠理解的語言)進行交流。計算機語言的種類很多,總體可以分為三大類,分別是機器語言、匯編語言和高級語言。機器語言是指計算機能夠識別的指令集合,其指令由“0”和“1”組成。匯編語言在機器語言的基礎上進行了改進,以英文單詞代替0和1。例如,“Add”代表相加,“Mov”代表傳遞數據等。匯編語言實際上就是機器語言的記號。高級語言并不特指某一種語言,它泛指很多編程語言,如Python、C語言、C++、Java等。認識計算機語言相對于匯編語言,高級語言將許多相關的機器指令合成為單條指令,并且去掉了與具體操作有關但與完成工作無關的細節,如使用堆棧、寄存器等,極大地簡化了程序中的指令。高級語言源程序可以通過解釋和編譯兩種方式執行,一般使用編譯的方式。由于Python省略了很多編譯細節,因此更容易上手。Python的設計目標之一是讓代碼具有高度的可讀性,其使用的標點符號和英文單詞大多與其他語言經常使用的一致,因此使用它設計的程序代碼看起來整潔且美觀。Python不像其他靜態語言(如C語言、Pascal等)一樣需要重復書寫聲明語句,在一定程度上避免了經常出現特殊情況和意外。認識計算機語言1聲明Python編碼目錄認識計算機語言2加入代碼注釋3使用多行語句4Python
3安裝完成后,系統默認其源碼文件為UTF-8編碼。在此編碼下,全世界大多數編程語言的字符都可以同時在字符串和注釋中得到準確的編譯。在大多數情況下,通過編輯器編寫的Python代碼默認保存為UTF-8編碼的腳本文件,這樣系統在通過Python執行相應文件時就不容易出錯。但是如果編輯器不支持UTF-8編碼的文件,或團隊合作時有人使用了其他編碼格式,那么Python
3將無法自動識別腳本文件,從而造成程序執行錯誤,這時候對Python腳本文件進行編碼聲明就顯得尤為重要。例如,GBK腳本文件在沒有編碼聲明時執行將會出錯,經編碼聲明后,腳本文件即可正常執行。聲明Python編碼為源文件指定特定的字符編碼時,需要在文件的首行或第二行插入特殊的注釋行,源文件中的所有字符都會按照“coding”指代的UTF-8編碼進行處理。當然,這并不是唯一的聲明格式,其他格式的聲明如“#coding:utf-8”和“#coding=utf-8”,也都是可以的。通常使用的編碼聲明格式如下。聲明Python編碼#-*-coding:utf-8-*-在編寫Python腳本時,除了要聲明編碼外,還需要注意路徑聲明。路徑聲明的目的是告訴系統調用“D:/Python311”目錄下的Python解釋器執行文件,一般放在腳本首行。格式如下。#D:/Python3111聲明Python編碼目錄認識計算機語言2加入代碼注釋3使用多行語句4注釋對于編程來說是必不可少的,即使是簡短的幾行Python代碼,如果使用了一些生僻的編寫方法,開發人員也需要花一定時間才能將其弄明白。實際應用中,開發人員常常要面對成千上萬行晦澀難懂的代碼,如果代碼注釋不夠詳細,那么時間一長,甚至連開發人員自己也會弄不清代碼的含義。加入代碼注釋單行注釋通常以井號(#)開頭,注釋行是不會被機器解釋的。這里需要注意的是,前文介紹的編碼聲明雖然也是以井號(#)開頭的,但其不屬于注釋行,而且編碼聲明需要放在首行或第二行,否則不會被機器解釋。代碼如下:1.單行注釋>>>#這是一個單獨成行的注釋>>>print('Hello,World!')#這是一個在代碼后面的注釋在實際應用中常常會有多行注釋的需求,同樣也可以使用井號(#)進行注釋,只需在每一行注釋前加上井號(#)即可代碼如下:2.多行注釋(1)井號(#)注釋>>>#這是一個使用#的多行注釋>>>#這是一個使用#的多行注釋>>>#這是一個使用#的多行注釋>>>print('Hello,World!')使用井號(#)進行多行注釋顯得有些煩瑣。Python對多行注釋還提供了另一種更加方便、快捷的方式,即使用3個單引號或3個雙引號將注釋內容包含,達到注釋多行或整段內容的效果。使用單引號進行多行注釋,如代碼所示。2.多行注釋(2)單引號注釋>>>'''該多行注釋使用的是3個單引號該多行注釋使用的是3個單引號該多行注釋使用的是3個單引號'''>>>print('Hello,World!')使用雙引號進行多行注釋,如代碼所示。2.多行注釋(3)雙引號注釋>>>"""該多行注釋使用的是3個雙引號該多行注釋使用的是3個雙引號該多行注釋使用的是3個雙引號""">>>print('Hello,World!')當使用引號進行多行注釋時,需要保證前后使用的引號類型一致。前面使用單引號、后面使用雙引號,或前面使用雙引號、后面使用單引號,都是不被允許的。1聲明Python編碼目錄認識計算機語言2加入代碼注釋3使用多行語句4多行語句一般用于一條語句太長,在一行中寫完會顯得很不美觀的情況。在代碼中使用反斜線(\)可以實現一條長語句的換行,同時其不會被機器識別成多條語句,如下所示。使用多行語句>>>total=applePrice+\...bananaPrice+\...pearPrice但是在Python中,方括號([])、花括號({})、圓括號(())里面的多行語句在換行時是不需要使用反斜線的,例如,在方括號中的多行語句可以使用逗號換行,如下所示。>>>total=[applePrice,...bananaPrice,...pearPrice]此外,使用分號(;)可對多條短語句實現隔離,從而在同一行書寫多條語句,如下所示。一行多條語句,通常在短語句中應用得比較廣泛。使用多行語句>>>applePrice=8;bananaPrice=3.5;pearPrice=5創建變量并提取里面的數值1數值型變量的相互轉換目錄Python變量2字符型數據的創建與基本操作3【任務2-1】提取賬單中的單價信息4Python變量Python的基礎變量主要有字符型和數值型兩種,其中數值型變量又可分為整型(int型)、浮點型(float型)、布爾型(bool型)、復型(complex型)。在創建變量時不需要聲明數據類型,Python能夠自動識別數據類型。在Python中,變量不需要提前聲明,創建時直接對其賦值即可,變量類型由賦給變量的值決定。值得注意的是,一旦創建了一個變量,就需要給對應變量賦值。Python變量Python中有一種“通俗”的說法是,變量好比一個“標簽”,指向內存空間的一個特定的地址。創建變量時,系統會自動在機器的內存中給對應變量分配一塊內存,用于存放變量值,如下圖所示。Python變量通過id函數可以查看變量創建和變量重新賦值時內存空間的變化過程一個變量在初次賦值時將會獲得一塊內存空間用來存儲變量值。當令變量y等于變量x時,其實是內存地址的傳遞,變量y獲得的是存儲變量x值的內存地址,所以當變量x的值發生改變時,變量y的值和其內存地址都不會發生改變。當變量x的值發生改變時,系統會重新分配一塊內存空間來存放新的變量值。代碼如下:>>>x=4>>>print(id(x))#查看變量x指向的內存地址8791167088512Python變量>>>y=x#將變量x的值重新賦給另一個新變量y>>>print(id(y))8791167088512>>>x=2#對變量x重新賦值>>>print(x,y)#同時輸出變量x和變量y的值(2,4)>>>print(id(x))8791167088448>>>print(id(y)87911670885121.變量名變量的命名必須嚴格遵守標識符的規則,Python中有一類非關鍵字的特殊字符串(如內置函數名),這些字符串具有某種特殊功能,雖然將其用作變量名時不會出錯,但會造成相應的功能喪失。例如:len函數可以用于返回字符串長度,但是一旦將len作為變量名,就會失去返回字符串長度的功能。代碼如下:>>>importkeyword#加載keyword庫>>>keyword.iskeyword('and')#判斷“and”是否為保留字TRUE>>>and=
'我是關鍵字'
#以關鍵字作為變量名SyntaxError:invalidsyntax1.變量名>>>strExample=
'我是一個字符串'
#創建一個字符串變量>>>print(len(strExample))#使用len函數查看字符串長度7>>>len='特殊字符串命名'
#使用len作為變量名>>>print(len)#len函數查看字符串長度會出錯特殊字符串命名>>>print(len(strExample))#len()函數查看字符串長度出錯TypeError:'str’objectisnotcallable1.變量名如果在一段代碼中有大量變量名,而且這些變量名沒有錯誤,但是其命名隨意、風格不一,那么程序開發人員在解讀代碼時可能會出現一些混淆,下面為一些常用的命名方式:(1)
大駝峰(uppercamelcase)該方法中,所有單詞的首字母都是大寫,例如“MyName”“YourFamily”等。一般用于類的命名。(2)小駝峰(lowercamelcase)該方法中,第一個單詞的首字母為小寫字母,其余單詞的首字母都采用大寫字母,例如“myName”、“youFamily”等。多用與函數名和變量的命名。1.變量名(3)下劃線(_)分隔該方法中所有單詞都采用小寫字母,中間用下劃線(_)分隔開,例如“my_Name,you_Family”等具體使用哪種方法對變量進行命名,并沒有統一的規定,重要的是一旦選擇了一種命名法,在后續的程序編寫過程中一定要保持風格一致。變量值就是賦給變量的數據,Python中有6個標準的數據類型,分別為數字(number)、字符串(string)、列表(list)、元組(tuple)、字典(dictionary)、集合(set)。其中,列表、元組、字典、集合屬于復合數據類型。最簡單的變量賦值就是把一個變量值賦給一個變量,只需要用等號即可實現。變量賦值后,可以使用type函數查看變量的數據類型。2.變量值Python還可以將一個值同時賦給多個變量。將數字1同時賦給變量a、b、c的方法代碼如下:3.變量賦值>>>a=b=c=1#將一個值同時賦給多個變量>>>print(a)1>>>print(b)13.變量賦值>>>print(c)1>>>print(type(c))<class'int'>如果需要將數字1、2和字符串“abc”分別賦值給變量a、b、c,就需要使用逗號隔開,代碼如下:3.變量賦值>>>a,b,c=1,2,
'abc'
#將多個值分別賦給多個變量>>>print(a)1>>>print(b)2>>>print(c)
'abc'1數值型變量的相互轉換目錄Python變量2字符型數據的創建與基本操作3【任務2-1】提取賬單中的單價信息4數值型變量的相互轉換Python3支持的數值型數據類型有整型、浮點型、布爾型、復型,Python3中的int表示長整型,沒有了Python2中的long。整型指int型,浮點型指既有整數部分又有小數部分的float型,這些都是比較容易理解的。布爾型只有True(真)和False(假)兩種取值,True可以等價為數值1,False可以等價為數值0,并且可以直接使用布爾值進行數學運算。復型數據由實數部分和虛數部分構成,其在Python中的結構形式如real+imag(J/j作為后綴),實數和虛數部分都是浮點數。數據類型中文解釋示
例int整型10、100、1000float浮點型1.0、0.11、1e-12bool布爾型True、Falsecomplex復型1+1j、0.123j、1+0j數值型變量的相互轉換在Python中可以實現數值型變量的相互轉換,可使用的內置函數有int、float、bool、complex。int函數類型轉換代碼如下:>>>print(int(1.56));print(int(0.156));print(int(-1.56));print(int())#浮點型轉整型10-10>>>print(int(True));print(int(False))#布爾型轉整型10>>>print(int(1+23j))#復型轉整型TypeError:int()argumentmustbeastring,abytes-likeobjectorarealnumber,not'complex'數值型變量的相互轉換從由浮點型轉整型的運行結果可知:在將浮點數轉換成整數的過程中,只是簡單地將小數部分剔除,保留整數部分,int()函數的參數為空時的結果為0;由布爾型轉整型時,布爾值True被轉換成整數1,False被轉換成整數0;復型無法轉換為整型。數值型變量的相互轉換bool函數類型轉換代碼如下:>>>print(bool(1));print(bool(2));print(bool(0))#整型轉布爾型TrueTrueFalse>>>print(bool(1.0));print(bool(2.3));print(bool(0.0))#浮點型轉布爾型TrueTrueFalse數值型變量的相互轉換用bool函數分別對空、空字符、空列表、空元組、空字典(或集合)進行轉換時結果都為False。如果是非空數據,那么結果是True(除去數值為0的情況)。代碼如下:>>>print(bool(1+23j));print(bool(23j))#復型轉布爾型TrueTrue>>>print(bool());print(bool(''));print(bool([]));...print(bool(()));print(bool({}))#各種類型的空值轉布爾型FalseFalseFalseFalseFalse數值型變量的相互轉換>>>print(int(1.56));print(int(0.156));print(int(-1.56));print(int())#浮點型轉整型10-10>>>print(int(True));print(int(False))#布爾型轉整型10>>>print(int(1+23j))#復型轉整型TypeError:int()argumentmustbeastring,abytes-likeobjectorarealnumber,not'complex'1數值型變量的相互轉換目錄Python變量2字符型數據的創建與基本操作3【任務2-1】提取賬單中的單價信息4相比于數值型數據,可以將字符型數據理解成一種文本,它的應用更加廣泛。Python提供了標識字符串的3種方式,分別是使用單引號(')、雙引號(")和三引號('''或""")。1.標識字符串(1)單引號使用單引號標識字符串的方法是將字符串用單引號包含。Python標準庫允許字符串中包含字母、數字和各種符號。Python3的默認編碼為UTF-8,這意味著在字符串中任意使用中文也不會出錯代碼如下:1.標識字符串>>>print('科技是第一生產力')#使用單引號標識字符串科技是第一生產力(2)雙引號使用雙引號標識字符串的方法與單引號的完全相同。需要注意的是,單引號和雙引號不能混用。代碼如下:1.標識字符串>>>print("創新是第一動力")#使用雙引號標識字符串創新是第一動力(3)三引號三引號相比單引號或雙引號,有一個比較特殊的功能,它能夠標識一個多行字符串,且字符串的換行、縮進等格式都會被原封不動地保留。三引號是格式化記錄一段話的好幫手,但要注意前后引號形式要保持一致,不能混用。如下列代碼所示,通過print函數輸出結果,可以清楚地看到句子的換行和段落縮進等細節都保持了原狀。代碼如下:1.標識字符串>>>paragraph='''...質量強國...網絡強國...數字中國'''#3個單引號標識的一個字符串>>>print(paragraph)
質量強國
網絡強國
數字中國1.標識字符串當使用單引號標識一個字符串時,如果該字符串中含有一個單引號,如“What’shappened”,那么Python將不能識別這個字符串從何處開始,又在何處結束。此時需要用到轉義符,即前文提到的反斜線,使單引號只作為純粹的單引號,不具備任何其他作用。代碼如下:2.字符轉義>>>print('What'shappened')#單引號標識的字符串中含有單引號SyntaxError:unterminatedstringliteral(detectedatline1)>>>print('What\'shappened')#反斜線轉義單引號What'shappened2.字符轉義>>>print("What'shappened")#雙引號標識含有單引號的字符串What'shappened>>>print("Doublequotes(\")")#雙引號標識的字符串中含有雙引號Doublequotes(")>>>print('Backslash(\\)')#轉義反斜線Backslash(\)比較特殊的是,用雙引號標識一個包含單引號的字符串時不需要使用轉義符,但是如果其中包含一個雙引號,就需要進行轉義。另外,反斜線可以用于轉義其本身。代碼如下:2.字符轉義>>>print('D:\name\python')#含反斜線的特殊字符串D:ame\python>>>print(r'D:\name\python')#用r或R指定原始字符串D:\name\python此外,在Python中還可以通過給字符串加上前綴r或R來指定原始字符串字符串代碼如下:Python對字符串的操作比較靈活,包括提取指定位置的字符、字符串切片和字符串拼接等操作。字符串索引分為正索引和負索引,通常說的索引是指正索引。在Python中,索引是從0開始的,也就是第一個字符的索引是0,第二個字符的索引是1,以此類推,如下圖所示。很明顯,正索引是從左到右標識字符的;負索引是從右到左標識字符的,然后加上一個負號(-)。負索引的第一個值是-1,而不是0,因為如果負索引的第一個值是0,那么將會導致索引0指向兩個值,這種情況是不允許的。3.字符串索引在Python中,只需要在變量后面使用方括號將需要提取的字符的索引括起來,即可提取指定位置的字符。具體代碼如下:4.字符串基本操作(1)提取指定位置的字符>>>word='Python'>>>print(word[1])#提取第二個字符'y'>>>print(word[0])#提取第一個字符'P'>>>print(word[-1])#提取最后一個字符'n'字符串切片就是截取字符串的片段,形成子字符串。字符串切片的方式形如s[i:j],s表示字符串,i表示截取字符串的起始索引,j表示結束索引。需要注意的是,在截取結果中包含起始字符,但不包含結束字符,[i:j]是一個前閉后開的區間。Python在字符串切片的功能上有很好的默認設置。若省略第1個索引,則第1個索引默認為0;若省略第2個索引,則第2個索引默認為切片字符串的實際長度,代碼如下:4.字符串基本操作(2)字符串切片>>>print(word[0:3])#截取第1~3個字符'Pyt'>>>print(word[:3])#截取第1~3個字符'Pyt'>>>print(word[4:])#截取第5到最后一個字符'on'對于沒有意義的切片索引,Python還可以進行如下處理:當第2個索引越界時,將返回從開始索引到字符串實際結束位置的子串。當第1個索引大于字符串實際長度時,將返回空字符串;當第1個索引為負數時,將返回空字符串;當第1個索引值大于第2個索引值時,也將返回空字符串,代碼如下:4.字符串基本操作>>print(word[3:52])#第2個索引越界'hon'>>>print(word[52:])#第1個索引大于字符串長度''>>>print(word[-1:3])#第1個索引為負數,第2個索引正常''>>>print(word[5:3])#第1個索引值大于第2個索引值''在Python中,字符串是不可修改的。因此,如果試圖給指定位置的字符重新賦值,那么運行將會出錯,代碼如下:4.字符串基本操作>>>word[0]='p'#字符串不可修改TypeError:'str'objectdoesnotsupportitemassignment如果要修改字符串,那么較好的辦法是重新創建一個字符串。如果只需要改變其中的少部分字符,那么可以使用字符串拼接。當進行字符串拼接時,可以使用加號(+)將兩個字符串拼接起來,星號(*)表示重復。另外,相鄰的兩個字符串是會自動拼接在一起的,代碼如下:4.字符串基本操作(3)字符串拼接>>>print('Pythonis'+3*'good')#加號拼接字符串'Pythonisgoodgoodgood'>>>print('踔厲奮發''勇毅前行')#相鄰字符串自動拼接'踔厲奮發勇毅前行'將字符串“加快建設制造強國”修改為“加快建設質量強國”,代碼如下:4.字符串基本操作>>>sentence='加快建設制造強國'>>>print(sentence[:4]+'質量強國')加快建設質量強國在Python中可以使用%、format()方法、f-string等方式將指定的字符串轉換為特定的格式。常用格式化符號如下表所示。4.字符串基本操作(4)字符串格式化格式化符號描
述%c將數據格式化為字符%s將數據格式化為字符串%d將數據格式化為整數%f將數據格式化為浮點數,可指定小數點后的精度,默認保留6位小數使用%進行字符串格式化代碼如下:4.字符串基本操作>>>year=2022>>>print("年份:%d"%year)年份:2022>>>Science='科技成果登記數'>>>quantity=84324>>>print("%d年,中國%s為%d項。"%(year,Science,quantity))2022年,中國科技成果登記數為84324項。相對于%,format()方法可以更直觀地對字符串進行格式化。format()方法的基本語法如下。4.字符串基本操作>>>year=2022>>>product='主要農產品產量'>>>quantity=68652.8>>>string="{}年,中國{}為{}萬噸。">>>print(string.format(year,product,quantity))2022年,中國主要農產品產量為68652.8萬噸。str.format(value)其中,str為需要格式化的字符串,字符串中可包含多個真實數據的占位符{};value為需要替換的真實數據,多個真實數據之間使用逗號分隔。使用format()方法進行字符串格式化代碼如下:此外,還可以通過f-string的方式,在字符串中使用{變量名}標識需要替換的真實數據及其位置。使用f-string進行字符串格式化如下所示。4.字符串基本操作>>>print(f"{year}年,中國{product}為{quantity}萬噸。")2022年,中國主要農產品產量為68652.8萬噸。1數值型變量的相互轉換目錄Python變量2字符型數據的創建與基本操作3【任務2-1】提取賬單中的單價信息4【任務2-1】提取賬單中的單價信息任務描述小華買特價蘋果,在付款前,想先算一下總價。蘋果價格信息的字符串變量為“Apple'sunitpriceis9yuan.”,需要把單價數值提取出來,并轉換成整型(int)數據。任務分析(1)“Apple'sunitpriceis9yuan.”中含有單引號('),使用反斜杠(\)進行轉義。(2)使用方括號([])提取字符串中指定位置的字符。(3)使用type函數查看數據類型。(4)使用int函數將數據轉換成整型。Python的運算符1運算符優先級目錄常用操作運算符2【任務2-2】計算圓形的各參數3【任務2-3】使用字符串索引計算n天后是星期幾4Python提供了一系列便利的基礎運算符,可用于數據分析、研究。可滿足基本運算需求的運算符主要有算術運算符、比較運算符、賦值運算符、按位運算符、邏輯運算符、成員運算符、身份運算符。常用操作運算符算術運算符是用于對操作數進行運算的一系列特殊符號,能夠滿足一般的運算需求。在Python3中,常用算術運算符表格如下。1.算術運算符運
算
符描
述示
例+加,即兩個操作數相加10+20的輸出結果為30
減,即得到負數或是用一個數減去另一個數20-10的輸出結果為10*乘,即兩個數相乘或是返回一個被重復若干次的字符串10*20的輸出結果為200/除,即x除以y20/10的輸出結果為2.0%取模,即返回除法運算中的余數23%10的輸出結果為3**冪,即返回x的y次冪2**3的輸出結果為8//取整除,即返回商的整數部分23//10的輸出結果為2在進行除法運算時,不管商為整數還是浮點數,輸出結果始終為浮點數。如果希望得到整型的商,那么需要用到雙正斜線(//)。對于其他運算,只要任一操作數為浮點數,輸出結果就是浮點數。算術運算符的應用示例如下。1.算術運算符>>>print(2/1);print(type(2/1))#正斜線除法2.0<class'float'>>>>print(2//1);print(type(2//1))#雙正斜線除法2<class'int'>1.算術運算符>>>print(1+2,'and',1.0+2);print(1*2,'and',1.0*2)#加法和乘法3and3.02and2.0>>>print('23除以10,商為',23//10,',余數為',23%10)#商和余數23除以10,商為2,余數為3>>>print(3*'Python')#字符串的若干次次重復'PythonPythonPython'比較運算符一般用于數值的比較,也可用于字符的比較。當兩個對象的比較結果為真時返回True,否則返回False。常用比較運算符如下。2.比較運算符運
算
符描
述示
例==等于,即比較對象是否相等(1==2)返回False!=不等于,即比較兩個對象是否不相等(1!=2)返回True>
大于,x>y即返回x是否大于y(1>2)返回False<
小于,x<y即返回x是否小于y(1<2)返回True>=大于或等于,x>=y即返回x是否大于或等于y(1>=2)返回False<=小于或等于,x<=y即返回x是否小于或等于y(1<=2)返回True在Python中,字符是符合ASCII(AmericanStandardCodeforInformationInterchange,美國信息交換標準代碼)的,每個字符都有屬于自己的編碼,字符比較的本質是字符的ASCII值的比較。Python提供了以下兩個可以進行字符與ASCII值轉換的函數。(1)ord函數:將字符轉換為對應的ASCII值。(2)chr函數:將ASCII值轉換為對應的字符。2.比較運算符比較運算符的應用示例如下。2.比較運算符>>>print(1==2);print(1!=2)#數值的比較FalseTrue>>>print('a'=='b','a'!='b');print('a'<'b','a'>'b')#字符的比較FalseTrueTrueFalse>>>print(ord('a'),ord('b'))#查看字符對應的ASCII值9798>>>print(chr(97),chr(98))#查看ASCII值對應的字符ab>>>print('#'<'%')#符號的比較True賦值運算符用于變量的賦值和更新。除了簡單賦值運算符外,其他賦值運算符都屬于特殊賦值運算符。Python中除了簡單賦值運算符外,還有一類特殊的賦值運算符,如加法賦值運算符、減法賦值運算符等,具體如下表。3.賦值運算符運
算
符描
述示
例=簡單賦值運算符c=a+b表示將a+b的運算結果賦值給c+=加法賦值運算符a+=b相當于a=a+b-=減法賦值運算符a-=b相當于a=a-b*=乘法賦值運算符a*=b相當于a=a*b/=除法賦值運算符a/=b相當于a=a/b%=取模賦值運算符a%=b相當于a=a%b**=冪賦值運算符a**=b相當于a=a**b//=取整除賦值運算符a//=b相當于a=a//b表中的特殊賦值運算符也可以看作變量的快速更新。更新意味著變量已經存在,對于一個之前不存在的變量,則不能使用特殊賦值運算符。賦值運算符的應用示例如下。3.賦值運算符>>>a=1+2;print(a)#簡單賦值運算3>>>print('a:',a);a+=4;print('a+=4特殊賦值運算后,a:',a)#特殊賦值運算a:3a+=4特殊賦值運算后,a:7>>>f+=4#未定義變量不能進行特殊賦值運算NameError:name'f'isnotdefined通常情況下,我們使用的都是十進制數,按位運算符會自動將輸入的十進制數轉換為二進制數,再進行相應的運算。在示例中,a為60,b為13,它們對應的二進制數如下。4.按位運算符a=00111100b=000011014.按位運算符常用按位運算符如下表。運
算
符描
述示
例&按位與運算符:參與運算的兩個運算數的二進制數如果對應位都為1,那么結果的對應位為1,否則為0a&b輸出結果12,二進制值:00001100|按位或運算符:只要參與運算的兩個運算數的二進制數的對應位有一個為1,結果的對應位就為1a|b輸出結果61,二進制值:00111101^按位異或運算符:當兩個參與運算的運算數的二進制數的對應位相異時,結果的對應位為1a^b輸出結果49,二進制值:00110001~按位取反運算符:對運算數的每個二進制位取反,即把1變為0,把0變為1~a輸出結果-61,二進制值:11000011<<
左移運算符:運算數的各二進制位全部左移若干位,由“<<”右邊的數指定移動的位數,高位丟棄,低位補0a<<2輸出結果240,二進制值:11110000>>
右移運算符:運算數的各二進制位全部右移若干位,由“>>”右邊的數指定移動的位數,低位丟棄,高位補0a>>2輸出結果15,二進制值:00001111按位運算符的應用示例如代碼如下:4.按位運算符>>>a=60;b=13;print('a=60,b=13')#初始賦值a=60,b=13#按位與、按位或、按位異或運算>>>print('a&b=',a&b)a&b=12>>>print('a|b=',a|b)a|b=61>>>print('a^b=',a^b)a^b=494.按位運算符#按位取反和位移運算>>>print('~a=',~a)~a=-61>>>print('a<<2=',a<<2)a<<2=240>>>print('a>>2=',a>>2)a>>2=154.按位運算符這里以按位與和按位取反運算為例,講解具體的計算過程。(1)按位與運算按位與運算:參與運算的兩個運算數的二進制數如果對應位都為1,則結果的對應位為1,否則為0。如下代碼,a和b從右往左的第3、4位都為1,其余位都沒有同時為1,故對a和b做按位與運算的結果在從右往左第3、4位為1,其余位都為0。a=00111100b=00001101a&b=000011004.按位運算符(2)按位取反運算按位取反涉及補碼的計算,相對復雜。十進制數的二進制原碼包括符號位和二進制值。以60為例,其二進制原碼為“00111100”,從左往右第1位為符號位,其中,0代表正數,1代表負數。對于正數來說,其補碼與二進制原碼相同;對于負數來說,其補碼為二進制原碼符號位保持不變,其余各位取反后再在最后一位加1。4.按位運算符對60進行取反過程如下。①取60的二進制原碼:00111100。②取補碼:00111100。③每一位取反:11000011,得到最終結果的補碼(負數)。④取補碼:10111101,得到最終結果的原碼。⑤轉換為十進制數:
61。所以60取反后為
61。4.按位運算符對
61進行取反過程如下。①取
61的二進制原碼:10111101。②取補碼:11000011。③每一位取反:00111100,得到最終結果的補碼(正數)。④取補碼:00111100,得到最終結果的原碼。⑤轉換為十進制數:60。所以
61取反后為60。4.按位運算符兩個過程很好地展示了正數和負數的按位取反操作,可以總結為以下5個步驟。①取十進制數的二進制原碼。②對原碼取補碼。③補碼取反(得到最終結果的補碼)。④對取反結果再取補碼(得到最終結果的原碼)。⑤將二進制原碼轉換為十進制數。邏輯運算符包括and、or、not,具體用法如下表,示例中a為11,b為22。5.邏輯運算符運
算
符邏輯表達式描
述示
例andxandy布爾“與”,若x為False,則返回x;否則返
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 茶葉訂單合同協議書
- 高三寒假奮戰協議書
- 門面解約合同協議書
- 腦部醫學成像技術
- 飯店風險責任協議書
- 長期采購委托協議書
- 魚池轉讓合同協議書
- 伯利收購切爾西協議書
- 食堂簽訂安全協議書
- 音樂培訓合作協議書
- 遠程培訓學習總結(4篇)
- 全息照相與信息光學實驗報告
- 2022年02月上海鐵路局下屬鐵路疾病預防控制所公開招聘畢業生筆試參考題庫含答案解析
- 激光設備買賣合同模板(2篇)
- GB/T 24815-2009起重用短環鏈吊鏈等用6級普通精度鏈
- 線描畫基本功教學課件
- 船上投訴程序(中英文)
- DB37-T 3781-2019 政務服務中心能源消耗定額標準-(高清版)
- 重癥胰腺炎(1)課件
- 科學素養全稿ppt課件(完整版)
- 克拉潑改進型電容三點式振蕩器
評論
0/150
提交評論