《Python 程序設計(新形態(tài)版)》課件 第2章 數據類型和常用內置函數_第1頁
《Python 程序設計(新形態(tài)版)》課件 第2章 數據類型和常用內置函數_第2頁
《Python 程序設計(新形態(tài)版)》課件 第2章 數據類型和常用內置函數_第3頁
《Python 程序設計(新形態(tài)版)》課件 第2章 數據類型和常用內置函數_第4頁
《Python 程序設計(新形態(tài)版)》課件 第2章 數據類型和常用內置函數_第5頁
已閱讀5頁,還剩137頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章數據類型和常用內置函數學習目標(1)理解標識符和關鍵字的含義;掌握標識符的命名規(guī)則,識別Python常用關鍵字。(2)理解變量的基本概念,掌握變量的聲明和賦值操作方法。(3)掌握常用內置數據類型的使用方法和適用范圍。(4)掌握常用運算符使用方法和運算規(guī)則。(5)理解程序預定義內置函數的意義,掌握常用內置函數的使用方法。(6)學習內置模塊的調用方法,掌握調用模塊中的函數、類或常量的方法。(7)通過課程中的實例學習,培養(yǎng)學生的工匠精神和精益求精的工作態(tài)度。1第2章數據類型和常用內置函數學習重點熟練掌握變量、常用內置數據類型、運算符、內置函數和模塊的使用方法。學習難點理解標識符、關鍵字和變量的概念,區(qū)分內置數據類型的特點和適用范圍,掌握運算符、內置函數和模塊的使用方法,培養(yǎng)學生嚴謹的科學態(tài)度。22.1標識符和關鍵字2.1.1標識符標識符是用于表示變量、函數、類、模塊等程序元素的名稱。在Python中,標識符的命名需遵循以下規(guī)則。(1)標識符的第一個字符必須是字母或下畫線。(2)標識符的其他字符可以包含字母、數字或下畫線。(3)Python嚴格區(qū)分大小寫。例如,myVariable和myvariable被視為不同的標識符。(4)標識符不能與Python的保留關鍵字沖突。32.1.2關鍵字Python中的關鍵字是一組預定義的保留字,具有固定含義和特殊用途。關鍵字的使用方法將在后續(xù)章節(jié)中詳細講解。為避免引起語法錯誤或混淆,關鍵字不應用作標識符。4FalseclassfinallyisreturnNonecontinueforlambdatryTruedeffromnonlocalwhileanddelglobalnotwithaselififoryieldassertelseimportpass

breakexceptinraise

Python中常見關鍵字2.2變量2.2.1變量的聲明和賦值在Python中,變量是引用內存中數據地址的名字,稱標記變量的字符序列為變量名,變量名由用戶定義。變量聲名和賦值的基本格式如下所示。變量名=變量值其中稱“=”為賦值運算符,完成右側的值賦給左側的變量的運算。52.2.1變量的聲明和賦值賦值運算符的示例代碼如下所示。>>>x=10在上述示例中,x是變量的名稱,10是被賦給變量的值。Python根據賦值的值類型來推斷變量的類型。在這個例子中,x被推斷為整數類型。6變量x和整數10在內存中的關系2.2.1變量的聲明和賦值Python在執(zhí)行每條賦值語句時都由以下3個步驟組成。第一步:分配內存空間,存儲整數10。第二步:檢查變量x是否存在,若不存在則創(chuàng)建該變量。第三步:內存中變量x存儲10的單元地址。由此可見,賦值運算符的運算順序是自右向左。72.2.1變量的聲明和賦值Python是一種動態(tài)類型語言,即變量的值在程序執(zhí)行過程中可隨時變化,示例代碼如下所示。>>>x=10>>>print(x)#輸出:10>>>x="誠信">>>print(x)#輸出:誠信在這個示例中,變量x首先被賦值為整數10,然后被重新賦值為字符串“誠信”82.2.1變量的聲明和賦值

下面以變量i、j、m、n為例,變量i、m指向同一個數值3,它們存儲的對象地址相同;j、n指向同一個數值4,它們存儲的對象地址相同。>>>i=3>>>j=4>>>m=3>>>n=j9變量與變量值的內存關系2.2.2變量鏈式賦值鏈式賦值允許同時為多個變量賦予相同的值,其基本語法格式如下所示。變量1=變量2=…=變量n=變量值鏈式賦值的示例代碼如下所示。>>>x=y=z=10示例中變量x、y和z都被賦予了整數10。102.2.3變量多重賦值變量多重賦值方法允許為多個變量賦予不同的值,其基本語法格式如下所示。變量1,變量2,…,變量n=變量值1,變量值2,…,變量值n變量多重賦值的示例代碼如下所示。>>>x,y,z=10,20,30示例中變量x、y和z的賦予的值分別是整數10、20和30。112.2.4序列解包賦值序列解包賦值方法允許從一個序列(如列表或元組)中提取值賦給多個變量,基本語法格式如下所示。變量1,變量2,…,變量n=包含n個元素的序列序列解包賦值的示例代碼如下所示。>>>x,y,z=[1,2,3]示例中列表中的元素1、2、3依次賦值給變量x、y和z。122.2.5交換變量在Python中,可以通過多重賦值的方法交換兩個變量的值,無須使用臨時變量。交換變量的示例代碼如下所示。>>>x=10>>>y=20>>>x,y=y,x #變換變量執(zhí)行上述代碼后,x的值為20,y的值為10。132.2.6刪除變量Python具有垃圾自動回收機制,可以自動回收不再使用的變量所占用的內存。若需要顯式刪除變量,可以使用del語句刪除變量,其基本語法格式如下所示。del變量1,變量2,…,變量n刪除變量的示例代碼如下所示。>>>

delx#刪除變量x,回收其內存空間。再次使用會提示報錯信息“NameError:name'x'isnotdefined”>>>dela,b #刪除變量a、b,回收其內存空間142.3內置數據類型Python內置了多種數據類型,用以表示和處理各類數據。Python常用的內置數據類型包括數值類型、布爾類型、字符串類型、列表類型、元組類型、集合類型、字典類型、二進制序列類型等。152.3.1數值類型Python數值類型是用于表示數字的類型,包含整數型(int)、浮點數型(float)和復數型(complex)。162.3.1數值類型1)整數整數是不包含小數和小數點的數字,可以用十進制、二進制、八進制和十六進制數表示。十進制整數是基數為10的數字系統(tǒng),是Python默認的整數類型。例如,41、100、-3等。二進制整數是基數為2的數字系統(tǒng),只包含0和1的整數。在Python中使用0b或0B作為前綴來表示二進制數。例如,0b101001、0B1100100等。八進制整數是基數為8的數字系統(tǒng),包含0到7共8個數字的整數。在Python中使用0o或0O作為前綴表示八進制數。例如,0o51、0O144等。十六進制整數是基數為16的數字系統(tǒng),包含數字0~9和字母A~F(或a~f)共16個數字的整數。在Python中使用0x或0X作為前綴表示十六進制數。例如,0x29、0X64等。172.3.1數值類型2)浮點數包含小數的數字會生成浮點數。例如,3.14、-0.5等。浮點數也可以使用科學記數法來表示,其中使用字母e或E表示指數部分以10為底。例如,1.23e6表示1.23×106、2.5E-3表示2.5×10-3。3)復數復數由實數部分和虛數部分構成。在Python中用形如a+bj、a+bJ或者complex(a,b)的形式表示,其中a是實部,b是虛部,j表示虛數單位。例如,1+2j、complex(1,2)等。182.3.2布爾類型

布爾(bool)類型包含True(邏輯真)和False(邏輯假)兩個邏輯值。在Python中,布爾類型是基于整數類型實現的,True對應整數值1,False對應整數值0。在邏輯運算中,0被視為False,非零值被視為True。192.3.3字符串類型字符串(str)類型由字符序列組成的不可變序列,其中可以包含字母、數字、符號和空格等字符。字符串常量可以通過一對單引號(')、雙引號(")、三重單引號(''')或三重雙引號(""")定義,其中三重引號定義的字符串可以跨越多行。示例代碼如下所示。>>>s1='中國空間站‘ #定義變量s1,初始值是字符串'中國空間站'>>>s2="ChineseDream“ #定義變量s2,初始值是字符串'ChineseDream'202.3.3字符串類型

接上頁>>>s3='''ShenzhouXIII''' #定義變量s3,初始值是字符串'Shenzhou\nXIII'>>>s3 #顯示字符串變量s3,其中包含轉義字符\n'Shenzhou\nXIII'>>>print(s3) #輸出字符串變量s3,轉義字符\n在輸出過程中實現換行ShenzhouXIII212.3.3字符串類型

在字符串中,特殊字符如換行符和制表符可以用轉義字符來表示。轉義字符以反斜線(\)開頭,在字符串中進行轉義。22轉義字符含義\\反斜杠(\)\'單引號(')\"雙引號(")\bASCII退格符\fASCII換頁符\nASCII換行符\rASCII回車符\tASCII水平制表符\0oo八進制數字符oo字符\xhh十六進制數hh字符常用的轉義字符2.3.3字符串類型

轉義字符的使用示例代碼如下所示。>>>#使用print函數輸出包含單引號和水平制表符的字符串>>>print('China\'s\t\'NewEra\'')China's 'NewEra'232.3.4列表類型列表類型(list)是由0到多個元素構成的可變序列,每個元素允許是任意數據類型。列表使用方括號([])表示,每個元素之間用逗號(,)分隔。

示例代碼如下所示。>>>L1=[1,2,3] #定義列表型變量L1,每個元素均為整數>>>L2=[] #包含0個元素的列表稱為空列表>>>L3=[3.14,True,['a','b']] #包含不同類型元素的列表>>>print(L1,L2,L3) #使用print函數輸出三個變量的值[1,2,3][][3.14,True,['a','b']]242.3.5元組類型元組類型(tuple)是由0到多個元素構成的不可變序列集合,與列表類似,但一旦創(chuàng)建就不能修改。元組用圓括號(())表示,每個元素之間用逗號(,)分隔。定義元組變量的示例代碼如下所示。>>>t1=(2,4,'China',[True,6]) #

定義元組型變量t1,元組中的元素可以包含各種數據類型>>>t2=() #包含0個元素的元組稱為空元組>>>t3=(8,) #元組中只有1個元素時,后面的逗號不能省略>>>print(t1,t2,t3) #使用print函數輸出三個變量的值(2,4,'China',[True,6])()(8,)252.3.6集合類型集合類型(set)表示無序的元素集合,每個元素只能是不可變數據類型,如數值類型、字符串類型、元組類型等。集合類型使用花括號({})表示,每個元素之間用逗號(,)分隔,不允許出現重復元素。定義集合類型變量的示例代碼如下所示。>>>s1={1,"2",(3,4)}#定義集合類型變量s1,元素只能包含不可變數據類型>>>s2={} #包含0個元素的集合稱為空集合>>>s3={3,4,3,5} #集合中只保留第一個重復的元素>>>print(s1,s2,s3){'2',1,(3,4)}{}{3,4,5}262.3.7字典類型字典類型(dict)中的元素由鍵(key)和值(value)成對構成的數據結構,因此字典元素也被稱為鍵值對。字典類型使用花括號({})表示,每個鍵值對之間用逗號分隔,鍵和值之間用冒號(:)分隔。字典的鍵必須是不可變的數據類型,如字符串、數字或元組。同一個字典中的鍵不能重復,值可以是任意數據類型。定義字典類型變量的示例代碼如下所示。>>>d1={'name':'John','age':30} #定義字典類型變量d1,包含兩個鍵值對>>>d1 #字典類型變量d1的值{'name':'John','age':30}272.3.7字典類型接上頁>>>#定義字典類型變量d2,重復的鍵會覆蓋前面的鍵值對>>>d2={'name':'張三','age':30,'name':'李四','age':40}>>>d2

#字典類型變量d2的值{'name':'李四','age':40}282.3.8二進制序列類型二進制序列類型用于表示二進制數據,其中字節(jié)串(bytes)是一種不可變的二進制序列,由一系列的字節(jié)組成,每個字節(jié)的值范圍是0到255。字節(jié)串使用前綴字符b引導字符串。定義字節(jié)串常量的示例代碼如下所示。>>>#定義字節(jié)串常量,默認使用UTF-8編碼處理>>>b'\x4b\x75\x61\x46\x75\x20\x4e\x6f\x2e\x31'b'KuaFuNo.1'示例中b'KuaFuNo.1'表示字節(jié)串,其中每個字符都由一個字節(jié)表示。與字符串不同,字節(jié)串用于處理和傳輸二進制數據,常用于文件讀寫、網絡通信和加密等場景。292.4運算符

運算符是執(zhí)行各類操作的特殊符號或關鍵字,它們可以對變量、常量和表達式進行處理,以生成新的值或執(zhí)行特定的計算。Python提供了多種類型的運算符,包括算術運算符、賦值運算符、比較運算符、邏輯運算符等。302.4.1算術運算符用于處理四則運算的符號被稱為算術運算符,是加法、減法、乘法、除法、乘方等運算的統(tǒng)稱。Python的算術運算符如表2-2所示。31運算符功能表述優(yōu)先級+加法運算3級-減法運算*乘法運算2級/除法運算//整除運算%模運算**冪運算1級Python的算術運算符2.4.1算術運算符(1)加法(+)/減法(-)/乘法(*)/除法(/)運算符完成兩個數加、減、乘和除運算。當運算對象全為整數或浮點數時,+、-、*的運算結果分別為整數或浮點數;當運算對象混合,運算結果為浮點數;除法運算結果總是浮點數。示例代碼如下所示。>>>6+28>>>8-2.06.032>>>3*3.14159.4245>>>4/22.02.4.1算術運算符(2)整除(//)運算

一個數除以另一個數,運算結果為不大于商的最大整數部分。

示例代碼如下所示。>>>7//32>>>-7//-3233>>>-7//3-3>>>7//-3-32.4.1算術運算符(3)模(%)運算假設c=a//b,r=a%b,則r=a–c*b。示例代碼如下所示。>>>7%31>>>-7%-3-134>>>-7%32>>>7%-3-22.4.1算術運算符(4)冪(**)運算使用a**b計算ab,其中a、b可為整數或者浮點數。示例代碼如下所示。>>>2**38>>>2.5**26.25352.4.1算術運算符(4)冪(**)運算Python中的冪運算符與其余6個算術運算符運算方向不同,冪運算具有右結合性,因此連續(xù)多個冪運算時計算順序為自右向左。示例代碼如下所示。>>>2**3**2 #計算結果是512,先計算3**2,再計算2**9512362.4.2表達式和算術運算符的優(yōu)先級用變量、常量、運算符和函數調用組成的符合語法規(guī)則的組合被稱為表達式,主要用于計算和生成值。例如,算數表達式(3x+4y)/5+xy/7-((x-5)(2y-1))/x可以組合為的Python表達式為(3*x+4*y)/5+x*y/7-(x-5)*(2*y-1)/x。運算過程遵循算數運算規(guī)則,即首先執(zhí)行括號內的運算,括號可以嵌套,內層括號優(yōu)先被執(zhí)行。算術運算符中冪運算的優(yōu)先級最高,加、減運算符優(yōu)先級最低。372.4.3復合賦值運算符

復合運算符是一類結合算術運算和賦值運算的運算符,目的是簡化代碼。38運算符功能描述示例等價運算+=加法賦值復合運算y+=xy=y+x-=減法賦值復合運算y-=xy=y-x*=乘法賦值復合運算y*=xy=y*x/=除法賦值復合運算y/=xy=y/x//=整除賦值復合運算y//=xy=y//x%=取模賦值復合運算y%=xy=y%x**=冪賦值復合運算y**=xy=y**xPython的復合賦值運算符2.4.4關系運算符關系運算(也稱為比較運算)用于比較兩個實體之間的關系,運算結果反映兩個實體之間的關系是否成立,關系成立則運算結果為True,反之為False。Python中關系運算符優(yōu)先級相同,遵循從左到右的運算順序。39運算符功能描述示例等價運算==等于x==y如果x等于y,則返回True;否則返回False!=不等于x!=y如果x不等于y,則返回True;否則返回False>

大于x>y如果x大于y,則返回True;否則返回False<

小于x<y如果x小于y,則返回True;否則返回False>=大于或等于x>=y如果x大于或等于y,則返回True;否則返回False<=小于或等于x<=y如果x小于或等于y,則返回True;否則返回FalsePython中關系運算符2.4.4關系運算符示例代碼如下所示。>>>3.5>4False>>>True==1 #邏輯值True和False也可以參與數值類型關系運算,其對應的數值分別是1和0。True>>>False==0True>>>3>=FalseTrue402.4.4關系運算符關系運算符還可以對字符串類型進行比較,字符串的大小比較是基于字符的Unicode編碼值進行的。比較操作從兩個字符的第一個字符開始依次比較相同位置的字符的Unicode編碼值,若在比較過程中發(fā)現有字符的編碼值不相等,則比較操作返回相應的結果;如果兩個字符串的所有字符的編碼值都相等,但其中一個字符串的長度較短,則被認為較短的字符串小于較長的字符串。示例代碼如下所示。>>>'abc'<'aBc'False412.4.5邏輯運算符邏輯運算一般用于操作邏輯值(True和False)并生成新的邏輯值結果,邏輯運算可以在條件語句、循環(huán)和邏輯判斷等場景中使用,用于控制程序的流程和邏輯判斷。Python使用關鍵字and、or和not作為邏輯運算符,其中not運算符優(yōu)先級最高,or運算符優(yōu)先級最低。42運算符示例功能描述優(yōu)先級notnotx邏輯非運算,操作數x為True,運算結果為False;操作數x為False,運算結果為True1andxandy邏輯與運算,操作數x和y都為True時,運算結果為True,否則為False2orxory邏輯或運算,操作數x和y都為False時,運算結果為False,否則為True3邏輯運算符及運算規(guī)則2.4.5邏輯運算符

在Python中,除了布爾類型可以作為操作數,數值、字符串、元組、列表、集合、字典等類型也可以參與邏輯運算。0、空字符串和None視為False,其他數值、非空字符串視為True。

示例代碼如下所示。>>>x,y,z=True,True,False #布爾類型變量參與邏輯運算>>>print(notx,xandy,xandz,xory,zorFalse)FalseTrueFalseTrueFalse432.4.5邏輯運算符接上頁>>>x,y,z=0,"",None #0空字符串None參與邏輯運算>>>print(notx,noty,notz)TrueTrueTrue>>>xory #運算結果為變量y的值''442.4.5邏輯運算符在Python中and和or的計算方向是從左到右。如果邏輯運算符號左邊的表達式已經能夠確定整個邏輯運算的值,就不再繼續(xù)計算邏輯運算符號右面部分的表達式,稱這個過程為邏輯運算的短路邏輯。示例代碼如下所示。>>>0and4 #邏輯與運算的短路邏輯0>>>4or0 #邏輯或運算的短路邏輯4452.4.6成員運算符成員運算符用于檢查一個值是否屬于一個序列(如字符串、列表或元組)或者是否屬于一個集合(如字典或集合)。46運算符示例功能描述inainb如果a在序列b中,運算結果為True,否則為Falsenotinanotinb如果a不在序列b中,運算結果為True,否則為FalsePython中成員運算符2.4.6成員運算符成員運算符的示例代碼如下所示。>>>#定義三個變量,類型分別是數值類型、字符串類型和列表類型>>>x,str1,list1=1,'China',[2,'China',3.14]>>>xinlist1 #判斷變量x的值是否在列表類型變量list1中False>>>str1inlist1 #判斷字符串變量str1的值是否在列表類型變量list1中True472.4.7身份運算符

身份運算符用于判斷兩個標識符是否引用自同一個對象,運算結果為邏輯值。48運算符示例功能描述isainb如果變量a和b引用同一個內存空間,運算結果為True,否則為Falseisnotaisnotb如果變量a和b沒有引用同一個內存空間,運算結果為True,否則為FalsePython中身份運算符2.4.7身份運算符

身份運算符用于判斷兩個標識符是否引用自同一個對象,運算結果為邏輯值。使用身份運算符時可以利用id()函數來驗證兩個標識符引用對象是否相同,id函數是返回對象在內存中的地址。示例代碼見下頁492.4.7身份運算符>>>a,b=1,2>>>c=a>>>print(aisnotb,aisc) #變量a和b引用的內存空間不相同,變量a和c引用相同的內存空間TrueTrue>>>print(id(a),id(b),id(c)) #使用id函數查看變量引用內存空間的地址242300553860824230055386402423005538608502.4.7身份運算符

運算符is和==常?;煜?。運算符is用于判斷兩個變量引用的內存空間是否相同,==用于判斷兩個操作數的值是否相等。

示例代碼見下頁。512.4.7身份運算符>>>a=[0,1,2] #定義列表類型變量a>>>b=[1-1,2-1,3-1] #定義列表類型變量b>>>a==b #列表變量a和b的值相同True>>>aisb #列表變量a和b引用的內存空間不相同False522.4.8運算符的優(yōu)先級在Python的表達式中,多類運算符的運算次序取決于它們的優(yōu)先級。優(yōu)先級高的運算符先結合,優(yōu)先級低的運算符后結合。53優(yōu)先級運算符描述1()圓括號2**指數運算3+,-一元運算符,表示數值的正負屬性4*,/,//,%乘法、除法、整除和取模運算符5+,-加法、減法運算符6<,<=,>,>=,!=,==比較運算符7is,isnot身份運算符8in,notin成員運算符9not邏輯非運算符10and邏輯與運算符11or邏輯或運算符12=賦值運算符Python運算符優(yōu)先級2.5內置函數內置函數是編程語言中預先定義的函數,可以直接在程序中使用,無須進行額外的定義或導入。Python的內置函數覆蓋了字符串處理、數學運算、文件操作等領域。內置函數在Python解釋器的底層實現,執(zhí)行效率高于自定義函數,同時簡化了代碼。Python為開發(fā)人員提供了help()函數方便獲取內置函數的詳細用法信息,示例代碼如下所示。542.5內置函數help()函數示例代碼如下所示。>>>help('sys') #獲取sys模塊的幫助信息……顯示幫助信息……>>>help('int') #獲取整數類型的幫助信息……顯示幫助信息……>>>a=[1,2,3]>>>help(a) #獲取列表類型幫助信息……顯示幫助信息……>>>help(a.append) #獲取列表append方法的幫助信息……顯示幫助信息……552.5.1數學相關內置函數1.abs()該函數返回一個數的絕對值,可以接收一個整數或浮點數作為參數;如果參數是一個復數,則返回它的模。函數的基本語法格式如下所示。abs(x)

562.5.1數學相關內置函數1.abs()abs函數示例代碼如下所示。>>>n1=-9>>>n2=3.14>>>abs(n1)9>>>abs(n2)3.14572.5.1數學相關內置函數2.sum()該函數用于計算可迭代對象(例如列表、元組或集合)中所有元素的總和。函數的基本語法格式如下所示。sum(iterable[,number])其中,iterable參數是必選參數,表示可迭代對象,如列表、元組、集合等。參數number為可選參數,表示相加的數值,默認為0。582.5.1數學相關內置函數2.sum()

sum函數示例代碼如下所示。>>>numbers=[1,2,3,4,5]>>>sum(numbers) 15>>>sum(numbers,10)25592.5.1數學相關內置函數3.max()該函數返回給定可迭代對象中的最大值。函數的基本語法格式如下所示。max(x1[,x2][,x3,…])其中,x1為必選參數,其余為可選參數,所有參數要求為同一數據類型。602.5.1數學相關內置函數3.max()max函數示例代碼如下所示。>>>max(3,4,5)5>>>#對多個列表類型數據查找最大值>>>max([1,2,3],[3,4])[3,4]612.5.1數學相關內置函數4.min()該函數返回給定可迭代對象中的最小值。函數的基本語法格式如下所示。min(x1[,x2][,x3,…])其中x1,為必選參數,其余為可選參數,所有參數要求為同一數據類型。622.5.1數學相關內置函數4.min()

min函數示例代碼如下所示。>>>min(3,4,5)3>>>min([1,2,3],[3,4])[1,2,3]632.5.1數學相關內置函數5.divmod()該函數計算給定兩個非負數的商和余數。函數的基本語法格式如下所示。divmod(a,b)其中,參數a和b的商和余數構成的一個元組類型數據。642.5.1數學相關內置函數5.divmod()divmod函數示例代碼如下所示。>>>#10和3的商是3,余數是1,返回結果是元組類型數據>>>divmod(10,3)(3,1)652.5.1數學相關內置函數6.pow()該函數用于計算一個數的冪。函數的基本語法格式如下所示。pow(base,exp[,mod])其中,函數計算參數base的exp次冪;如果參數mod存在,則返回base的exp次冪對mod取余。662.5.1數學相關內置函數6.pow()pow函數示例代碼如下所示。>>>#2的3次冪為8>>>pow(2,3) 8>>>#(2**3)%5=8%5=3>>>pow(2,3,5) 3672.5.1數學相關內置函數7.round()

該函數用于對一個浮點數做四舍五入。

函數的基本語法格式如下所示。round(number[,ndigits])其中,參數number為計算對象;參數ndigits表示保留的小數位數,該參數為整數類型,默認值為0。682.5.1數學相關內置函數7.round()round函數示例代碼如下所示。>>>#對3.14159進行四舍五入,結果為3>>>round(3.14159) 3>>>#對3.14159進行四舍五入并保留兩位小數,結果為3.14>>>round(3.14159,2) 3.14692.5.1數學相關內置函數8.range()

該函數用于生成一個整數類型可迭代對象,它常用于迭代操作。

函數的基本語法格式如下所示。range([start,]stop[,step])其中,所有參數都為整數??蛇x參數start指定序列的起始值,默認為0。必選參數stop指定序列的終止值,生成序列不包含終止值。可選參數step指定兩個相鄰數之間的間隔,默認為1,不可以為0。702.5.1數學相關內置函數8.range()range函數示例代碼如下所示。>>>a=range(5)

#等價range(0,5)>>>a #變量a是可迭代對象range(0,5)712.5.1數學相關內置函數Python中字符串、列表、元組、字典、文件對象等都是可迭代對象,可以通過迭代器順序訪問迭代對象中的元素。使用類型轉換函數可以將函數range()生成的可迭代對象轉換為其他可迭代對象。

示例代碼如下所示。>>>#變量a是可迭代對象,對象中包含5個整數元素,元素值分別是0到4>>>a=range(5) >>>list(a) #轉換為列表類型[0,1,2,3,4]>>>tuple(a) #轉換為元組類型(0,1,2,3,4)722.5.2類型轉換內置函數Python提供了一系列的類型轉換函數,用于將數據從一種類型轉換為另一種類型。這一類函數可以實現基本數據類型的轉換,Python中基本數據類型轉換函數如表所示。73基本格式功能描述及說明示例運行結果bool([x])功能:返回一個邏輯值說明:參數x可為數值、字符串、內置可迭代對象bool("中國")bool(False)TrueFalseint([x])功能:返回一個基于數值或字符串x生成的整數說明:參數x可為數值、整型數值字符串int("10")int(3.14)103float([x])功能:返回從數字或字符串x生成的浮點數說明:參數x可為數值、整型數值字符串float("3.14")3.14Python中基本數據類型轉換函數-12.5.2類型轉換內置函數74基本格式功能描述及說明示例運行結果str([x])功能:返回基于對象x所生成的字符串說明:參數x可為數值、內置可迭代對象str(3.14)str([1,2])'3.14''[1,2]'list([iterable])功能:返回基于可迭代對象iterable生成的列表list("神州")list({'one',1,2})['神','州']['one',1,2]tuple([iterable])功能:返回基于可迭代對象iterable生成的元組tuple("蛟龍")tuple(['two',3,4])('蛟','龍')('two',3,4)dict([iterable])功能:返回基于可迭代對象iterable生成的字典dict([('one',1),('two',2),('three',3)]){'one':1,'two':2,'three':3}set([iterable])功能:返回基于可迭代對象iterable生成的集合set([1,2,3])set("神州"){1,2,3}{'神','州'}Python中基本數據類型轉換函數-22.5.2類型轉換內置函數

在Python中,除了布爾類型可以作為操作數,數值、字符串、元組、列表、集合、字典等類型也可以參與邏輯運算。將0、空字符串和None視為False,其他數值、非空字符串視為True。

示例代碼如下所示。>>>print(bool(0),bool(None),bool(""),bool([]),bool({}))FalseFalseFalseFalseFalse>>>print(bool(-3),bool("龍"),bool((1,2)))TrueTrueTrue752.5.2類型轉換內置函數基本數據類型轉換函數的參數可以省略,省略返回默認值。示例代碼如下所示。>>>print(bool(),int(),float())False00.0>>>print(str(),list(),tuple())#print函數輸出字符串時只顯示界定符內的部分

[]()>>>str()''>>>print(dict(),set()){}set()762.5.2類型轉換內置函數Python提供了各進制之間的數值轉換函數,不同進制之間的數值轉換函數如表所示。77基本格式功能描述示例運行結果hex(x)將整數x轉換為以“0x”為前綴的小寫十六進制字符串x=254hex(x)0xfeoct()將整數x轉變?yōu)橐粋€前綴為“0o”的八進制字符串x=254oct(x)0o376bin()將整數x轉變?yōu)橐粋€前綴為“0b”的二進制字符串x=254bin(x)0b11111110不同進制之間的數值轉換函數2.5.2類型轉換內置函數Python提供了整數和Unicode碼轉換函數,整數和Unicode碼轉換函數如表所示。78基本格式功能描述及說明示例運行結果chr(x)返回整數x在Unicode碼對應字符的字符串格式chr(65)'A'ord(x)返回單個字符構成的字符串x在Unicode中對應的整數值ord('a')97整數和Unicode碼轉換函數2.5.2類型轉換內置函數示例代碼如下所示。>>>x=65>>>type(x) #使用type()函數查看變量x的數據類型<class'int'>>>>y=chr(x)>>>type(y) #查看變量y的數據類型<class'str'>792.5.3其他常用內置函數1.len()該函數獲取對象的長度或元素個數。函數的基本語法格式如下所示。len(seq)其中seq可以是字符串、列表、元組等可迭代對象。802.5.3其他常用內置函數1.len()示例代碼如下所示。>>>len("Hello,World!") #顯示字符串長度12>>>len((1,2,3,4,5)) #顯示元組元素個數5812.5.3其他常用內置函數2.reversed()該函數將序列的元素順序做反轉處理,并返回一個反向迭代器對象。如果需要使用反轉后的結果,可以將其轉換為列表或元組。函數的基本語法格式如下所示。reversed(seq)其中,序列seq可以是字符串、列表、元組等可迭代對象。822.5.3其他常用內置函數2.reversed()示例代碼如下所示。>>>list1=[1,2,3,4,5]>>>temp=reversed(list1) #反轉結果是一個反向迭代器對象,賦值給變量temp>>>reversed_list=list(temp) #將變量temp轉換為列表,賦值給變量reversed_list>>>reversed_list #顯示列表變量元素[5,4,3,2,1]832.5.3其他常用內置函數3.sorted()

該函數用于對可迭代對象進行排序。

函數的基本語法格式如下所示。sorted(iterable[,key=None][,reverse=False])其中,iterable可以是列表、元組、字符串等的迭代對象,該函數返回一個新的已排序的列表。參數key用于指定排序的鍵,默認值為None。參數reverse指定是否對對象iterable進行逆序排序,默認值為False。842.5.3其他常用內置函數3.sorted()

示例代碼如下所示。>>>str1="hello">>>list1=sorted(str1) #對字符串按照Unicode編碼進行升序排序,返回新列表

>>>list1 #顯示新列表元素['e','h','l','l','o']852.5.3其他常用內置函數3.sorted()

示例代碼如下所示。>>>list1=['tea','apple','pear']>>>sorted_list=sorted(list1,key=len,reverse=True)

#按照列表元素長度逆序排序>>>print(sorted_list) #顯示列表['apple','pear','tea']862.5.3其他常用內置函數4.eval()

該函數將具有表達式含義的字符串作為Python表達式進行求值,并返回結果。

函數的基本語法格式如下所示。eval(expression)其中,expression為字符串。872.5.3其他常用內置函數4.eval()

示例代碼如下所示。>>>x,y=2,3>>>exp="x*y">>>result=eval(exp) #將字符串轉換為表達式進行求值,計算結果賦值給變量result>>>print(result) #顯示變量result的值6882.5.3其他常用內置函數5.all()

該函數用于判斷可迭代對象中所有元素是否都為真。

函數的基本語法格式如下所示。all(iterable)其中,iterable可以是列表、元組、字符串等的迭代對象。如果所有元素都為真則返回True,否則返回False。如果可迭代對象為空,all()函數返回True。892.5.3其他常用內置函數5.all()

示例代碼如下所示。>>>tuple1=(2,3,4)>>>all(tuple1) #非0數值、非空字符串視為TrueTrue902.5.3其他常用內置函數接上頁5.all()>>>set1={0,1,2}>>>all(set1) #將0、空字符串和None視為FalseFalse>>>list1=[]>>>all(list1) #對于空的可迭代對象,all()函數返回True。True912.5.3其他常用內置函數6.any()

該函數用于判斷可迭代對象中任一元素是否為真。

函數的基本語法格式如下所示。any(iterable)其中,如果可迭代對象iterable中的任何一個元素為真,則any()函數返回True;如果所有元素都為假(零、空、False),則返回False。如果迭代器為空,返回False。922.5.3其他常用內置函數6.any()示例代碼如下所示。>>>set1={0,'',False,None,'Hello'}>>>any(set1) #非0數值、非空字符串視為TrueTrue932.5.3其他常用內置函數接上頁6.any()>>>tuple1=((0,'',False,None))>>>any(tuple1) #將0、空字符串和None視為FalseFalse>>>list1=[]>>>any(list1) #對于空的可迭代對象,any()函數返回False。False942.6內置模塊

內置模塊也被稱為標準庫,是Python官方提供的一系列功能豐富的函數庫。這些模塊在安裝Python時默認安裝,并通過import語句導入使用。相較于內置函數,內置模塊提供了更為專業(yè)和全面的標準解決方案,能夠應對更為復雜的編程需求。

常見的Python內置模塊如下。(1)math模塊。該模塊包含數學運算相關的函數,如數學函數(sqrt、sin、cos等)、數字運算(ceil、floor、round等)、常數(pi、e等)等。(2)random模塊:該模塊包含生成隨機數的相關函數,如生成隨機整數、隨機浮點數、隨機選取元素等。952.6內置模塊接上頁(3)tutle模塊:該模塊為用戶提供了圖形繪制工具,允許用戶通過簡單的命令繪制各種形狀和圖案,特別適合初學者學習編程和圖形繪制。(4)time模塊:該模塊包含時間相關的函數,如獲取時間戳、格式化時間字符串等。(5)re模塊:該模塊包含正則表達式相關的函數和類,用于在文本中進行模式匹配和搜索。(6)os模塊:該模塊提供與操作系統(tǒng)交互的函數,如文件和目錄操作、環(huán)境變量、進程管理等。(7)sys模塊:該模塊提供與Python解釋器和系統(tǒng)相關的變量和函數,如Python解釋器的版本信息、命令行參數、標準輸入輸出等。962.6.1導入模塊在使用某個模塊中的函數或方法時,首先需要導入該模塊。在Python中使用import語句實現模塊的導入。以下是導入模塊的常用方式。1.導入整個模塊該命名基本語法格式如下所示。importmodule_name該命令方式將整個模塊導入,導入后通過使用module_name.function_name或module_name.variable_name調用模塊中的函數、類或常量。972.6.1導入模塊import語句示例代碼如下所示。>>>importmath #導入math模塊>>>math.pow(3,2) #調用math模塊中pow方法9.0>>>math.pi #調用math模塊中常量pi3.141592653589793982.6.1導入模塊2.導入模塊的特定函數、類或常量

該命名基本語法格式如下所示。frommodule_nameimportfunction_name,class_name,variable_name

這種方式只導入模塊中指定的函數、類或變量,并可以直接使用它們,無須使用模塊名作為前綴。992.6.1導入模塊

示例代碼如下所示。>>>#從math模塊中導入pow方法和常量pi>>>frommathimportpow,pi >>>pow(3,2)9.0>>>pi3.1415926535897931002.6.1導入模塊3.導入指定模塊并指定別名

該命名基本語法格式如下所示。importmodule_nameasalias_name

這種方式將整個模塊導入,并指定一個別名alias_name,在代碼中可以使用別名來代替模塊名。1012.6.1導入模塊

示例代碼如下所示。>>>#導入math模塊,并指定別名為shuxue>>>importmathasshuxue >>>shuxue.sqrt(3) #用別名調用math模塊中sqrt方法1.73205080756887721022.6.1導入模塊4.導入模塊的所有內容

該命名基本語法格式如下所示。frommodule_nameimport*

這種方式將模塊中的所有函數、類和變量導入當前命名空間,可以直接使用它們,無須使用模塊名作為前綴。但是,這種導入方式可能導致命名沖突和不明確性,通常不推薦使用。1032.6.2math模塊math模塊是Python中用于數學運算的重要模塊。它包括數學函數(如sqrt、sin、cos等)、數字運算(如ceil、floor、round等)、常數(如pi、e等)等。一般情況下,返回值均為浮點數。調用該模塊的相關函數或常量,需要使用importmath導入。1042.6.2math模塊math模塊的常用函數和常量如下表所示。105基本格式功能描述及說明示例運行結果e自然對數的基數math.e2.718281828459045pi圓周率math.pi3.141592653589793ceil(x)返回大于等于x的最小整數math.ceil(2.1)3exp(x)返回e的x次冪math.exp(2)7.38905609893065fabs(x)返回x的絕對值math.fabs(-2)2.0factorial(n)返回關于正整數n的階乘math.factorial(4)24floor(x)返回小于等于x的最大整數math.floor(2.8)2fmod(x,y)返回x/y的余數math.fmod(7,3)1.0log(x)返回以e為底x的對數math.log(4)1.3862943611198906log(x,base)返回以base為底x的對數math.log(8,2)3.0math模塊的常用函數-12.6.2math模塊基本格式功能描述及說明示例運行結果log2(x)返回以2為底x的對數math.log2(8)3.0log10(x)返回以10為底x的對數math.log10(100)2.0pow(x,y)返回x的y次冪math.pow(3,4)81.0sqrt(x)返回x的平方根math.sqrt(16)4.0degrees(x)將角度x從弧度轉換為度數math.degrees(0.53)30.36676314193363radians(x)將角度x從度數轉換為弧度math.radians(30)0.5235987755982988cos(x)返回x弧度的余弦值math.cos(0)1.0sin(x)返回x弧度的正弦值math.sin(0.53)0.5055333412048469106math模塊的常用函數-22.6.2math模塊【例2.1】計算半徑長度為2的圓面積。

代碼如下所示。>>>importmath>>>r=2>>>s=math.pi*math.pow(r,2)>>>s12.5663706143591721072.6.3random模塊random模塊提供了一系列生成隨機數的函數,適用于各種隨機化場景。使用importrandom命令可導入該模塊。1.random()

該函數返回[0,1)的隨機浮點數。

示例代碼如下所示。>>>random.random()0.16264661156015836>>>random.random() #兩次調用生成的隨機浮點數不相同0.81783398810831121082.6.3random模塊2.uniform(a,b)

函數的基本語法格式如下所示。uniform(a,b)其中a,b為整數類型的變量或常量。該函數返回[a,b](或者[b,a])的隨機浮點數。示例代碼如下所示。>>>random.uniform(1,9)5.754725634589229>>>random.uniform(1,9)

#兩次調用生成的隨機浮點數不相同1.68988261220236421092.6.3random模塊3.randrange()

函數的基本語法格式如下所示。randrange(start,stop[,step])

該函數返回從range(start,stop,step)序列中隨機選擇的一個元素。

示例代碼如下所示。>>>random.randrange(1,10,2)#在1到9的奇數序列中生成隨機數71102.6.3random模塊4.random.randint()

函數的基本語法格式如下所示。random.randint(a,b)其中a,b為整數類型的變量或常量。該函數返回[a,b]范圍內的隨機整數,相當于randrange(a,b+1)。1112.6.3random模塊5.random.choice()

函數的基本語法格式如下所示。random.choice(seq)

該函數從非空序列seq中返回一個隨機元素。集合或字典類型數據不能直接作為參數使用,需要轉換成列表或元組。

示例代碼如下所示。>>>random.choice("Python程序設計")'序'>>>random.choice([1,'a',3.14])'a'1122.6.3random模塊6.random.shuffle()

函數的基本語法格式如下所示。random.choice(seq)該函數隨機打亂序列seq各元素位置。

示例代碼如下所示。>>>list1=list(range(1,8,2)) #生成列表[1,3,5,7]>>>random.shuffle(list1)>>>list1[7,3,5,1]1132.6.3random模塊7.random.seed()

函數的基本語法格式如下所示。random.seed(n=None)

該函數初始化隨機數生成器初始值。參數n用于初始化隨機數生成器的初始值。若n被忽略,則使用當前系統(tǒng)時間作為初始值。若n為相同數值,則隨機選擇對象相同。1142.6.3random模塊random.seed()函數示例代碼如下所示。>>>random.seed(3) #初始化隨機數生成器>>>random.randint(1,100)82>>>random.randint(1,100) #默認是使用時96>>>random.seed(3) #初始化相同的隨機數生成器>>>random.randint(1,100)821152.6.4time模塊time模塊提供了與時間相關的函數和方法,可以用于獲取當前時間、格式化時間、進行時間延遲等操作。使用importtime命令可導入該模塊。1162.6.4time模塊1.time()

該函數返回當前時間的時間戳,即自1970年1月1日以來的秒數。

示例代碼如下所示。>>>time.time() #當前時間為SatApr2710:06:4320241714183603.8019541172.6.4time模塊2.ctime(second)

該函數將時間戳second轉換為表示時間的字符串,參數second為空則返回當前時間的字符串。

示例代碼如下所示。>>>time.ctime(0)'ThuJan108:00:001970'>>>time.ctime()'SatApr2710:07:382024'1182.6.4time模塊3.sleep(second)

該函數可以在程序執(zhí)行過程中暫停指定的秒數,參數second表示暫停的描述。

示例代碼如下所示。>>>time.sleep(2) #暫停2秒1192.6.5turtle模塊turtle模塊為用戶提供圖形界面繪制圖形。該模塊允許用戶在窗口中創(chuàng)建一個畫布并通過控制畫筆來繪制圖形。用戶可以設置畫布屬性、畫筆屬性,并使用各種繪圖命令來創(chuàng)建圖形。使用importturtle命令可導入該模塊。1202.6.5turtle模塊1.設置畫布屬性

在turtle模塊中,畫布是用于繪制圖形的可視化矩形區(qū)域,畫筆可以在該區(qū)域內繪制圖形。模塊中turtle.setup()可以設置畫布的尺寸、位置和其他屬性。該函數的基本語法格式如下所示。turtle.setup(width,height,startx,starty)其中,參數width和height分別表示畫布的寬度和高度。參數如果為整數,表示對應尺寸為多少像素;如果浮點數,表示與計算機屏幕的占有比例,默認值為0.5和0.75。參數startx和starty為表示畫布左上角距屏幕左邊緣和上邊緣的偏移量。None表示窗口水平居中或垂直居中。1212.6.5turtle模塊

示例代碼如下所示。>>>#在屏幕左上角設置畫布,畫布寬為800像素,高為600像素>>>turtle.setup(800,600,0,0)>>>#設置畫布的寬度和高度屏占比為80%和60%,畫布位于屏幕中央>>>turtle.setup(0.8,0.6)1222.6.5turtle模塊2.設置繪圖窗口標題

為了讓繪圖窗口更符合使用者的需要,可以使用turtle.title()函數設置繪圖窗口的標題欄。該函數的基本語法格式如下所示。turtle.title(string)其中,參數string為一個字符串,顯示為繪圖窗口的標題文本。1232.6.5turtle模塊

示例代碼如下所示。>>>turtle.setup(400,300) #設置畫布尺寸和位置>>>turtle.title("HelloTurtle!") #設置繪圖窗口的標題欄124畫布所在的繪圖窗口2.6.5turtle模塊3.設置畫布顏色

使用turtle.bgcolor()函數可以設置畫布的顏色。該函數的基本語法格式如下所示。turtle.bgcolor(color)其中,參數color可以是表示顏色的單詞字符串或對應顏色的十六進制字符串,也可以表示彩色模式。1252.6.5turtle模塊

示例代碼如下所示。>>>turtle.bgcolor("orange") #設置畫布顏色為橘色>>>turtle.bgcolor("#ffff00") #設置畫布顏色為黃色>>>turtle.colormode(255) #設置r,g,b值在0到255之間>>>turtle.bgcolor(255,255,255) #設置畫布顏色為白色>>>turtle.colormode(1) #設置r,g,b值在0到1.0之間>>>turtle.bgcolor(1,0,0) #設置畫布顏色為紅色1262.6.5turtle模塊turtle.colormode(cmode)函數設置三原色r,g,b取值范圍在0到cmode之間,參數cmode可取1.0或者255。當cmode=255時三原色數值是cmode=1時對應值的255倍。

示例代碼如下所示。>>>turtle.colormode(255) #設置r,g,b值在0到255之間>>>turtle.bgcolor(255,192,203) #設置畫布顏色為粉色>>>turtle.colormode(1) #設置r,g,b值在0到1.0之間>>>turtle.bgcolor(255/255,192/255,203/255) #設置畫布顏色為粉色1272.6.5turtle模塊常見顏色單詞和對應十六進制字符串如下表所示。128顏色顏色單詞十六進制r,g,b

cmode=255紅色red#ff0000255,0,0綠色green#00ff000,255,0藍色blue#0000ff0,0,255白色

溫馨提示

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

最新文檔

評論

0/150

提交評論