Python程序設計案例教程 課件全套 石利平 模塊1-8 Python基礎知識 -面向對象基礎_第1頁
Python程序設計案例教程 課件全套 石利平 模塊1-8 Python基礎知識 -面向對象基礎_第2頁
Python程序設計案例教程 課件全套 石利平 模塊1-8 Python基礎知識 -面向對象基礎_第3頁
Python程序設計案例教程 課件全套 石利平 模塊1-8 Python基礎知識 -面向對象基礎_第4頁
Python程序設計案例教程 課件全套 石利平 模塊1-8 Python基礎知識 -面向對象基礎_第5頁
已閱讀5頁,還剩487頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

模塊1Python基礎知識學習目標了解編程語言的分類掌握Python語言的基本特點搭建Python開發(fā)環(huán)境,會漢化PyCharm熟練使用IDLE及PyCharm集成開發(fā)環(huán)境掌握Python代碼編寫的基本規(guī)范掌握Python基本的輸入/輸出函數會使用Python的幫助函數任務1-1

Python編程環(huán)境搭建Python簡介21程序設計基本概念34目錄搭建python開發(fā)環(huán)境執(zhí)行Python程序的方法1-1Python編程環(huán)境搭建想要開始Python編程之旅,首先要了解Python語言的相關基礎知識,并搭建好Python編程環(huán)境。本次主要任務如下:(1)了解什么是計算機編程語言,以及編譯型語言和解釋型語言的區(qū)別;(2)了解什么是程序、什么是Python,Python語言的特點及其常見的Python解釋器;(3)安裝Python;(4)安裝PyCharm三個基本概念一系列程序及相關文檔的集合計算機軟件:是一種形式語句,指定了一組可用于產生各種輸出的指令。編程語言簡稱程序,由計算機執(zhí)行的執(zhí)行特定任務指令的集合,通常用某種程序設計語言編寫計算機程序1.編程語言概述機器語言是由0、1組成的進進制代碼表示的指令,CPU直接識別機器語言是帶符號或助記符的指令和地址代替二進制代碼,被稱為符號語言匯編語言高級語句與硬件設備無關,更接近自然語言,直觀,易于理解、學習,現有很多種高級語言:PythonCC++C#Java、JavaScriptPHP高級語言腳本(Script)語言與編譯(Complie)語言區(qū)別腳本程序執(zhí)行需要解釋器,且是邊解釋邊執(zhí)行語法簡單,運行速度慢常見腳本語言:Python,Java腳本語言(動態(tài)語言)全部語句編譯通過后才能執(zhí)行,通過編譯器把程序編譯成為生成可以執(zhí)行的目標文件(.exe)運行速度快C、C#,C++編譯語言(靜態(tài)語言)2.

Python語言簡介Python之父:GuidovanRossum動畫設計、科學計算、網絡游戲、網站開發(fā)、人工智能、數據爬取等等第一版(正式):1991Python是一種解釋型的、面向對象的高級計算機編程語言,同時也是一種開源的腳本語言3.

Python語言特點Python之父:GuidovanRossum高級程序設計語言開源,免費面向對象、過程腳本語言大量功能類庫應用領域廣泛簡單易用可移植性

(跨平臺性)兼容性,中文動畫設計、科學計算、網絡游戲、網站開發(fā)、人工智能、數據爬取等等第一版(正式):19914.不同版本的Python解釋器EnthoughtPythonActivePythonIronPythonJpython我們使用標準python解釋器CPython5.安裝python解釋器編輯器PythonIDLEPycharmPython官方網址:5.安裝pythonPython官方網址:下載安裝包后,參考教材上安裝過程完成安裝5.安裝python-2獲取安裝程序:官方網站:/downloadPython版:python3.X,電腦CPU是64位,則選擇帶“-64”來安裝Python安裝:參看安裝說明安裝內容:Python解釋器、標準庫、說明文檔6.安裝PyCharmPyCharm官方網址:下載安裝包后,參考教材上安裝過程完成安裝1.1.3相關知識---認識Python安裝目錄認識Python安裝目錄Python安裝目錄中各目錄簡介如下:●DLLs:Python的一些動態(tài)模塊文件(.pyd)和Windows動態(tài)鏈接庫文件(.dll)。●Doc:在Windows系統下,Doc文件夾中只有一個python3106.chm文件,里面集成了Python的所有文檔,雙擊即可打開該文檔。●Include:Python提供的C語言接口頭文件。●Lib:Python自己的標準庫、包、測試套件等。●libs:Python的C語言接口庫文件。●Script:pip可執(zhí)行文件所在目錄,使用pip可以安裝Python的擴展包和庫。●tcl:桌面編程包文件。●Tools:Python提供的一些工具。2python編輯器(1)IDLEIDLE是Python自帶的集成開發(fā)環(huán)境(IntegratedDevelopmentEnvironment,IDE),它提供了交互式編寫代碼和文件式編寫代碼的方式。IDLE會以各種方式突出顯示程序的不同部分,即不同的數據類型、語句、內置函數等會顯示不同的顏色,這種功能稱為語法高亮。IDLE提供了兩種編程環(huán)境:EditWindow和ShellWindow。IDLE使用簡介兩種模式:交互式模式(Shellwindow)和窗口模式(EditWindow)啟動IDLE:開始菜單--》Python3.xIDLE2python編輯器(2)PyCharmPyCharm帶有一整套可以幫助用戶提高程序開發(fā)效率的工具,如調試、語法高亮、Project管理、代碼跳轉、智能提示、單元測試、腳本控制等等。交互方式----運行代碼片段啟動python的IDLE后,會顯示提示符:>>>該提示表示正在使用終端窗口,其后輸入需要執(zhí)行的代碼提示符:>>>在提示符輸完語句后,按Enter鍵,系統立刻執(zhí)行該代碼并顯示出相應結果dir、help:在交互環(huán)境下,可以使用這兩個命令來獲取python函數、方法、對象屬性等相關幫助信息1.3執(zhí)行Python程序的方法IDLE

是Python自帶的圖形界面集成開發(fā)環(huán)境,用于python程序的設計和調試啟動IDLE后,默認首先進入的是交互環(huán)境(可以更改)Python自帶的編輯環(huán)境SublimeTextPycharmVimanaconda其它的Python集成開環(huán)境交互式方式主要用于測試、驗證代碼代碼不能保存一次執(zhí)行一條語句語句執(zhí)行過后,不能再修改Python之禪(Importthis)TheZenofPython,byTimPetersBeautifulisbetterthanugly.Explicitisbetterthanimplicit.Simpleisbetterthancomplex.Complexisbetterthancomplicated.Flatisbetterthannested.Sparseisbetterthandense.Readabilitycounts.Specialcasesaren'tspecialenoughtobreaktherules.Althoughpracticalitybeatspurity.Errorsshouldneverpasssilently.Unlessexplicitlysilenced.Inthefaceofambiguity,refusethetemptationtoguess.Thereshouldbeone--andpreferablyonlyone--obviouswaytodoit.Althoughthatwaymaynotbeobviousatfirstunlessyou'reDutch.Nowisbetterthannever.Althoughneverisoftenbetterthan*right*now.Iftheimplementationishardtoexplain,it'sabadidea.Iftheimplementationiseasytoexplain,itmaybeagoodidea.Namespacesareonehonkinggreatidea--let'sdomoreofthose!從設計的角度來說,python語言追求的是一種獨特的簡潔和高可讀性;從哲學的角度來講,python采用了一種所謂的極簡主義的設計理念。體驗交互模式:>>>print("helloworld!")helloworld!>>>print('我愛我的祖國')我愛我的祖國>>>34+56>>>a=100>>>b=200>>>a+b300>>>print("a+b",a+b)a+b300>>>_300特殊變量“_”保存最后一次計算的結果任務1-2使用IDLE和PyCharmWindowsPowershell窗口運行py程序21IDLE使用方法34目錄Python代碼編寫基本規(guī)則和規(guī)范使用和漢化Pycharm實戰(zhàn):錄入并調試下面的程序

"""程序名稱:goodluck.py

程序功能:接收用戶輸入的姓名,并輸出向祖國問好的語句"""#接收用戶的輸入,并賦值給變量namename=input("請輸入你的姓名:")print(45*'*')

#輸出45個*print()

#輸出換行print('祖國您好!','我叫%s'%name)print('我要好好學習程序設計,為祖國強大而努力學習!‘)print()print(45*'*')文件如何保存源文件的后綴名是什么?如何運行文件1.IDLE使用方法(1)IDLEShellWindow適合對Python語句進行簡單測試、驗證在Windows“開始”菜單中找到IDLE(Python3.1064-bit)啟動項,單擊它即啟動IDLE,默認是進入ShellWindow。“_”是Python交互式環(huán)境下的一個特殊變量,它保存交互式環(huán)境下的最后一個表達式的結果。1.IDLE使用方法(2)IDLE的EditWindow啟動IDLE后,執(zhí)行File選項卡→NewFile命令,即進入EditWindow。EditWindowFile—NewFile進入文件編輯狀態(tài)下寫代碼,代碼完成后,可以按F5運行代碼方法2(1)也可以使用記事本編寫代碼,文件保存好(2)通過文件資源管理器進入文件所在文件夾

(3)在文件夾窗口空白處,按住Shift鍵,右擊鼠標

(4)”在此處打開Powershell窗口(s)”(5)在命令行輸入pythonstar.py表1-1

IDLE中常用的快捷鍵

2.WindowsPowershell窗口運行py程序在Windows操作系統中,在文件資源管理器窗口進入py文件所在文件夾中,按住Shift鍵的同時右擊,在打開的快捷菜單(圖1-39)中單擊“在此處打開Powershell窗口”,顯示WindowsPowershell窗口。如果要執(zhí)行當前目錄下程序example1-3-1.py,在命令行中輸入pythonexample1-3-1.py,按Enter鍵即執(zhí)行相應的py程序。3.Python代碼編寫基本規(guī)范和規(guī)則(1)Python之禪執(zhí)行importthis語句,Python會顯示出程序設計的基本原則(2)嚴格遵守Python的縮進。縮進是Python中一些語句之前的前導空格或制表符。縮進是一種語法,用于定義代碼的結構和邏輯流程。3.Python代碼編寫基本規(guī)范和規(guī)則(3)注釋的使用。1)單行注釋使用“#”開頭。注釋內容與“#”間隔一個空格。2)語句尾加注釋,以“#”開始,“#”與前面的語句至少間隔兩個空格。3)多行注釋使用三對單引號或三對雙引號。文檔、模塊、函數、類、方法的說明字符串一般使用三引號括號起來。3.Python代碼編寫基本規(guī)范和規(guī)則(4)空格及空行的使用1)操作符左右各加一個空格,如age=18。2)逗號、冒號、分號前不加空格。3)右括號前不加空格。4)程序的各代碼塊間可以空兩行,便于閱讀。5)一行就寫一條語句,不要將多條語句寫在同一行。6)一行寫一條語句,如果語句過長,則可以在行尾使用反斜杠(“\”)換行。7)不要在程序中過多使用空行。3.Python代碼編寫基本規(guī)范和規(guī)則(5)標識符命名規(guī)則。模塊名、函數名、類名、方法名、變量名都屬于標識符。標識符命名要遵守以下規(guī)則和規(guī)范。1)標識符可以使用字母、漢字、數字和下劃線4種字符,但不能以數字開頭。2)變量名、函數名、模塊名、包名中的英文字母一般小寫。3)類名首字母大寫。4)標識符要見名知意,以增加程序可讀性。5)盡量不使用易混淆的單個字符作為標識符,如1,l,o,0等。6)不能使用系統關鍵字作為用戶自定義的標識符。7)以下劃線開頭的標識符有特殊意義,應避免使用。3.Python代碼編寫基本規(guī)范和規(guī)則合法的標識符:name,student_id,Score1。不合法的標識符:8num,$num6,num1+n。注意:Python的標識符區(qū)分字母大小寫。Student_id與student_id是不同的標識符。(6)下劃線的特殊意義。1)以單下劃線開頭的表示受保護的類屬性,只可以被當前類及其子類訪問,不能用from×import*導入,如_width。2)以雙下線開頭的標識符表示類的私有成員。如__add。3)以雙下劃線開頭和結尾的是Python專用的標識符。如__init__()表示構造函數,__name__是Python中的一個特殊內置變量,用于表示當前模塊的名稱。4.使用PyCharm雙擊桌面上的PyCharm快捷圖標或“開始”菜單中JetBrains目錄下的PycharmCommunityEdition項,即啟動PyCharm。第一次啟動PyCharm時,首先進入PyCharm導入配置界面,如圖1-41所示(電腦環(huán)境不一樣,界面顯示內容也有差異)。這里選擇第三項SkipImport(跳過導入,也即不導入)。任務1-3輸出兩首古詩print()函數21程序編寫基本方法34目錄input()函數help()函數和dir()函數任務概述分別使用IDLE的EditWindow模式和PyCharm,錄入下列程序,以文件名poem.py保存程序。在程序語句行數不變情況下,修改并調試程序,使程序運行結果分別如圖1-49和圖1-50所示。poem.py"""程序功能:輸出兩首古詩程序名稱:poem.py"""print('勸學')print('唐朝:顏真卿')print('三更燈火五更雞’)print('正是男兒讀書時')print('黑發(fā)不知勤學早')print('白首方悔讀書遲')print()print('*'*48)print('憫農')print('唐:李紳')print('鋤禾日當午,','汗滴禾下土。','誰知盤中餐,','粒粒皆辛苦。')1.3.3相關知識編寫的程序一般都是來處理數據的,基本遵循輸入數據、處理數據和輸出數據這個流程,這就形成了基本的程序編程方法—IPO方法。(1)I即Input(輸入)(2)P即Process(處理)(3)O即Output(輸出)1.print()函數print()函數用于打印輸出。該函數語法如下:print(value,…,sep='',end='\n',file=sys.stdout,flush=False)●value:要輸出的對象。輸出多個對象時,各對象間用半角的逗號(,)分隔。●sep:用來間隔多個輸出對象,默認值是一個空格。●end:用來設定輸出行以什么結尾。默認值是換行符\n,可以換成其他字符串。1.print()函數●file:設置輸出內容要寫入的文件對象,默認為系統標準輸出。系統標準輸出是輸出到屏幕。●flush:用于控制是否立即刷新緩沖區(qū)數據到輸出設備。在默認情況下(即flush=False),只有當print()函數遇到換行符或者緩沖區(qū)滿時,輸出信息才會被發(fā)送到輸出設備。如果設置flush值為True,執(zhí)行print()函數時,不等到緩沖區(qū)滿或是否遇到換行符,輸出信息都會立即輸出到輸出設備上。參數sep、end、file、flush必須以關鍵字參數的形式傳遞實際參數(簡稱實參),2.input()函數2.input()函數input()函數用于接收用戶的輸入,默認接收的是鍵盤輸入。

3.help()函數help()函數用于查看數據類型、函數或模塊用途的詳細說明3.help()函數help()函數用于查看數據類型、函數或模塊用途的詳細說明。該函數語法如下:help([object])object為可選參數,指定要獲取幫助信息的對象。如果不傳遞任何參數,則會啟動交互式幫助模式,允許用戶瀏覽和搜索Python文檔。查看Python幫助help([object])>>>help('sys')#查看sys模塊的幫助>>>help('str')#查看str數據類型的幫助>>>a=[]>>>help(a)#查看列表list幫助信息>>>help(a.append)#顯示list的append方法的幫助help()用于查看函數或模塊用途的詳細說明。4.dir()函數4.dir()函數dir()函數不帶參數時,返回當前范圍內的變量、方法和定義的類型列表;帶參數時,返回參數的屬性、方法列表。dir([object])查看Python幫助函數不帶參數時,返回當前范圍內的變量、方法和定義的類型列表;帶參數時,返回參數的屬性、方法列表。dir([])dir(str)dir([object])查看某個對象擁有的方法和屬性名稱

模塊2基本數據類型學習目標掌握Python數據類型的分類,認識基本數據類型知道什么是變量和常量掌握賦值語句掌握數字類型,熟練使用運算符實現常見的數值運算會定義字符串,熟練使用字符串常用方法和函數會格式化字符串,會使用字符串切片任務2-1輸出個人信息常量21變量34目錄數據類型賦值語句任務2-1輸出個人信息編寫“輸出個人信息”的程序,程序名為example211.py,程序編寫要求如下:1)為程序添加合適的注釋信息;2)定義與個人信息相關的變量,如姓名、性別、年齡、身高等;3)輸出個人信息,參考格式如下:任務實施1.編程分析根據編程的IPO方法,可以將程序思路描述如下:輸入數據:本列中的輸入數據是在程序中直接給各變量賦值。處理數據:本例中不需要對數據特別處理。輸出數據:將處理后的數據使用print()函數輸出到控制臺。2.程序代碼"""程序名:example211.py;功能:輸出個人信息"""name='張建國' #給變量name賦值為'張建國'age=18 #給變量age賦值為18sex='男'height=1.78print('{:*^20}'.format('輸出個人信息')) #使用format方法來格式化輸出print() #輸出換行print(f'姓名:{name}') #使用簡潔格式輸出姓名print(F'年齡:{age}')print('性別:{0:^4}身高:{1:<6}'.format(sex,height))2.1.3相關知識1.變量變量是占用內存空間的數據存儲區(qū)域。Python中的變量是通過賦值運算來創(chuàng)建的,不需要先聲明變量名及類型。Python中的變量類型是可以改變的變量類型是由變量的值決定的函數id(變量名)可以返回變量所指向的地址值。1.變量---變量的命名變量的命名一定要遵守Python的標識符的命名規(guī)則,除此之外還要注意以下事項:(1)變量名區(qū)別大小寫字母。Age與age是不同的變量名。(2)變量要簡短且有描述性。如student_age比s_a好。(3)變量名中最好不要使用中文。(4)變量名不能與Python內置的保留字相同。(5)變量名中不能有空格,可以使用下劃線來分隔變量名中的單詞,如student_name。1.變量---關鍵字在編程語言中有特殊含義的英文單詞稱為“保留字”,也稱為“關鍵字”>>>importkeyword#導入keyword庫>>>keyword.kwlist['False','None','True','and','as','assert','async','await','break','class','continue','def','del','elif','else','except','finally','for','from','global','if','import','in','is','lambda','nonlocal','not','or','pass','raise','return','try','while','with','yield']2.常量常量即在編程時,使用它字面意義上的值或內容。如59,100就表示它字面上的意義,它的值是不能改變的;如“Lifeisshort,usepython”是一個字符串常量;如False、True是Python中bool類型的常量,分別表示假和真,不可以改變。3、數據類型現實世界中的數據有明顯的分類銀行存款利率是限小數數學中的π無限不循環(huán)小數年齡是非負整數姓名一般是文本為了表示和區(qū)分這些各種各樣的數據,編程語言對數據進行分類,設計出各種各樣的數據類型Python內置對象的數據類型內置對象的數據類型簡單類型數值類型整型浮點型復數布爾類型字符串容器類型列表元組字典集合3.賦值語句---賦值語句的基本形式左邊是變量名,可以是多個變量名右邊是表達式,表達式即為通過各種運算符將常量、變量等連接起的式子,如a*b+100,a>b,a,len(s)...變量名=表達式4.賦值語句賦值語句將執(zhí)行兩個動作,一是將表達式值存儲在內存單元中,二是將變量指向該內存單元。3.賦值語句---賦值語句的基本形式Python不需要對變量進行先聲明其類型變量賦值后就確定了變量的類型,即變量值的類型確定變量的類型在使用變量過程中可以隨意改變變量的值,變量類型隨著其值類型的變化而變化變量名=表達式3.賦值語句---賦值語句格式變量名=表達式例:>>>

a='我愛我的祖國'>>>b=a>>>dela>>>print(b)我愛我的祖國下面這些賦值語句正確嗎?100=x+yx+y=2005x=200-y賦值語句格式變量名=表達式賦值語句創(chuàng)建的是對一個對象的引用,也可以說變量存儲的是數據在內存中的地址

;將一個變量賦值給另一個變量時,實際創(chuàng)建的是兩個指向同一個對象的指針。

可使用id()函數來查看變量中存儲的地址。賦值常見形式---1、整體賦值num=100str1='我喜歡程序設計'ls=[10,20,30,40]dict1={'name':'rose','gender':'female','age':18}tuple1=(10,20,20,30)set1={10,40,50,20}變量名=值賦值常見形式---2、分解賦值1num1,num2=100,90[name,sex]='jack','man'(a,b,c)='ABC'a,b,c='250'分解賦值時一定要注意賦值號(=)左右的元素數目要匹配,否則會出現錯誤a,b,c='Python'×str='Python'a,b,c=str[0],str[2],str[1]賦值常見形式---2、分解賦值2利用分解賦值可以交換兩個變量的值x,y=10,20x,y=y,xprint('x={0:>3},y={1:>3}'.format(x,y))上面程序段的輸出結果為:x=20,y=10賦值常見形式---3、擴展序列包賦值擴展序列解包,使得賦值號左側變量數量可以少于右側數據的項數,方法是使用一個帶有單個星號的變量名,它可以收集沒有給其他變量賦值的所有數據內容。a,b,*c='Python'或*a,b,c='Python',a,*b,c='Python'請問a,b,c的值各是多少?賦值常見形式---3、擴展序列包賦值seq=[1,2,3,4]a,*b=seqseq=[1,2,3,4]*a,

b=seqa,*b='Python'請問a,b值各為多少?則a值為1,b值為[2,3,4]則a值為[1,2,3],b值為4seq=[1,2,3,4]a,

b,*c=seq則a為1,b為2c為[3,4]a='P',b=['y','t','h','o','n']賦值常見形式---4、多重賦值(從右到左)多重賦值也稱為鏈式賦值,是在同一行語句中給多個變量賦予相同的值

,執(zhí)行時從右向左執(zhí)行>>>x=y=z=100>>>x=x+10>>>print(x,y,z)賦值常見形式---4、多重賦值(從右到左)多重賦值是使多個變量指向同一個數據位置的賦值多重賦值時,如值是可變數據類型(如列表、字典),如果通過一個變量修改了數據,其他變量的值也會相應的改變>>>ls1=ls2=ls3=[]>>>ls1.append(100)>>>print(ls1,ls2,ls3)賦值常見形式---5、增強賦值增強賦值是賦值運算符與其它運算符相結合來使用,更簡潔執(zhí)行速度更快>>>x=y=10>>>x*=y+50>>>y/=100常用的增強賦值運算符有:+=-=*=/=//=**=%=^=&=|=x=x*(y+50)y=y/100賦值常見形式---5、增強賦值增強賦值是賦值運算符與其它運算符相結合來使用,更簡潔執(zhí)行速度更快>>>x=y=10>>>x*=y+50>>>y/=100常用的增強賦值運算符有:+=-=*=/=//=**=%=^=&=|=x=x*(y+50)y=y/100小結1、整體賦值ls=[1,20,40,60]2、分解賦值num1,num2=[20,40]3、鏈式賦值(多重賦值)num1=num2=1004、增強賦值num1*=num2+505、擴展序列包賦值num1,*num2=[20,30,40,10]變量名=表達式任務2-2

計算兩個數的加減乘除運算符21數字類型34目錄數學模塊math數據類型轉換函數任務概述編程實現:接收用戶輸入的兩個數,并將其分別保存在變量num1、num2中,然后求出這兩個數和、差、積、商、商的整數部分及余數、num1的3次冪并輸出,比較兩個數的大小并輸出結果。請使用字符串格式化來美化程序輸出,程序輸出結果要清晰、美觀,程序命名為calculate.py程序代碼#程序功能:計算兩個數的+、-、*、/等運算,程序名稱:calculate.pyprint('程序功能:計算兩個數的+、-*、/等運算')num1=eval(input('請輸入第1個數:'))num2=eval(input('請輸入第2個數:'))print(num1,'+',num2,'=',num1+num2)#這種寫法較繁鎖,最好使用字num3=num1-num2#求出num1減去num2的值并賦值給numprint(f'{num1}-{num2}={num3}')num3=num1*num2#求出num1乘num2的值并賦值給num3print(F'{num1}*{num2}={num3}')num3=num1/num2print('%-4d/%-4d=%-4f'%(num1,num2,num3))num3=num1//num2print("{}//{}={}".format(num1,num2,num3))print("{0:<4d}%{1:<4d}={2:^4d}".format(num1,num2,num1%num2))print("{:<4d}的3次冪={:<4d}".format(num1,num1**3))print("100>33值為",100>33)相關知識

1、數字類型整型100789浮點型99.0-30.62.5e+4復數類型3+2j3.5-1.8j布爾型TrueFalse2.

整型Python中使用4種進制表示整型進制標志符數碼例二進制八進制十進制十六進制0B0b010b10100B10110O0o0,1,2,3,4,5,6,70O765默認表示方法0至97889.780Xox0,1,2,3,4,5,6,78,9,A,B,C,D,E,F0X23AC3.浮點型浮點數一般以十進制形式表示對于較大或較小的浮點數,可以使用科學計數法表示,ne+mnE-mm必須為整數num_one=3.1415 #十進制形式表示num_two=2.5e2 #科學計數法表示num_third=2e-2 #科學計數法表示4、復數類型復數有以下3個特點:復數由實部和虛部構成,其一般形式為:real+imagj。實部real和虛部的imag都是浮點型。虛部必須有后綴j或J。例:num=35.7+89jprint(num.real,num.imag)利用complex()可以創(chuàng)建復數num=complex(7.8,9)5、布爾類型Python中的布爾類型(bool)只有兩個取值:True和False。Python中的任何對象都可以轉換為布爾類型符合以下條件的數據都會被轉換為False,其它都會轉換為TrueNone;任何為0的數字類型,如0、0.0、0j;任何空序列,如

""、()、[];任何空字典,如{};用戶定義的類實例,如類中定義了__bool__()或者__len__()。bool()可以使用bool()函數檢測對象的布爾值。查看數據類型使用type()函數可以查看對象的數據類型type('自尊')type({})type(None)type(60/4)m=89+90type(m)type(8+9j)6.運算符編程中常用到表達式。Python中的表達式就是用圓括號、數字、字符串、變量和各類運算符號綜合在一起的式子,計算可以得到一個值,如100+(a+b)**2+b//a。算術運算符運算符描述舉例(a=20,b=30)+加,兩個操作數相加,也可作為正號列表、字符串、元組和集合都可以進行+操作a+b值為50-減,兩個操作數相減,也可作為負號a–b值為-10*乘,兩個操作數相乘a*b值為600**冪運算,a**b即為a的b次冪a**3值為8000%取模,即求余數b%a值為10//整除,即取商的整數部分,與floor()函數功能一樣b//a值為1表2-2常用算術運算符表2-3常用關系運算符(或比較運算符運算符描述舉例(a=20,b=30)==判斷兩個操作數是否相等a==b值為False!=判斷兩個操作數是否不相等a!=b值為True<、<=小于、小于等于a<b值為True,a<=b值為True>、>=大于、大于等于a>b值為False,a>=b值為False邏輯運算符運算符描述舉例(a=True,b=False)and邏輯與,x

andy,若x為False,返回x,否則返回y即哪個操作數決定式子的值,即返回這個操作數的值aandb值為b的值or邏輯或,x

or

y,若x為True,返回x,否則返回y即哪個操作數決定式子的值,即返回這個操作數的值aorb值為a的值not邏輯非,notx,若x為True,返回False,否則Truea<b值為True,a<=b值為True測試運算符運算符描述舉例(a='C',b='China')in在指定的序列中找到相應的值,找到則返回True,否則為Falseainb值為Truenotin在指定的序列中沒有找到相應的值,則返回True,否則為Falseanotinb值為Falseis對象一致性測試,一致則為True,否則為Falseaisb值為Falseisnot對象不一致性測試,不一致則為True,否則為Falseaisnotb值為True7.運算符的優(yōu)先級序號運算符舉例1單目運算(或一元運算)+,-+10-202**num**310**-23*,/,%,//100

//

9

/34<,>,==,!=,<=,>=100

90

>

3值為True5notnot100–90>3值為False6is,isnotnum1isnum27in,notin'good'in'hi,gogood'值為True8and10**-2and3>5-4值為True9or60<30or5+10值為158.數學模塊math在編程中,如需進行復雜的數學運算,例如求平方根、求對數、求三角函數等等,可使用Python提供的數學模塊math。要使用math模塊,需先導入該模式,語句如下:importmathmath模塊中的數學常數數學常數數學符號說明piπ圓周率,ee自然對數inf∞正無窮大,負無窮大為-math.infnan

nan,即"notanumber",在python中被用作浮點數的一種特殊值。它的主要作用是表示一個無法表示為數字的數字值,例如由于除0操作而導致的結果。9.數據類型轉換函數函數功能舉例int(x)將參數x的值轉換為整數作為函數的返回值

x可以浮點數,也可以是只有整數的字符串int(8.828)值為8int('100')值為100int('100.89')這個會出錯,因這個字符串中的數不是整數int(100.89)值為100float(x)將參數x的值轉換為浮點數,作為函數的返回值

x可以數字類型,也可以是只有數字的字符串float(100)值為100.0float('100.89')值為100.89str(x)將參數x的值轉換為字符串,作為函數的返回值str(100)值為'100'str(7/2)值為'3.5'任務2-3輸出個人信息和向祖國表白信息字符串基本操作符21字符串類型34目錄索引常用字符處理函數和處理方法任務概述編寫“輸出個人信息和向祖國表白信息”的程序,程序名為example231.py,程序主要功能要求如下:(1)接收用戶輸入的姓名、年齡、喜歡的編程語言及對祖國的表白(中文和英文兩種);(2)根據用戶輸入信息,如用戶輸入姓名是張華,年齡為18,編程語言是Python,則在屏幕輸出“張華今年18歲,張華喜歡Python程序設計語言”;(3)將用戶對祖國的英文表白分別以全部大寫、全部小寫、每個單詞首字母大寫、語句的第一個字母大寫輸出顯示;(4)將用戶對祖國的中文表白以各漢字間以一個*號拼接輸出,例如“祖*國*我*愛*您*!”;(5)判斷“中國”是否在用戶的中文表白中;(6)輸出用戶的兩種表白文本長度;相關知識1字符串的定義(String)(

)一組字符(Characters)的有序序列(Sequence),是任何字符進行的隨意組合。字符串由一對單引號、雙引號或三引號引起來字符串類型是一種不可改變的數據類型不可以原地改變字符串的內容,改變后即生成另一個字符串字符串可以整體修改1字符串的定義(String)從python3起,字符串都是unicode字符串,每個英文字符和中文字都是一個字符.字符串常量1、單行字符串:單行字符串包含在一對單引號或一對雙引號中。(2種方法)

‘123’“helloworld”2、多行字符串:以一對三單引號或三雙引號作為邊界來表示。(2種方法)'''請輸入帶有符號的溫度值:

符號為F或C'''"""我愛偉大的祖國"""字符串常量表示方法(兩種4類)問題:一字符串的內容如下:"Yes,This'sagirl"該如何把該字符串賦值給一個變量例子:請用四種字符串表示法將下面語句(注意語句中的標點符號都是英文半角的)賦值給4個變量,變量名自定,然后輸出。Chaplinsaid:"Youhavetobelieveinyourself.Thatisthesecretofsuccess."人必須靠自己,這是成功的秘訣。——查理·卓別林問題:?如單引號或雙引號要作為一個字符串內的字符,或單引號和雙引號同時作為字符串內的字符,該如何表示這個字符串?方法一:使用三對單引號或雙引號來表示這個字符串"""Thesentence"HelloWorld"isstillhere"""方法二:使用單引號'Thesentence"HelloWorld"isstillhere‘方法三:使用轉義字符"Thesentence\"HelloWorld\"isstillhere"轉義字符轉義字符(P31):特殊字符“\”的作用是取消其后面字符原有的意義。如單引號(’)和雙引號是字符串常量開頭和結束的標志如輸出的內容需要有這兩種字符,則可以使用轉義字符print(“\”Yes,it\‘sagirl.\“”)print("c:\\new")\n:換行\(zhòng)r:回車如果字符串常量以r(或R)開頭,則系統將其中所有內容均視為普通的字符轉義字符轉義字符含義轉義字符含義\a響鈴\'單引號(')\b退格\"雙引號(")\f換頁\\反斜杠\n換行\(zhòng)t水平制表符\r回車\v垂直制表符\(反斜杠)如果字符串較長時,輸入時需要分多行輸入時,可以在非末行的行尾添加“\”,這樣表示該行的字符串和下一行是連續(xù)的常見錯誤s="IlikePython'SyntaxError:EOLwhilescanningstringliteral語法錯誤:當掃描字符文本串結尾時序列通用基本操作符操作符說明示例+序列加,兩個連成一個a+b,結果為Helloworld

*序列乘,重復序列內容a*2,結果為HelloHello

>,<,==,!=,>=,<=比較序列a==b,結果為False

in,notin成員檢測檢查序列中是否存在或不存在某個子串ainb,結果為False

anotinb,結果為True以

a=“Hello”,b=“world”為例:

字符串拼接操作符+“+”運算符實現兩個字符串的拼接,序列類型都可以進行+操作>>>

str1='現代工匠精神的內涵:

'>>>

str2='執(zhí)著專注,精益求精,一絲不茍,追求卓越。'>>>

print(str1+str2)現代工匠精神的內涵:執(zhí)著專注,精益求精,一絲不茍,追求卓越。>>>

print([1,2]+[4,3])#利用+運算對列表進行拼接[1,2,4,3]字符串復制操作符*“*”運算符實現復制字符串n次,其他序列類型也可以進行該復制操作>>>print('讀書百遍,其義自見。'*3)讀書百遍,其義自見。讀書百遍,其義自見。讀書百遍,其義自見。>>>print([1,2]*3)[1,2,1,2,1,2]in和notinin判斷一個字符串是否在一個字符串序列中如果屬于序列中,則返回True,否則返回Falsenotin判斷一個字符串是否不在一個字符串序列中如果不在序列中,則返回True,否則返回FalseR/r原始字符串控制符號在字符串前加上R或r,表示字符串的原來的含義,轉義字符不起作用。3.索引序列類型對象中的每個元素都對應有位置編號,這個位置編號稱為索引或下標。索引有正向索引和反向索引。正向索引自左到右,從0開始依次增加1。反向索引自右到左,從-1開始依次遞減1。通過索引訪問不同位置的字符語句格式:字符串[索引號]正向遞增索引(從左到右)和反向遞減索引(從右到左)4.常用字符串處理函數函數功能len(x)返回字符串x的元素個數,x也可以是其他組合數據類型。ord(char)返回單個字符char的Unicode編碼。str(x)返回任何類型數據x對應的字符串形式。eval(string)eval()函數是去掉參數字符串最外層的引號,并以Python表達式方式執(zhí)行去掉引號后的字符串。

該函數常與input()函數一起使用,用來獲取用戶輸入的數字。

例如:num

=eval(input('請輸入成績:'))max(string)返回字符串string中unicode編碼值最大的字符。min(string)返回字符串string中unicode編碼值最小的字符。函數len()格式:len(字符串)min(),max()min():返回序列中最小值max():返回序列中最大值max("abcA")max([40,70,20]5.常用字符串處理方法方法與函數的調用方式不同函數是直接以“函數名(實參)”形式調用而方法的調用是使用點的方法的調用。字符串方法的調用格式如下:字符串常量(或變量)str='python‘str.upper()'python'.title()方法調用必須點的形式來調用,方法是面向對象編程中特有的名詞。方法也是函數方法不會改變原字符串的值,調用這些方法都會生成新的字符串.方法名()1連接字符串方法(join)調用方法:string.join(sequence)sequence作為分隔符連接指定的序列sequence,返回組合后的新字符串2分割字串符(split)調用方法:string.split(sep,[maxsplit])sep:指定的分割串字符的分隔符,如缺省則表示以空格分隔maxsplit:用于指定返回的結果列表中的元素索引的最大值常用于對英文文本的詞匯分割3、查找和替換字符串方法方法功能str.count(x)返回字符串x在字符串str中出現的次數str.find(sub[,start[,end]])從左向右在字符串str中查找子字符串sub,如找到,則返回字符串sub的第一個字符在字符串str中的位置索引,否則返回-1。

start表示查找開始的索引位置,end指定查找結束索引位置str.rfind(sub[,start[,end]])該方法與find()方法類同,只是從右向左查找str.index(sub[,start[,end]])在字符串str中查找子字符串sub,如找到,則返回字符串sub的第一個字符在字符串str中的位置索引,否則返回異常錯誤:“ValueError:substringnotfound”str.replace(old,new,count=-1)將字符串str中的old字符串使用new字符串取代生成新的字符串,作為方法的返回值。

count設置替換的次數,默認值為-1表示全部替換。字符串替換方法(replace)[r??ple?s]調用方法:string.replace(oldstr,newstr)用新串newstr替換原字符串中的oldstr,前提是原字符串中有相應的oldstrstr1='Hello,,,world!!!'

str2="HELLO"

print(str1.replace(',','

'))

print(str2.replace('L','MM'))案例:編程完成以下功能(1)接收用戶輸入一首詩的文本,內部包含中文逗號和句號。(2)用jieba庫的精確模式對輸入文本分詞。(3)將分詞后的詞語輸出并以"/"分隔;統計中文詞語數并輸出。示例如下(其中數據僅用于示意)∶輸入:月亮河寬寬的河,一天我從你身旁過輸出:月亮/河/寬寬的/河/一天/我/從/你/身旁/過/中文詞語數是:104、從字符串中刪除空格或指定符號的方法str.strip():刪除str前后的空格或指定的字符[str?p]str.lstrip():刪除str開頭的空格或指定的字符str.rstrip():刪除str尾部的空格或指定的字符

18.以下語句執(zhí)行結果是()。s=‘北京,上海,廣州,深圳,’print(s.strip(',').replace(',',';'))A.北京;上海;廣州;深圳;B北京上海廣州深圳C.北京;上海;廣州;深圳,D.北京;上海;廣州;深圳lower():轉換為小寫upper():轉換為大寫title():每個單詞首字母大寫capitalize():整個字符串首字母大寫swapcase():反轉大小寫5、大小寫轉換方法str1='Helloworld!'str2="HELLO"str3=str1.capitalize()str4=str1.title()print(str1.upper())print(str2.lower())print(str1.title())print("IlikePython".swapcase())6、填充字符串center()center(width,fillchar=None)

:使用字符fillchar以居中對齊方式填充字符串,使其長度變?yōu)閣idth;rjust(width,fillchar=None)

:使用字符fillchar填充左邊,字符串右對齊,使其長度變?yōu)閣idth。ljust(width,fillchar=None)

:使用字符fillchar填充右邊,字符串左對齊,使其長度變?yōu)閣idth。判斷字符串中字符的類型方法功能str.isdecimal()判斷字符串str是否只包含十進制數字(包括Unicode數字、單字節(jié)數字、雙字節(jié)全角數字,不包括羅馬數字、漢字數字、小數),是則返回True,否則返回Falsestr.isdigit()判斷字符串str是否為數字字符(包括Unicode數字,單字節(jié)數字,雙字節(jié)全角數字,不包括漢字數字,羅馬數字、小數),是則返回True,否則返回Falsestr.isnumeric()判斷字符串str中所有字符是否均為數值字符(包括Unicode數字、雙字節(jié)全角數字、羅馬數字、漢字數字,不包括小數),是則返回True,否則返回Falsestr.isalpha()判斷字符串str所有字符是否都是字母,是則返回True,否則返回Falsestr.isalnum()判斷字符串str所有字符是否都是字母或數字,是則返回True,否則返回False字母大小寫轉換方法方法功能str.lower()將字符串str內容全部小寫,并將轉換后的新字符串作為返回值str.upper()將字符串str內容全部大寫,并將轉換后的新字符串作為返回值str.swapcase()將字符串str內容大小寫字母互換,并將轉換后的新字符串作為返回值str.capitalize()將字符串str內容轉換為首字母大寫其他字母小寫的字符串,并將轉換后的新字符串作為返回值str.title()將字符串str內容中每個單詞的首字大寫,并將轉換后的新字符串作為返回值字符串填充方法功能str.center(width,fillchar=None)將字符串str內容按指定width寬度居中對齊,兩側填充指定的fillchar使其長度變?yōu)閣idthstr.ljust(width,fillchar=None)將字符串str內容按指定width寬度左對齊,右側填充指定的fillchar使其長度變?yōu)閣idthstr.rjust(width,fillchar=None)將字符串str內容按指定width寬度右對齊,左側填充指定的fillchar使其長度變?yōu)閣idth移除字符串指定的方法方法功能str.strip(chars=None)移除字符串str首尾指定的字符chars,chars默認值為空字符str.lstrip(chars=None)移除字符串str開頭指定的字符chars,chars默認值為空字符str.rstrip(chars=None)移除字符串str尾部指定的字符chars,chars默認值為空字符任務2-4字符串切片和字符串格式化任務概述錄入并調試下面代碼,結合相關知識,理解各語句的含義,掌握字符串格式化常用的方法。相關知識

2、切片:(很重要,高級應用中常用)切片:利用切片可以截取序列對象中的一部分內容。格式1:字符串[A:B]格式2:字符串[A:B:C增量]切片索引左閉右開,即切片所取范圍是大于等于A而小于B如果增量為正,切片從左往右,如為負,則從右往左切片切片格式2應用1、字符串[A:B:C]如A省略,表示從開頭起如果B省略,表示至結尾如果C省略,表示增量是1

選擇題設str1='*@python@*',語句print(str1[2:].strip(@'))的執(zhí)行結果是()。A.python@*Bpython*C.*@python@*D.*python*練習練習17.以下語句執(zhí)行結果是()。s='HelloWorld’print(s[5::-2])A.drWBolHc.WleD.looC【解析】本題考核的是字符串的切片,步長為負代表從后往前,起始點索引為5即代表從“W"開始切割,結束位置省略,代表切割剩下的所有位置,及從"W”,以步長為2,從后往前進行切割。最后結果為“Wle”利用切片實現逆序排列字符串格式:字符串[::-1]2、字符串格式化字符串格式化,指的是就是按照一定的格式輸出字符串。方法1:使用格式符(%)對字符串格式化方法2:使用format()方法對字符串格式化方法3:f-string格式對字符串格式化的三種方法%格式化字符串使用%格式化字符串時,共有3部分組成:模板字符串(即要輸出的字符串)、%和一個包含要替換的值的元組,語句格式如下:<模板字符串>

%

(元素1

,元素2,……,元素n

)>>>'我叫%s,今年%d歲,我喜歡%s。'

%('張華',18,'Python')'我叫張華,今年18歲,我喜歡Python。'>>>name='李明'>>>'%s學習很努力'

%name'李明學習很努力'%格式化操作符的基本格式如下:%[(name)][flag][width][.precision]typecode1、使用格式符%對字符串格式化以%對字符串格式化時,%為真實值預留位置,并說明真實值應該呈現的格式。"我叫%s,今年%02d歲了"%('rose',9)第1部分:要呈現的內容%為預留位置第2部分:%第3部分:要替代第1部分%的對象一個對象時,圓括號可省1、使用格式符%對字符串格式化常見的格式符(默認是右對齊)格式符數據類型%c

字符(對應一個字符或數字)%s

字符串%i或%d

有符號十進制整數%o

八進制整數%x

十六進制整數(小寫)%X

十六進制整數(大寫)格式符數據類型%e索引符號(小寫e)%E索引符號(大寫E)%f

十進制浮點數(小寫)%F十進制浮點數(大寫)%g浮點數或指數(%f或%e)%G

浮點數或指數(%F或%E)(2)使用format()方法對字符串格式化<模板字符串>.format(<參數列表>)模板字符串中要使用到“{}”:槽(或占位符號)"我叫{},今年{}歲,我喜歡{}".format('tom',age,'Python'){}在模板字符串中默認順序012012Format參數的順序012(2)使用format()方法對字符串格式化<模板字符串>.format(<參數列表>)模板字符串中要使用到“{}”:槽(或占位符號)"我叫{},今年{}歲,我喜歡{}".format('tom',age,'Python')012槽內格式的配置方式{序號:格式控制符):<填充><對齊><寬度><,><.精度><類型>引導符號用于填充的單個字符<左對齊>右對齊^居中對齊槽設定的輸出寬度數字的千位分隔符浮點小數精度或字符輸出最大長度整數類型bcdoxX浮點類型Eef%格式控制符如下:"我叫{2:*<10},今年{1:=^6}歲,我喜歡{0:>4}".format('tom',10,'Python')練習題1、字符串:編程實現功能:接收用戶從鍵盤輸入字符串s,按要求把s輸出到屏幕,格式要求:寬度為30個字符,星號字符*填充,居中對齊。如果輸入字符串超過30位,則全部輸出。例如:鍵盤輸入字符串s為"Congratulations",屏幕輸出*******Congratulations*******編程:編程:實現以下功能:鍵盤輸入正整數n,按要求把n輸出到屏幕,格式要求:寬度為25個字符,等號字符(=)填充,右對齊,帶千位分隔符。如果輸入正整數超過25位,則按照真實長度輸出。例如:鍵盤輸入正整數n為1234,屏幕輸出====================1,234(3)

f-stringf-string在格式上以f和F引領字符串,字符串中使用{}標明被格式化的變量f-string是在運行時運算求值的表達式,效率上優(yōu)于占位符%和format()方法f-string不需關注變量的類型,需關注變量傳入的位置country='中國'print(f"歡迎你來到{country}")謝謝模塊3列表和元組學習目標掌握序列類型的特點熟練使用字符串、列表和元組會創(chuàng)建列表、嵌套列表和元組會添加、刪除、插入列表元素會排序列表任務3-1創(chuàng)建與操作祖國名勝列表訪問與修改列表21創(chuàng)建列表34目錄列表的基本運算列表推導式任務3-1創(chuàng)建與操作祖國名勝列表我國幅員遼闊,山河壯麗,大好河山數不勝數,旅游資源豐富多樣。將你最渴望去的祖國名勝古跡構建成一個列表,列表至少5處名勝古跡。編程完成以下操作,程序名為places.py。(1)創(chuàng)建列places_list,將你渴望去旅游的祖國名勝古跡名稱存儲在該列表中。(2)輸出整個列表。(3)計算出列表元素的個數并輸出。(4)使用非負數索引讀取列表中第1個和最后1個元素。(5)使用負數索引讀取列表中第1個和最后1個元素。(6)使用切片讀取列表中第2個至第4個元素。(7)更改列表第2個元素值,值自定,如改為“天安門”。(8)輸出列表。任務實施1.程序代碼"""程序名:places.py程序功能:應用列表數據類型管理用戶渴望去的旅游景點清單"""places_list=['長城','布達拉宮','故宮','敦煌莫高窟','蘇州園林']print(f"最渴望去的旅游景點:{places_list}")n=len(places_list)print(f'列表元素個數為:{n}')print(f"列表中第1個和最后1個地名是:{places_list[0]},{places_list[n-1]}")print(f"列表中第1個和最

溫馨提示

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

評論

0/150

提交評論