版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
第2章Python基礎——趙克玲本章目標理解程序設計的基本思想掌握Python語言的基礎語法熟練使用Python官方IDLE的使用掌握JupyterNotebook的使用掌握序列和字典掌握流程控制語句掌握函數(shù)和模塊的定義掌握文件的讀寫操作Python簡介Python是一種面向?qū)ο蟮慕忉屝陀嬎銠C腳本(Shell)語言Python的創(chuàng)始人是GuidovanRossum(吉多·范羅蘇姆)Python英文翻譯為“蟒蛇”的意思Python語言的Logo圖標是兩條蟒蛇Python語言的擁有者是PSF(PythonSoftwareFoundation,Python軟件基金會協(xié)議),PSF是非盈利組織,致力于保護Python語言開放、開源和發(fā)展Python語言的版本更迭2000年,Python2.x2008年,Python3.x更高級別的3.0系列不兼容早期2.0系列2008年至今,版本更迭帶來大量庫函數(shù)的升級替換,Python語言的版本更迭痛苦且漫長到今天,Python3.x系列已經(jīng)成為主流Python語言特點Python語言是通用語言Python語言是腳本語言Python語言是開源語言
Python語言是跨平臺語言Python語言是一種少有的既簡單又功能強大的編程語言,注重如何解決問題而不是語言的語法和結(jié)構(gòu)Python可被應用于下面的領域Web和Internet開發(fā)科學計算和統(tǒng)計人工智能編程教育桌面界面開發(fā)軟件開發(fā)后端開發(fā)Python程序程序是是一組計算機能識別和執(zhí)行的指令集程序的基本組成:輸入:從鍵盤、文件或其他裝置獲取數(shù)據(jù),如input('請輸入一個整數(shù):');輸出:在屏幕上顯示數(shù)據(jù),或者是將數(shù)據(jù)保存到文件或其他裝置中,如print('猜對了!');處理:處理過程有數(shù)學運算、條件判斷、循環(huán)等,例如執(zhí)行加法和乘法等基本的數(shù)學運算;檢查特定條件、判斷并執(zhí)行適當?shù)年愂鲂蛄?;循環(huán)反復執(zhí)行某些操作。九九乘法表下面是一段Python語言編寫的程序,其功能是打印乘法表??梢钥闯?,Python語言語法簡潔、結(jié)構(gòu)清晰。使用JupyterNotebook程序里有三類可能發(fā)生的錯誤:語法錯誤執(zhí)行錯誤語意錯誤調(diào)試程序注釋對于程序來說是必不可少的,其有助于幫助開發(fā)人員了解代碼的含義、模塊的工作過程,有利于提高開發(fā)速度。單行注釋多行注釋注釋
Python中的代碼縮進是必要的!不僅僅是為了代碼更容易閱讀,同時也是語法需要。代碼縮進在程序設計語言中,標識符是一個被允許作為名字的有效字符串。Python中變量、函數(shù)、類、模塊等的命名都要遵循標識符的相關規(guī)定。Python中對標識符的規(guī)定如下:標識符可以由字母、數(shù)字和下劃線組成,但不能以數(shù)字開頭標識符區(qū)分大小寫不能使用Python的保留字做標識符以下劃線開頭的標識符具有特殊意義標識符anddelfromnotwhileaselifglobalorwithassertelseifpassyieldbreakexceptimportprintTrueclassexecinraiseFalsecontinuefinallyisreturndefforlambdatry標識符的命名-關鍵字變量來源于數(shù)學,是計算機語言中能儲存計算結(jié)果或能表示值抽象概念。變量可以通過變量名訪問。變量通常是可變的,但也有可能是不可變的。變量X變量內(nèi)存空間12345Hello,Python!變量名變量的命名必須嚴格遵守標識符的規(guī)定,命名風格統(tǒng)一,做到見名知意。幾種常見的命名規(guī)則:大駝峰(uppercamelcase)小駝峰(lowercamelcase)下劃線(_)分隔變量賦值單變量賦值,即把一個值賦值給一個變量。多變量賦同一個值,即把一個值賦值給多個變量。多變量賦多個值,即把多個值賦值給多個變量。在Python中,定義變量不需要指定類型。
所謂“類型”是變量所指的內(nèi)存中對象的類型。Python中有兩種基礎數(shù)據(jù)類型:數(shù)字和字符串,此外還有序列、映射等?;A數(shù)據(jù)類型
Python支持int、float、bool、complex(復數(shù)),也可以使用二進制、八進制、十六進制表示整數(shù)。數(shù)字(Number)字符串可以理解為是若干字符組成的文本。Python中可以使用單引號(’)、雙引號(”)和三引號(’’’)來表示字符串。字符串(String)對字符串操作很多時候會用到字符串索引。所謂索引,即字符在字符串中的位置。字符串(String)利用索引,字符串可以完成獲取指定位置的字符、字符串切片、字符串拼接、字符串格式化等操作。這些操作都用到了方括號([])。獲取指定位置的字符。如,str[3]獲取字符串中的第4個字符。字符串切片。如,str[3:9]獲取字符串中從第4個字符開始到第10個(但不包括)字符結(jié)束的子字符串。字符串拼接。如,str1+str2會產(chǎn)生由這兩個字符串組成的新字符串。字符串格式化。如,print(“%04d”%12)會輸出0012,即在整數(shù)左側(cè)補0湊足4位。字符串(String)字符串(String)符號描述%c格式化字符及其ASCII碼%s格式化字符串%d格式化整數(shù)%u格式化無符號整型%o格式化無符號八進制數(shù)%x格式化無符號十六進制數(shù)%X格式化無符號十六進制數(shù)(大寫)%f格式化浮點數(shù)字,可指定小數(shù)點后的精度%e用科學計數(shù)法格式化浮點數(shù)%E作用同%e,用科學計數(shù)法格式化浮點數(shù)%g%f和%e的簡寫%G%F和%E的簡寫%p用十六進制數(shù)格式化變量的地址字符串(String)符號描述*定義寬度或者小數(shù)點精度-用做左對齊+在正數(shù)前面顯示加號(+)<sp>在正數(shù)前面顯示空格#在八進制數(shù)前面顯示零('0'),在十六進制前面顯示'0x'或者'0X'(取決于用的是'x'還是'X')0顯示的數(shù)字前面填充'0'而不是默認的空格%'%%'輸出一個單一的'%'(var)映射變量(字典參數(shù))m.n.m是顯示的最小總寬度,n是小數(shù)點后的位數(shù)(如果可用的話)算術運算符運算符運算規(guī)則實例+加,表示兩個對象相加5+7輸出結(jié)果12-減,表示得到負數(shù)或是一個數(shù)減去另一個數(shù)5-7輸出結(jié)果-2*乘,表示兩個數(shù)相乘或是返回一個被重復若干次的字符串5*7輸出結(jié)果35/除,表示兩個數(shù)相除7/5輸出結(jié)果1.4%取模,得到兩個數(shù)相除的余數(shù)7%5輸出結(jié)果2**冪,得到a的n次冪5**2輸出結(jié)果25//取整除,得到商的整數(shù)部分(向下取整)5//2輸出結(jié)果1比較(關系)運算符運算符運算規(guī)則實例==等于,判斷對象是否相等(5==5)返回True(5==4)返回False!=不等于,判斷兩個對象是否不相等(5!=5)返回False(5!=4)返回True>
大于,判斷一個對象是否大于另一個對象(5>4)返回True<
小于,判斷一個對象是否小于另一個對象。(5<4)返回False>=大于等于,判斷一個對象是否大于等于另一個對象,或者說,判斷一個對象是否不小于另一個對象。('123'>='1234')返回False<=小于等于,判斷一個對象是否小于等于另一個對象,或者說,判斷一個對象是否不大于另一個對象。('123'<='abc')返回True賦值運算符運算符運算規(guī)則實例=賦值運算符,將等號右側(cè)的值賦給左側(cè)的對象c=a+b將a+b的運算結(jié)果賦值為c+=加法賦值運算符c+=a等效于c=c+a-=減法賦值運算符c-=a等效于c=c-a*=乘法賦值運算符c*=a等效于c=c*a/=除法賦值運算符c/=a等效于c=c/a%=取模賦值運算符c%=a等效于c=c%a**=冪賦值運算符c**=a等效于c=c**a//=取整除賦值運算符c//=a等效于c=c//a邏輯運算符運算符運算規(guī)則實例and布爾“與”,xandy,當x為False,返回False,否則返回y的計算值20and30,返回30or布爾“或”,xory,當x為True,返回True,否則返回y的計算值20or30,返回20not布爾“非”,notx,如果x為True,返回False,如果x為False,它返回True。not20,返回Falsenot0,返回True運算符優(yōu)先級運算符運算規(guī)則**指數(shù)(最高優(yōu)先級)*、/、%、//乘,除,取模和取整除+、-加法減法<=、<>、>=比較運算符==、!=等于運算符=、%=、/=、//=、-=、+=、*=、**=賦值運算符notandor邏輯運算符表達式表達式是運算符和操作數(shù)所構(gòu)成的序列,其結(jié)果是一個Python對象。單獨的一個值是一個表達式,單獨的變量也是一個表達式Python中還有三元表達式。例如:a=3b=5c=aifa>belseb三元表達式還可以寫成下面的形式(字典和元組在下節(jié)會詳細介紹)。c={True:a,False:b}[a>b]c=(a,b)[a>b]序列及其通用操作
Python中最基本的數(shù)據(jù)結(jié)構(gòu)是序列,序列中每個元素被分配一個序號,即索引。序列中常見的兩種類型是:列表和元組。列表和元組的操作方法類似,主要區(qū)別在于列表是可以修改的,而元組是不能修改的。也就是說,如果要根據(jù)要求來添加、刪除元素,那么列表可能會更好用;而出于某些原因,不想讓序列發(fā)生改變時,使用元組則更為合適。所有序列類型都可以進行某些特定的操作,包括:索引、切片、加、乘以及檢查某個元素是否在序列中存在。此外,Python還提供了計算序列長度、找出最大元素和最小元素的內(nèi)建函數(shù)。列表和元組的聲明在Python中,列表使用中括號([])聲明,元組使用小括號(())聲明。person1是列表,person2是元組,序列中的每個元素之間使用逗號(,)進行分隔。出于某些原因,可能會創(chuàng)建空列表或空元組。利用索引訪問元素序列中的每一個元素都可以用其索引(或負索引)來訪問。切片(獲取部分元素)與字符串切片操作類型,序列也可以進行切片操作。切片是通過冒號(:)隔開的兩個索引來實現(xiàn)。序列加法、乘法(產(chǎn)生新序列)序列加法,即將兩個序列合并為一個新序列。使用的加號(+)運算符。用數(shù)字(n)乘以一個序列會生成新序列,在新序列中,原序列的將被重復n次。檢查元素是否存在為了檢查一個值是否在序列中存在,可以使用in運算符(成員運算符)。這個運算符檢查某個條件是否為真,然后返回相應的值:條件為真返回True,條件為假返回False。元素賦值使用索引和賦值運算符即可為列表中的元素賦值。刪除元素使用del語句即可從列表中刪除指定的元素。切片賦值切片賦值=切片+賦值。切片賦值意味著可以一次給列表中的多個元素賦值。列表方法
方法是一個與某些對象有緊密聯(lián)系的函數(shù),對象可能是列表、數(shù)字,也可能是或者其它類型的對象。一般來說,方法可以這樣調(diào)用:
對象.方法(參數(shù))(1)append()
(6)pop()(2)count()
(7)remove()(3)extend()
(8)reverse()(4)index()
(9)sort()(5)insert()列表和元組的相互轉(zhuǎn)化列表和元組之間可以相互轉(zhuǎn)化。可以使用tuple函數(shù),將列表轉(zhuǎn)化為元組,也可以使用list函數(shù),將元組轉(zhuǎn)化為列表。字典另一個非常有用的Python數(shù)據(jù)結(jié)構(gòu)是字典。序列是以連續(xù)的整數(shù)為索引,與此不同的是,字典以關鍵字為索引,關鍵字可以是任意不可變類型,通常用字符串或數(shù)值。如果元組中只包含字符串和數(shù)字,它也可以作為關鍵字。理解字典的最佳方式是把它看作無序的鍵值對(key-value)集合,鍵必須是互不相同的(在同一個字典之內(nèi))。創(chuàng)建字典字典是有多個鍵及與其對應的值構(gòu)成的鍵值對組成的。每個鍵和它的值之間用冒號(:)分隔,鍵值對之間用逗號(,)隔開。使用大括號({})來創(chuàng)建字典。也可以使用dict函數(shù)來創(chuàng)建字典。字典的基本操作字典方法:(1)clear()(2)copy()(3)fromKeys()(4)get()(5)items()、keys()、values()(6)pop()和popitem()(7)update()流程控制語句常用的流程控制語句有:條件語句(if)循環(huán)語句(while)條件語句條件語句可以讓程序可以選擇是否執(zhí)行某些語句塊。單分支:if語句雙分支:if…else語句多分支:if…elif…else語句if語句
if語句可以實現(xiàn)條件執(zhí)行。即如果條件為真,那么后面的語句塊就會被執(zhí)行。如果條件為假,語句塊就不會被執(zhí)行。if語句的基本形式:
if判斷條件:
執(zhí)行語句If_else語句句
else子句作為if語句的一部分,用來處理判斷條件不正確的情況。
if判斷條件:
執(zhí)行語句else:
執(zhí)行語句2elif子句當判斷條件為多個值時,可以elif子句,它是elseif的縮寫。其形式如下:
if判斷條件1:
執(zhí)行語句1elif判斷條件2:
執(zhí)行語句2elif判斷條件3:
執(zhí)行語句3else:
執(zhí)行語句4循環(huán)語句循環(huán)語句的作用是讓程序重復執(zhí)行多次。正如猜數(shù)字的小游戲,如果用戶沒有猜中正確的數(shù)字,程序就會不停的運行。while語句在判斷條件為真的情況下,循環(huán)執(zhí)行while后面的語句塊,以處理需要重復處理的相同任務。其執(zhí)行過程可以用下圖描述。
while循環(huán)的基本結(jié)構(gòu)如下:
while判斷條件:執(zhí)行語句for語句
while循環(huán)非常靈活,它可以用來在任何條件為真的情況下重復執(zhí)行一個代碼塊。一般情況下這樣可以了,但對于序列、映射這樣的數(shù)據(jù)結(jié)構(gòu)(可迭代,即可按照一定次序訪問的對象),for循環(huán)更為合適。for循環(huán)的基本結(jié)構(gòu)如下:
forloop_variable
in集合:
執(zhí)行語句跳出循環(huán)一般來說,循環(huán)會一直執(zhí)行到條件為假或者序列元素用完時結(jié)束。但有些時候,可能會提前中斷一次循環(huán)繼續(xù)進行下一輪循環(huán),或者就此跳出循環(huán)。break語句
break語句用來跳出(結(jié)束)循環(huán)。continue語句
continue語句用來結(jié)束本次循環(huán)繼續(xù)下一次循環(huán),而非像break語句那樣直接結(jié)束循環(huán)。函數(shù)與模塊到目前為止所編寫的程序都比較短小,如果想編寫大型程序,很快就會遇到麻煩。比如,已經(jīng)編寫了一段比較復雜的代碼(從中國天氣網(wǎng)獲取當前的氣象數(shù)據(jù)),如果程序的多個地方都需要用到這些代碼,該怎么辦呢?重寫一遍?復制一遍?
真正的程序員是不會這么做的,因為他們都很“懶”。函數(shù)函數(shù)是組織好的、可重復使用的、用來實現(xiàn)單一或相關聯(lián)功能的程序塊,它可以將一些數(shù)據(jù)(參數(shù))傳遞進程序塊進行處理,然后返回一些數(shù)據(jù)(返回值)。當然,也可以只處理數(shù)據(jù)不返回結(jié)果。
函數(shù)實現(xiàn)了對程序邏輯功能的封裝,是程序邏輯的結(jié)構(gòu)化、過程化的一種方法。
例如,當獲取用戶輸入時,可以使用input函數(shù),計算列表長度時,可以使用len函數(shù),這些都是Python的內(nèi)建函數(shù)。
由用戶自己創(chuàng)建的函數(shù)被稱為用戶自定義函數(shù)。函數(shù):定義函數(shù)定義函數(shù)的語法如下:deffunction_name(parameters):"函數(shù)_文檔字符串"function_suitereturn[expression]函數(shù):定義函數(shù)定義函數(shù)的規(guī)則:函數(shù)使用def關鍵聲明,后面是合法的函數(shù)名以及參數(shù)列表;參數(shù)列表可以包含多個參數(shù),用逗號(,)分隔;函數(shù)內(nèi)容代碼塊要有縮進;函數(shù)內(nèi)容代碼塊的第一行字符串被稱為文檔字符串;函數(shù)利用return語句返回值,不帶表達式的return語句返回None。函數(shù):調(diào)用函數(shù)當再需要計算階乘的時候,就可以像下面這樣調(diào)用函數(shù):函數(shù):遞歸(在函數(shù)內(nèi)調(diào)用函數(shù)自己)仔細分析階乘的算法,可以發(fā)現(xiàn):n!=n×(n–1)!。那fact函數(shù)就可以做如下的修改:函數(shù)參數(shù)很多時候需要像函數(shù)傳遞數(shù)據(jù)(參數(shù))進行處理,函數(shù)fact中的n就是一個參數(shù)。
參數(shù)可有可無、可多可少,取決于具體的問題。
當參數(shù)較多時,給每個參數(shù)賦予有意義的名字就顯得尤為重要了。函數(shù)參數(shù)目前看到的函數(shù)調(diào)用,都是根據(jù)參數(shù)的位置來傳遞參數(shù)的,這叫做位置參數(shù)。
實際上,很多時候,參數(shù)的名字更加重要,特別是在參數(shù)較多、參數(shù)有默認值的情況下。
通過使用參數(shù)名提供的參數(shù)被稱為關鍵字參數(shù)。模塊Python模塊(Module),是一個Python文件,以.py結(jié)尾,包含了Python對象定義和Python語句。模塊幫助程序員有邏輯地組織Python代碼。模塊可以被其它Python程序?qū)耄允褂迷撃K中的對象、函數(shù)等提高開發(fā)效率。導入整個模塊
5的平方根怎么計算?sin(60)的值是多少?Pythonmath模塊提供了許多數(shù)學運算函數(shù)。要使用該模塊中的函數(shù),首先要導入模塊。import語句用來導入模塊。模塊:導入函數(shù)也可以根據(jù)實際需要導入模塊中一個或幾個函數(shù)。模塊:指定別名如果導入的模塊、函數(shù)與當前程序中的函數(shù)發(fā)生名稱沖突,或者模塊、函數(shù)名字太長影響使用,可以使用as語句給模塊、函數(shù)指定別名。文件文件是指記錄在存儲介質(zhì)上的一組相關信息的集合。在Windows操作系統(tǒng)下,文件名由文件主名和擴展名組成。例如:readme.txt作為文件名時,readme是文件主名,.txt是文件擴展名,通常文件擴展名與某個應
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 糧庫新材料應用研究方案
- 工地施工現(xiàn)場出入管理方案
- 房屋建筑維修保養(yǎng)方案
- 2026年及未來5年市場數(shù)據(jù)中國嬰幼兒寢具行業(yè)發(fā)展前景預測及投資規(guī)劃建議報告
- 施工現(xiàn)場安全文明施工方案
- 2026年及未來5年市場數(shù)據(jù)中國連鎖超市行業(yè)發(fā)展運行現(xiàn)狀及投資潛力預測報告
- 為社區(qū)疫情互助策劃信息共享渠道物資對接與心理支持
- 消防設備智能監(jiān)測技術方案
- 水電設備技術標準制定方案
- 人防工程防護墻體檢測方案
- 企業(yè)安全生產(chǎn)內(nèi)業(yè)資料全套范本
- 安全生產(chǎn)標準化與安全文化建設的關系
- 林業(yè)生態(tài)經(jīng)濟效益評價指標體系構(gòu)建
- DL-T5054-2016火力發(fā)電廠汽水管道設計規(guī)范
- 耳部刮痧治療
- 《相控陣超聲法檢測混凝土結(jié)合面缺陷技術規(guī)程》
- 神經(jīng)外科介入神經(jīng)放射治療技術操作規(guī)范2023版
- 多模態(tài)數(shù)據(jù)的聯(lián)合增強技術
- 濱海事業(yè)單位招聘2023年考試真題及答案解析1
- 熱電廠主體設備安裝施工組織設計
- CT尿路成像的課件資料
評論
0/150
提交評論