




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章Python語(yǔ)法基礎(chǔ)/course-ans/courseportal/238244938.html了解了解熟悉掌握
學(xué)習(xí)目標(biāo)了解代碼格式12熟悉標(biāo)識(shí)符、關(guān)鍵字、運(yùn)算符掌握變量和數(shù)據(jù)類(lèi)型34了解數(shù)字類(lèi)型,數(shù)字類(lèi)型轉(zhuǎn)換主要內(nèi)容2.4基本數(shù)據(jù)類(lèi)型2.3Python常量和變量2.2Python標(biāo)識(shí)符和關(guān)鍵字2.1Python程序書(shū)寫(xiě)格式主要內(nèi)容2.7基本輸入輸出2.6字符串2.5運(yùn)算符和表達(dá)式2.1Python程序書(shū)寫(xiě)格式Python程序是一系列Python語(yǔ)句的集合,用于執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的功能在書(shū)寫(xiě)Python程序時(shí),要遵循一定的格式,不能隨意將代碼寫(xiě)在一起,否則解釋器不能識(shí)別程序代碼,造成程序不能運(yùn)行.正確的程序書(shū)寫(xiě)格式對(duì)于提高代碼的可讀性、可維護(hù)性和可重用性至關(guān)重要。2.1Python程序書(shū)寫(xiě)格式2.1.1縮進(jìn)程序是由語(yǔ)句塊構(gòu)成的,語(yǔ)句塊是由一條一條的Python語(yǔ)句組成,語(yǔ)句塊可以是一個(gè)模塊、一個(gè)函數(shù)、一個(gè)類(lèi)或者一個(gè)文件。Python程序通過(guò)縮進(jìn)來(lái)定義語(yǔ)句塊,因此,Python是一種對(duì)縮進(jìn)敏感的語(yǔ)言。2.1Python程序書(shū)寫(xiě)格式Python語(yǔ)言采用嚴(yán)格的“縮進(jìn)”來(lái)表示程序邏輯。程序邏輯也就是所說(shuō)的Python程序的層次關(guān)系。Python代碼的縮進(jìn)可以通過(guò)Tab鍵控制(不建議),也可使用空格控制??崭袷荘ython3首選的縮進(jìn)方法,一般使用4個(gè)空格表示一級(jí)縮進(jìn)Python3不允許混合使用制表符和空格進(jìn)行縮進(jìn),建議采用4個(gè)空格的方式縮進(jìn)代碼。。2.1Python程序書(shū)寫(xiě)格式Python的縮進(jìn)標(biāo)準(zhǔn)是使用四個(gè)空格進(jìn)行縮進(jìn)例如:ifx>0:print("x為正數(shù)")ify<0:print("y為負(fù)數(shù)")else:print("x是非正數(shù)")2.1Python程序書(shū)寫(xiě)格式如果違反了Python的縮進(jìn)規(guī)則,解釋器會(huì)拋出一個(gè)IndentationError異常例如,對(duì)于以下的具有一個(gè)多重循環(huán)的程序(大家思考,這段程序的功能是什么?),不同的縮進(jìn)具有不同的含義。foriinrange(1,10):#代碼段1forjinrange(1,i+1):#代碼段2print("%d×%d=%-2d"%(j,i,i*j),end='')#代碼段3print('')#代碼段2print('')#代碼段12.1Python程序書(shū)寫(xiě)格式foriinrange(1,10):#代碼段1forjinrange(1,i+1):#代碼段2 print("%d×%d=%-2d"%(j,i,i*j),end='')#代碼段3 print('')#代碼段3print('')#代碼段1在IDLE開(kāi)發(fā)環(huán)境中編寫(xiě)程序時(shí),可對(duì)選中的代碼塊進(jìn)行批量縮進(jìn)和反縮進(jìn)。菜單操作:Format|IndentRegion,F(xiàn)ormat|DedentRegion。鍵盤(pán)操作:Ctrl+](批量縮進(jìn)),Ctrl+[(反縮進(jìn))Python代碼的縮進(jìn)可以通過(guò)Tab鍵控制,也可使用空格控制??崭袷荘ython3首選的縮進(jìn)方法,一般使用4個(gè)表示一級(jí)縮進(jìn);Python3不允許混合使用Tab和空格。ifTrue:print("True")else:print("False”)print("False”)ifTrue:print("True")else:print("False")
print(”hello”)2.1Python程序書(shū)寫(xiě)格式2.1.2注釋注釋是代碼中的輔助性文字,會(huì)被編譯器或解釋器略去,不被計(jì)算機(jī)執(zhí)行,一般用于程序員對(duì)代碼的說(shuō)明,注釋是為了未來(lái)的自己或者他人方便理解程序,通常程序都需要進(jìn)行注釋。包括單行注釋和多行注釋?zhuān)瑔涡凶⑨屢浴?”開(kāi)頭,用于說(shuō)明當(dāng)前行或之后代碼的功能。2.1Python程序書(shū)寫(xiě)格式#這是我的第一個(gè)程序print(“Helloworld.”)#這是輸出函數(shù)Python語(yǔ)言使用“#”(讀作夏普)表示一行注釋的開(kāi)始。注釋具有以下作用:注釋一般用于在代碼中標(biāo)明作者和版權(quán)信息解釋代碼原理和用途通過(guò)注釋單行代碼輔助程序調(diào)試。2.1Python程序書(shū)寫(xiě)格式多行注釋是以三對(duì)單引號(hào)或者雙引號(hào)的語(yǔ)句,主要用于說(shuō)明函數(shù)或類(lèi)的功能。通常用于多行的程序說(shuō)明。例如以下就是多行注釋。"""函數(shù)名:getUserName編寫(xiě)者:袁連海編寫(xiě)日期:2024.9.17修訂日期:"""菜單操作:Format→CommentOut Region/UncommentRegion。鍵盤(pán)操作:Alt+3(批量注釋?zhuān)┖虯lt+4(解除注釋?zhuān)?.1Python程序書(shū)寫(xiě)格式2.1.3續(xù)行符Python程序是逐行編寫(xiě)的,每行代碼長(zhǎng)度并無(wú)限制,但從程序員角度,單行代碼太長(zhǎng)并不利于閱讀。Python中的續(xù)行符為反斜杠“\”在列表([])、字典({})、元組(())或三引號(hào)定義的字符串('''或""")中的多行語(yǔ)句,不需要使用反斜杠。2.1Python程序書(shū)寫(xiě)格式在書(shū)寫(xiě)Python程序時(shí),以下是大家要注意的:一般一行一條語(yǔ)句,可以使用反斜杠作續(xù)行符放在行尾;同一行中書(shū)寫(xiě)多條語(yǔ)句,語(yǔ)句之間用分號(hào);分割;注釋語(yǔ)句可以從任意位置開(kāi)始;復(fù)合語(yǔ)句的邏輯關(guān)系必須縮進(jìn);注意括號(hào)或者分號(hào)要用英文字符。Python官方建議每行代碼不超過(guò)79個(gè)字符,若代碼過(guò)長(zhǎng)應(yīng)該換行。Python會(huì)將圓括號(hào)、中括號(hào)和大括號(hào)中的行進(jìn)行隱式連接,我們可以根據(jù)這個(gè)特點(diǎn)實(shí)現(xiàn)過(guò)長(zhǎng)語(yǔ)句的換行顯示。string=("Python是一種面向?qū)ο?、解釋型?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言," "由GuidovanRossum于1989年底發(fā)明。" "第一個(gè)公開(kāi)發(fā)行版發(fā)行于1991年," "Python源代碼同樣遵循GPL(GNUGeneralPublicLicense)協(xié)議。")現(xiàn)實(shí)生活中,人們常用一些名稱(chēng)來(lái)標(biāo)記事物。例如,每種水果都有一個(gè)名稱(chēng)來(lái)標(biāo)識(shí)。若希望在程序中表示一些事物,開(kāi)發(fā)人員需要自定義一些符號(hào)和名稱(chēng),這些符號(hào)和名稱(chēng)叫做標(biāo)識(shí)符。
Python中的標(biāo)識(shí)符需要遵守一定的規(guī)則。標(biāo)示符由字母、下劃線(xiàn)和數(shù)字組成,且數(shù)字不能開(kāi)頭。Python中的標(biāo)識(shí)符是區(qū)分大小寫(xiě)的。例如,andy和Andy是不同的標(biāo)識(shí)符。Python中的標(biāo)識(shí)符不能使用關(guān)鍵字
。
命名規(guī)則2.2Python標(biāo)識(shí)符和關(guān)鍵字Python標(biāo)識(shí)符用于標(biāo)識(shí)變量、函數(shù)、類(lèi)、模塊或其他對(duì)象的名稱(chēng)Python中的標(biāo)識(shí)符需要遵守一定的規(guī)則。標(biāo)識(shí)符由字母(包括中文字符)、數(shù)字和下劃線(xiàn)組成。第一個(gè)字符必須是一個(gè)字母(a-z,A-Z)或下劃線(xiàn)(_),不能是數(shù)字或其他特殊字符。Python是大小寫(xiě)敏感的語(yǔ)言,因此“name”和“Name”是兩個(gè)不同的標(biāo)識(shí)符。標(biāo)識(shí)符不能使用Python的保留關(guān)鍵字,如if、for、while、class、def等標(biāo)識(shí)符命名建議:為了規(guī)范命名標(biāo)識(shí)符,關(guān)于標(biāo)識(shí)符的命名提以下建議:見(jiàn)名之意。常量名使用大寫(xiě)的單個(gè)單詞或由下畫(huà)線(xiàn)連接的多個(gè)單詞。模塊名、函數(shù)名使用小寫(xiě)的單個(gè)單詞或由下畫(huà)線(xiàn)連接的多個(gè)單詞。類(lèi)名使用大寫(xiě)字母開(kāi)頭的單個(gè)或多個(gè)單詞。2.2Python標(biāo)識(shí)符和關(guān)鍵字保留字,也稱(chēng)為關(guān)鍵字,指被編程語(yǔ)言?xún)?nèi)部定義并保留使用的標(biāo)識(shí)符。要查看Python系統(tǒng)的關(guān)鍵字,可以執(zhí)行以下代碼輸出查看。>>>importkeyword>>>keyword.kwlist['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']>>>關(guān)鍵字是Python已經(jīng)使用的、不允許開(kāi)發(fā)人員重復(fù)定義的標(biāo)識(shí)符。Python3中一共有35個(gè)關(guān)鍵字,每個(gè)關(guān)鍵字都有不同的作用。大家不用現(xiàn)在去記這些關(guān)鍵字,通過(guò)日積月累,這些關(guān)鍵字都會(huì)認(rèn)識(shí)。關(guān)鍵字False await else import pass Nonebreakexcept in raise True classfinallyis return and continueforlambda try as def from nonlocalwhile assert del global not withasync elif if or yield2.3Python常量和變量常量是在程序中不會(huì)改變的量,如34、0x34ef8、3.1415、”howareyou.”等變量是指內(nèi)容可以改變的量Python語(yǔ)言變量名的命名規(guī)則與標(biāo)識(shí)符命名規(guī)則相同,變量必須被初始化,否則會(huì)報(bào)錯(cuò)變量用于保存和表示數(shù)據(jù)值的一種語(yǔ)法元素,以下都是變量賦值。score12=100#賦值整型變量price=99.5#浮點(diǎn)型test1_2="hello"#字符串2.3Python常量和變量程序在運(yùn)行期間用到的數(shù)據(jù)會(huì)被保存在計(jì)算機(jī)的內(nèi)存單元中,為了方便存取內(nèi)存單元中的數(shù)據(jù),Python使用標(biāo)識(shí)符來(lái)標(biāo)識(shí)不同的內(nèi)存單元,如此,標(biāo)識(shí)符與數(shù)據(jù)建立了聯(lián)系。標(biāo)識(shí)內(nèi)存單元的標(biāo)識(shí)符又稱(chēng)為變量名Python通過(guò)賦值運(yùn)算符“=”將內(nèi)存單元中存儲(chǔ)的數(shù)值與變量建立聯(lián)系,即定義變量,具體語(yǔ)法格式如下:變量
=值2.3Python常量和變量a=10首先創(chuàng)建一個(gè)字面量10,然后a引用這個(gè)對(duì)象,也就是a存放的是對(duì)象10的地址。10aPython語(yǔ)言是一種面向?qū)ο蟮娜躅?lèi)型的解釋型計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,在Python語(yǔ)言中,一切都是對(duì)象,變量是對(duì)象,常量也是一個(gè)對(duì)象,這個(gè)與其他編程語(yǔ)言如C語(yǔ)言有很大區(qū)別。2.3Python常量和變量在Python語(yǔ)言中,變量不需要先申明,變量是對(duì)象的引用,實(shí)際數(shù)據(jù)包含在對(duì)象中,想使用變量時(shí),可以考慮一個(gè)名字,然后將其用作變量例如:當(dāng)執(zhí)行a=20這條語(yǔ)句時(shí),解釋器會(huì)執(zhí)行以下流程:創(chuàng)建一個(gè)類(lèi)型為整型、值為20的對(duì)象;創(chuàng)建一個(gè)變量名a把變量名a關(guān)聯(lián)到這個(gè)對(duì)象2.3Python常量和變量每個(gè)對(duì)象被創(chuàng)建時(shí)都有一個(gè)唯一的標(biāo)識(shí),可以用id()函數(shù)可以檢查變量引用對(duì)象的標(biāo)識(shí),可以認(rèn)為它就是對(duì)象的內(nèi)存地址,若標(biāo)識(shí)改變,說(shuō)明變量引用的對(duì)象已經(jīng)改變。下面的代碼演示通過(guò)id()函數(shù)來(lái)獲得某個(gè)對(duì)象的標(biāo)識(shí)。>>>a=10>>>b=10.0>>>c="abc">>>id(a),id(b),id(c)(2071956064,51387232,8508480)>>>2.3Python常量和變量用id函數(shù)可以查看變量關(guān)聯(lián)的對(duì)象的標(biāo)識(shí),若標(biāo)識(shí)相同,可以認(rèn)為變量引用的對(duì)象相同可以用is運(yùn)算符直接判斷兩個(gè)變量是否關(guān)聯(lián)到同一個(gè)對(duì)象通過(guò)函數(shù)type查看對(duì)象的類(lèi)型運(yùn)算符(==等于)判斷兩個(gè)對(duì)象的值是否相等。2.3Python常量和變量運(yùn)行并思考以下代碼:>>>a=50>>>b=a>>>type(a)<class'int'>>>>type(b)<class'int'>>>>b==aTrue>>>bisaTrue>>>id(b)2076347616>>>id(a)2076347616>>>>>>a=5.1>>>b=5.1>>>id(a)61676384>>>id(b)61676272>>>aisbFalse>>>a==bTrue>>>type(a)<class'float'>>>>type(b)<class'float'>2.4基本數(shù)據(jù)類(lèi)型2.4基本數(shù)據(jù)類(lèi)型Python語(yǔ)言基本數(shù)據(jù)類(lèi)型包括數(shù)值類(lèi)型、空值、布爾型、字節(jié)型與字符串類(lèi)型Python語(yǔ)言數(shù)值類(lèi)型表示數(shù)字或數(shù)值的數(shù)據(jù),也叫做數(shù)字類(lèi)型,數(shù)值類(lèi)型主要用于數(shù)學(xué)運(yùn)算以及索引成員變量有四種內(nèi)置數(shù)值類(lèi)型,分別是整型、浮點(diǎn)型、復(fù)數(shù)類(lèi)型和布爾型。此外,為了使程序能描述現(xiàn)實(shí)世界中各種復(fù)雜數(shù)據(jù),Python包括列表(list)、元組(tuple)、字典(dict)和集合(set)等組合數(shù)據(jù)類(lèi)型。2.4基本數(shù)據(jù)類(lèi)型Python內(nèi)置的數(shù)字類(lèi)型有整型(int)、浮點(diǎn)型(float)、復(fù)數(shù)類(lèi)型(complex)和布爾類(lèi)型(bool),其中int、float和complex分別對(duì)應(yīng)數(shù)學(xué)中的整數(shù)、小數(shù)和復(fù)數(shù);bool類(lèi)型比較特殊,它是int的子類(lèi),只有True和False兩種取值。整型:0101-239FalseTrue浮點(diǎn)型:
3.1415
4.2E-10
-2.334E-9復(fù)數(shù)類(lèi)型:3.12+1.2.3j
-1.23-93j布爾類(lèi)型:TrueFalse數(shù)字類(lèi)型示例2.4基本數(shù)據(jù)類(lèi)型2.4.1整型數(shù)據(jù)整數(shù)類(lèi)型數(shù)據(jù),簡(jiǎn)稱(chēng)整型數(shù)據(jù),與數(shù)學(xué)中的概念一致,不帶小數(shù)點(diǎn),有正值和負(fù)值之分,Python語(yǔ)言的整型數(shù)據(jù)可以用四種進(jìn)制表示:十進(jìn)制二進(jìn)制八進(jìn)制十六進(jìn)制2.4基本數(shù)據(jù)類(lèi)型十進(jìn)制整數(shù):沒(méi)有前綴,由0到9組成。例如:20、301、-450、0等;
二進(jìn)制整數(shù):以0b或0B為前綴,其后由0和1組成。例如:0b0101、-0B11011等;
八進(jìn)制整數(shù):以0o或0O為前綴,其后由0至7的數(shù)字組成。例如:0O37、-0o342等;
十六進(jìn)制整數(shù):以0x或0X為前綴,其后由0至9的數(shù)字和a至f字母或A至F字母組成。例如:0x754ef、-0X232DE等。2.4基本數(shù)據(jù)類(lèi)型通過(guò)函數(shù)str()、oct()、hex()、bin()將整數(shù)數(shù)值轉(zhuǎn)換為十進(jìn)制、八進(jìn)制、十六進(jìn)制、二進(jìn)制的字符串也可以通過(guò)int()函數(shù)把十進(jìn)制、八進(jìn)制、十六進(jìn)制、二進(jìn)制的字符串轉(zhuǎn)換為整數(shù)數(shù)值2.4基本數(shù)據(jù)類(lèi)型>>>a=2232>>>str(a)'2232'>>>oct(a)'0o4270'>>>hex(a)'0x8b8'>>>bin(a)'0b100010111000'>>>int("456")456>>>int("0o4270")>>>int("0o4270",base=8)2232>>>int("0x8b8",base=16)2232>>>int('0b100010111000',base=2)22322.4基本數(shù)據(jù)類(lèi)型2.4.2浮點(diǎn)型數(shù)據(jù)十進(jìn)制小數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成(必須有小數(shù)點(diǎn)),例如:2.454、0.、-19.11201等。指數(shù)形式:科學(xué)計(jì)數(shù)法表示,用字母e(或E)表示以10為底的指數(shù),e之前為數(shù)字部分,之后為指數(shù)部分。在指數(shù)形式表示浮點(diǎn)數(shù)時(shí),e(或E)前面必須有數(shù)字,后面必須是整數(shù)。例如:e-5、1.2E-3.5、1e都是錯(cuò)誤的2.4基本數(shù)據(jù)類(lèi)型浮點(diǎn)數(shù)和整數(shù)在計(jì)算機(jī)內(nèi)部存儲(chǔ)的方式是不同的,整數(shù)運(yùn)算永遠(yuǎn)是精確的,然而浮點(diǎn)數(shù)的運(yùn)算則可能會(huì)有四舍五入的誤差。2.4基本數(shù)據(jù)類(lèi)型2.4.3復(fù)數(shù)型數(shù)據(jù)Python語(yǔ)言中,虛部通過(guò)后綴‘J’或‘j’來(lái)表示,因此復(fù)數(shù)的表示形式為:實(shí)部+虛部j或
實(shí)部+虛部J。例如:3+5j,-5.6+7.8J等。對(duì)于復(fù)數(shù)a,可以用a.real獲取其實(shí)部,a.imag獲取其虛部,a.conjugate()獲取其共軛復(fù)數(shù),其它數(shù)值類(lèi)型與復(fù)數(shù)進(jìn)行運(yùn)算,結(jié)果是復(fù)數(shù)。complex()函數(shù)用于創(chuàng)建一個(gè)復(fù)數(shù)或者將一個(gè)數(shù)或字符串轉(zhuǎn)換為復(fù)數(shù)形式2.4基本數(shù)據(jù)類(lèi)型2.4.4布爾型數(shù)據(jù)Python語(yǔ)言的布爾類(lèi)型有兩個(gè)值:True和False,分別表示邏輯真和邏輯假。Python規(guī)定:任何數(shù)值類(lèi)型的0(比如0、0.0、0e0等)、空字符串''、None,空元組()、空列表[]、空字典{}都被當(dāng)作False,其他數(shù)值或非空字符串為T(mén)rue。注意,True和False的第一個(gè)字符是大寫(xiě)。2.4基本數(shù)據(jù)類(lèi)型空值是Python語(yǔ)言的一個(gè)特殊的值,表示一個(gè)空對(duì)象,用None表示??罩挡皇?空值常用于沒(méi)有返回值的函數(shù)結(jié)果二進(jìn)制數(shù)據(jù)通常用于網(wǎng)絡(luò)數(shù)據(jù)傳輸、二進(jìn)制圖片由bytes類(lèi)型表示,以字節(jié)為單位進(jìn)行處理。創(chuàng)建bytes類(lèi)型數(shù)據(jù)需在常規(guī)的str類(lèi)型前加個(gè)b以示區(qū)分和文件的保存等2.4基本數(shù)據(jù)類(lèi)型>>>c=b"">>>type(c)<class'bytes'>>>>s=bytes()#創(chuàng)建空的字節(jié)型數(shù)據(jù)>>>type(s)<class'bytes'>>>>s="袁連海">>>t=s.encode(encoding='utf-8')>>>s=t.decode()>>>s'袁連海'2.4基本數(shù)據(jù)類(lèi)型type()函數(shù)是Pyhton語(yǔ)言的一個(gè)內(nèi)置函數(shù),可以判斷變量的類(lèi)型,適用于任何類(lèi)型。isinstance()函數(shù)可以判斷一個(gè)對(duì)象是否是一個(gè)已知的類(lèi)型。isinstance(a,type)其中a表示待判斷的對(duì)象,type可以是類(lèi)、基本類(lèi)型或由它們組成的元組。如果a的類(lèi)型和type相同或是其中一個(gè),則返回True,否則返回False。2.4基本數(shù)據(jù)類(lèi)型三種基本的數(shù)值數(shù)據(jù)類(lèi)型存在一種逐漸擴(kuò)展關(guān)系:整數(shù)->浮點(diǎn)數(shù)->復(fù)數(shù)(整數(shù)是浮點(diǎn)數(shù)特例,浮點(diǎn)數(shù)是復(fù)數(shù)特例)當(dāng)自動(dòng)類(lèi)型轉(zhuǎn)換達(dá)不到轉(zhuǎn)換需求時(shí),可以使用類(lèi)型轉(zhuǎn)換函數(shù),將數(shù)據(jù)從一種類(lèi)型強(qiáng)制(或稱(chēng)為顯式)轉(zhuǎn)換成另一種類(lèi)型2.4基本數(shù)據(jù)類(lèi)型運(yùn)算符描
述int(x,base=10)將字符串x轉(zhuǎn)換為整數(shù),默認(rèn)為10進(jìn)制,int(123.45)結(jié)果為123float(x)將x轉(zhuǎn)換為浮點(diǎn)數(shù)float("241324.23")結(jié)果為241324.23complex(x)將x轉(zhuǎn)換為復(fù)數(shù),其中實(shí)部為x,虛部為0complex(x,
y)將x、y轉(zhuǎn)換為復(fù)數(shù),其中實(shí)部為x,虛部為y,如complex(1,4)的結(jié)果為(1+4j)str(x)將x轉(zhuǎn)換為字符串str(1234)的結(jié)果為'1234'chr(x)將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)字符,整數(shù)為字符的ASCII編碼chr(65)為'A'ord(x)將一個(gè)字符轉(zhuǎn)換為它的ASCII編碼的整數(shù)值ord("A")為65hex(x)將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)十六進(jìn)制字符串hex(255)的結(jié)果為'0xff'oct(x)將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)八進(jìn)制字符串oct(255)的結(jié)果為'0o377'eval(x)將字符串x當(dāng)作有效表達(dá)式求值,并返回計(jì)算結(jié)果eval("1+3+4")結(jié)果為8abs(x)絕對(duì)值,x的絕對(duì)值abs(-9.78)結(jié)果為9.78divmod(x,y)商余,(x//y,x%y),返回商和余數(shù)的元組,divmod(20,3)結(jié)果為元組(6,2)pow(x,y[,z])冪余,(x**y)%z,pow(3,8)結(jié)果為6561,pow(3,8,100)結(jié)果為61round(x[,d])四舍五入,d是保留小數(shù)位數(shù),默認(rèn)值為0,round(-123.456,2)結(jié)果為-123.46max(x1,x2,…,xn)最大值,返回x1,x2,…,xn中的最大值,n不限max(3,10,4,4,83)結(jié)果為10min(x1,x2,…,xn)最小值,返回x1,x2,…,xn中的最小值,n不限min(0,9,5,4,3)結(jié)果為0float(x)將x變成浮點(diǎn)數(shù),增加小數(shù)部分float(12)結(jié)果為12.0;float(“1.23”)結(jié)果為1.23complex(x)將x變成復(fù)數(shù),增加虛數(shù)部分complex(4)結(jié)果為4+0j常用類(lèi)型轉(zhuǎn)換函數(shù)和數(shù)值內(nèi)置函數(shù)2.4基本數(shù)據(jù)類(lèi)型字符串是一個(gè)由單引號(hào)、雙引號(hào)或者三引號(hào)包裹的、有序的字符序列,字符串是不可變數(shù)據(jù)類(lèi)型,將在后面章節(jié)詳細(xì)介紹字符串。下列是字符串的幾種表示:使用單引號(hào):'Iamaboy.'使用雙引號(hào):"dsf232*asfkwe" 使用三引號(hào):'''adfklkaldfk23((23432''或者”””adfkdasfdkaowekakds28384”””'2.5運(yùn)算符和表達(dá)式Python語(yǔ)言的運(yùn)算符不僅類(lèi)型豐富,而且使用方法靈活。根據(jù)操作數(shù)的不同,運(yùn)算符可以分為:(1)算術(shù)運(yùn)算符(+、–、*、/、**、//、%)(2)關(guān)系運(yùn)算符(>、<、>=、<=、==、!=)(3)邏輯運(yùn)算符(and、or、not)(4)位運(yùn)算符(<<、>>、~、|、^、&)(5)賦值運(yùn)算符(=、復(fù)合賦值運(yùn)算符)(6)成員運(yùn)算符(in、notin)(7)同一運(yùn)算符(is、isnot)(8)下標(biāo)運(yùn)算符([])(9)其他(如函數(shù)調(diào)用運(yùn)算符())2.5運(yùn)算符和表達(dá)式表達(dá)式是將運(yùn)算符、操作數(shù)和括號(hào)按一定規(guī)則連接起來(lái)的符合Python規(guī)則的式子。操作數(shù)可以是常量、變量或函數(shù)。表達(dá)式的類(lèi)型就是表達(dá)式計(jì)算結(jié)果的類(lèi)型。表達(dá)式中不同類(lèi)型的常量及變量,均應(yīng)變換為同一類(lèi)型的量。2.5運(yùn)算符和表達(dá)式2.5.1算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符包括加法+、減法-、乘法*、除法/、整除//、冪運(yùn)算**、取模%。其中*、/、//、**、%的優(yōu)先級(jí)高于+和-運(yùn)算;**運(yùn)算符表示乘方(冪)運(yùn)算,其優(yōu)先級(jí)高于*和/'='表示賦值運(yùn)算符,語(yǔ)法格式為:變量=表達(dá)式功能:把'='右邊表達(dá)式的值賦給'='左邊的變量,注意,復(fù)制運(yùn)算符左邊必須是變量,不能是表達(dá)式。2.5運(yùn)算符和表達(dá)式運(yùn)算符與“=”結(jié)合在一起就是復(fù)合賦值運(yùn)算符例如+=、-=、?=、/=。a+=b相當(dāng)于a=a+b復(fù)合賦值運(yùn)算符經(jīng)常用在自加、自減上,例如i+=1。這個(gè)同C語(yǔ)言的復(fù)合運(yùn)算符一樣。賦值運(yùn)算符'='與7種算術(shù)運(yùn)算符(+、-、*、/、//、**、%)和5種位運(yùn)算符(>>、<<、&、^、|)結(jié)合構(gòu)成12種復(fù)合賦值運(yùn)算符。Python3.8中新增了一個(gè)賦值運(yùn)算符——海象運(yùn)算符“:=”,該運(yùn)算符用于在表達(dá)式內(nèi)部為變量賦值,因形似海象的眼睛和長(zhǎng)牙而得此命名。num_one=1#使用海象運(yùn)算符為num_two賦值result=num_one+(num_two:=2)print(result)2.5運(yùn)算符和表達(dá)式x+=1 等價(jià)于
x=x+1x*=x+1等價(jià)于 x=x*(x+1)x%=5等價(jià)于 x=x%5將同一個(gè)值賦給多個(gè)變量的賦值方式稱(chēng)為鏈?zhǔn)劫x值,語(yǔ)法格式為:變量名1=變量名2=…=變量名n=表達(dá)式同時(shí)給多個(gè)變量賦不同的值,稱(chēng)為多變量同步賦值語(yǔ)法格式為:變量1,變量2,…,變量n=表達(dá)式1,表達(dá)式2,…,表達(dá)式n過(guò)程為:首先計(jì)算表達(dá)式右邊n個(gè)表達(dá)式的值,然后同時(shí)將表達(dá)式的值賦給左邊的n個(gè)變量。運(yùn)算符
意義
實(shí)例
運(yùn)算結(jié)果+
加 2+3 5-
減 4-6 -2? 乘 5*2 10?? 乘方 3**2 9
除法 7/3 2.3333333333333335// 整除(向下取整) 11//5 2%
求余數(shù) 20%6 2abs(x)
求x的絕對(duì)值 Abs(-20) 20divmod(x,y) 返回元組(x//y,x%y) divmod(11,5) (2,1)power(x,y) x的y次方 power(2,3) 8+= 加賦值 x+=y x=x+y2.5運(yùn)算符和表達(dá)式2.5.2關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符也叫比較運(yùn)算符,用來(lái)判斷兩個(gè)操作數(shù)的大小。如果關(guān)系成立,結(jié)果為T(mén)rue,否則為False。假設(shè)x=2,y=32.5運(yùn)算符和表達(dá)式2.5.3邏輯運(yùn)算符和邏輯表達(dá)式Python中分別使用“or”,“and”,“not”這三個(gè)關(guān)鍵字作為邏輯運(yùn)算符,其中or與and為雙目運(yùn)算符,not為單目運(yùn)算符。以x=10,y=20為例,具體如下:2.6.4邏輯運(yùn)算符2.5運(yùn)算符和表達(dá)式2.5.4位運(yùn)算符與表達(dá)式位運(yùn)算只能作用于整數(shù)類(lèi)型,按位運(yùn)算包括:按位與(&)、按位或(|)、
按位取反(~)、按位異或(^)、左移(<<)和右移(>>)
等等。位運(yùn)算符用于按二進(jìn)制位進(jìn)行邏輯運(yùn)算,操作數(shù)必須為整數(shù)。下面介紹位運(yùn)算符的功能,并以a=2,b=3為例進(jìn)行演示,具體如下:按位左移(<<)是指將二進(jìn)制形式操作數(shù)的所有位全部左移n位,高位丟棄,低位補(bǔ)0。以十進(jìn)制9為例,9<<4的結(jié)果為144,9轉(zhuǎn)為二進(jìn)制后是00001001,將轉(zhuǎn)換后的二進(jìn)制數(shù)左移4位。11144按位右移(>>)是指將二進(jìn)制形式操作數(shù)的所有位全部右移n位,低位丟棄,高位補(bǔ)0。以十進(jìn)制8為例,8轉(zhuǎn)換為二進(jìn)制后是00001000,將轉(zhuǎn)換后的二進(jìn)制數(shù)右移2位。8>>2的結(jié)果為2按位與(&)是指將參與運(yùn)算的兩個(gè)操作數(shù)對(duì)應(yīng)的二進(jìn)制位進(jìn)行“與”操作。當(dāng)對(duì)應(yīng)的兩個(gè)二進(jìn)制位均為1時(shí),結(jié)果位就為1,否則為0。以十進(jìn)制9和3為例,9和3轉(zhuǎn)換為二進(jìn)制后分別是00001001和00000011。按位或(|)是指將參與運(yùn)算的兩個(gè)操作數(shù)對(duì)應(yīng)的二進(jìn)制位進(jìn)行“或”操作。若對(duì)應(yīng)的兩個(gè)二進(jìn)制位有一個(gè)為1時(shí),結(jié)果位就為1。若參與運(yùn)算的數(shù)值為負(fù)數(shù),參與運(yùn)算的兩個(gè)數(shù)均以補(bǔ)碼出現(xiàn)。以十進(jìn)制8和3為例,8和3轉(zhuǎn)換為二進(jìn)制后分別是00001000和00000011。按位異或(^)是指將參與運(yùn)算的兩個(gè)操作數(shù)對(duì)應(yīng)的二進(jìn)制位進(jìn)行“異或”操作。當(dāng)對(duì)應(yīng)的兩個(gè)二進(jìn)制位中有一個(gè)為1,另一個(gè)為0時(shí),結(jié)果位為1,否則結(jié)果位為0,也就是對(duì)應(yīng)的兩個(gè)二進(jìn)制位相同時(shí)為0,不同時(shí)為1.以十進(jìn)制8和4為例,8和4轉(zhuǎn)換為二進(jìn)制后分別是00001000和00000100。2.5運(yùn)算符和表達(dá)式原碼、反碼、補(bǔ)碼是計(jì)算機(jī)中對(duì)數(shù)字的二進(jìn)制表示方法,它們主要用于表示有符號(hào)整數(shù)。原碼是最直觀(guān)的二進(jìn)制表示法,用來(lái)模擬人類(lèi)的正負(fù)數(shù)概念。最高位(第一位)是符號(hào)位(0代表正,1代表負(fù)),其余位代表數(shù)值的大小,例如(以8位二進(jìn)制為例):+5的原碼:00000101-5的原碼:100001012.5運(yùn)算符和表達(dá)式反碼是對(duì)原碼的一種變換方式,用于簡(jiǎn)化負(fù)數(shù)的表示。正數(shù)的反碼與其原碼相同,負(fù)數(shù)的反碼是在其原碼的基礎(chǔ)上,符號(hào)位不變,其余各位按位取反(即0變1,1變0),例如(以8位二進(jìn)制為例):+5的反碼:00000101(與原碼相同)-5的反碼:11111010(-5的原碼10000101的除符號(hào)位外各位取反)2.5運(yùn)算符和表達(dá)式補(bǔ)碼是對(duì)反碼的一種變換方式,是目前計(jì)算機(jī)系統(tǒng)中最普遍的方式來(lái)表示有符號(hào)整數(shù)。正數(shù)的補(bǔ)碼與其原碼相同,負(fù)數(shù)的補(bǔ)碼是在其反碼的基礎(chǔ)上加1。+5的補(bǔ)碼:00000101(與原碼、反碼相同)-5的補(bǔ)碼:11111011(-5的反碼11111010加1)2.5運(yùn)算符和表達(dá)式2.5.5成員運(yùn)算符和成員表達(dá)式成員運(yùn)算符in和notin用于測(cè)試給定數(shù)據(jù)是否存在于序列(如列表、字符串)中,關(guān)于它們的介紹如下:2.6.5成員運(yùn)算符in:如果指定元素在序列中返回True,否則返回False。notin:如果指定元素不在序列中返回True,否則返回False。2.5運(yùn)算符和表達(dá)式is用來(lái)檢查兩個(gè)變量是否引用同一對(duì)象,如果相同返回True,不相同則返回False。2.3Python常量和變量2.5.6變量的比較在Python語(yǔ)言中,比較兩個(gè)變量方法包括:比較變量的值,比較變量引用的對(duì)象中的數(shù)據(jù)是否相同;比較標(biāo)識(shí),判斷兩個(gè)變量是否引用的是同一對(duì)象,指向的內(nèi)存地址是否相同;類(lèi)型比較,比較兩個(gè)變量的類(lèi)型是否相同。2.3Python常量和變量當(dāng)且僅僅比較的兩個(gè)變量指向同一個(gè)對(duì)象時(shí)is才返回True,而==是說(shuō)明指向同一個(gè)對(duì)象的兩個(gè)變量的值是相等的。當(dāng)is返回為T(mén)rue時(shí),==一定返回的是True,但是==返回的值為T(mén)rue,is不一定返回的是True小整數(shù)的范圍在[-5,257),對(duì)于小整數(shù)來(lái)說(shuō),id(number)是相同的,因?yàn)槎际且玫耐粔K內(nèi)存,大于等于257的整數(shù)引用的不是同一塊內(nèi)存。2.6字符串思考:什么是字符串?2.6字符串字符串是由字母、符號(hào)或者數(shù)字組成的字符序列。2.6字符串字符串是由字母、符號(hào)或者數(shù)字組成的字符序列字符串是Python中最常用的數(shù)據(jù)類(lèi)型??梢允褂靡?hào)(英文的單引號(hào)、雙引號(hào)或者三引號(hào))來(lái)創(chuàng)建字符串>>>c1='Hello'#單引號(hào)>>>c2="Python"#雙引號(hào)>>>c3='''12345'''#三引號(hào)>>>c4='''Isaid:"HelloWorld!"''''helloword'使用單引號(hào)使用雙引號(hào)"helloword"使用三引號(hào)"""mynameisjackmynameisjack"""Python支持使用單引號(hào)、雙引號(hào)和三引號(hào)定義字符串,其中單引號(hào)和雙引號(hào)通常用于定義單行字符串,三引號(hào)通常用于定義多行字符串。2.6字符串2.6.1字符串創(chuàng)建字符串(str)是Python內(nèi)置的數(shù)據(jù)類(lèi)型,用于存儲(chǔ)一系列字符(包括字母、數(shù)字、標(biāo)點(diǎn)符號(hào)等)字符串也屬于序列,序列的基本操作有創(chuàng)建、索引、切片、連接以及屬于該對(duì)象的方法。在Python中可以用單引號(hào)('')、雙引號(hào)("")和三引號(hào)(""""""/'''''')創(chuàng)建字符串。2.6字符串Python使用反斜杠“\”對(duì)字符串里面的字符進(jìn)行轉(zhuǎn)義,把一個(gè)字符前加反斜杠叫做轉(zhuǎn)義字符。例如,在字符串中的字符單引號(hào)(‘)前添加反斜杠“\’”,Python解釋器會(huì)將“\’”之后的單引號(hào)解釋為普通字符,而非字符串的定界符,以下代碼顯示轉(zhuǎn)義字符的含義。>>>print('let\'sgotoschool.')let'sgotoschool.2.6字符串表2-3轉(zhuǎn)義字符表轉(zhuǎn)義字符含義ASCII碼(16/10進(jìn)制)\o空字符(NULL)00H/0\n換行符(LF)0AH/10\r回車(chē)符(CR)0DH/13\t水平制表符(HT)09H/9\v垂直制表(VT)0B/11\a響鈴(BEL)07/7\b退格符(BS)08H/8\f換頁(yè)符(FF)0CH/12\’單引號(hào)27H/39\”雙引號(hào)22H/34\\反斜杠5CH/92\問(wèn)號(hào)字符
3F/63\ddd任意字符
三位八進(jìn)制\xhh任意字符
二位十六進(jìn)制2.6字符串在一段字符串中如果包含多個(gè)轉(zhuǎn)義字符,但又不希望轉(zhuǎn)義字符產(chǎn)生作用,此時(shí)可以使用原始字符串。原始字符串即在字符串開(kāi)始的引號(hào)之前添加r或R,使它成為原始字符串。2.6字符串2.6.2字符串連接和重復(fù)運(yùn)算符“+”和“*”用在兩個(gè)數(shù)值型對(duì)象之間時(shí),表示對(duì)兩個(gè)數(shù)求和以及求積,那么,兩個(gè)字符串用“+”進(jìn)行運(yùn)算表示什么意思呢?運(yùn)算符+用在兩個(gè)字符串之間是兩個(gè)字符串進(jìn)行連接。運(yùn)算符*用在字符串和一個(gè)整數(shù)之間表示字符串重復(fù)操作。2.6字符串>>>123+123#運(yùn)算符+用在兩個(gè)數(shù)值之間,表示兩個(gè)數(shù)求和246>>>"123"+"123"#運(yùn)算符+用在兩個(gè)字符串之間,表示兩個(gè)字符串連接'123123'>>>"123"+5#運(yùn)算符+用在字符串和數(shù)值之間,類(lèi)型出錯(cuò)Traceback(mostrecentcalllast):File"<pyshell#3>",line1,in<module>"123"+5TypeError:Can'tconvert'int'objecttostrimplicitly>>>"123"*5#運(yùn)算符*用在字符串和整數(shù)之間,字符串重復(fù)'123123123123123'>>>123*5#123是數(shù)值,”123”是字符串615>>>"123"*5.5#運(yùn)算符+用在字符串和浮點(diǎn)數(shù)之間,類(lèi)型出錯(cuò)Traceback(mostrecentcalllast):File"<pyshell#5>",line1,in<module>"123"*5.5TypeError:can'tmultiplysequencebynon-intoftype'float'>>>2.6字符串2.6.3內(nèi)置函數(shù)和字符串對(duì)象的方法表2-4操作字符串的內(nèi)置函數(shù)函數(shù)名功能說(shuō)明all(x)測(cè)試x是否所有元素都是Truex是組合類(lèi)型或可迭代對(duì)象等any(x)測(cè)試變量x中是否含有True元素同上len(x)返回字符串x的長(zhǎng)度(字符數(shù))同上max(x[,key])返回變量x中最大元素同上min(x[,key])返回變量x中最小元素同上zip(x[,y,…])返回zip對(duì)象,其元素是將參數(shù)對(duì)應(yīng)位置的元素組合成的元組x、y等組合類(lèi)型或可迭代對(duì)象等,且可以是不同類(lèi)型enumerate(x)枚舉x中的元素,返回枚舉對(duì)象同上sorted(x[,key[,revers]])對(duì)參數(shù)x的所有元素進(jìn)行排序同上Python中提供了實(shí)現(xiàn)字符串查找操作的find()方法,該方法可查找字符串中是否包含子串,若包含則返回子串首次出現(xiàn)的位置,否則返回-1。str.find(sub[,start[,end]])格式sub:指定要查找的子串。start:開(kāi)始索引,默認(rèn)為0。end:結(jié)束索引,默認(rèn)為字符串的長(zhǎng)度。word='t'string='Python'result=string.find(word)print(result)示例2結(jié)果字符串常用方法Python中提供了實(shí)現(xiàn)字符串替換操作的replace()方法,該方法可將當(dāng)前字符串中的指定子串替換成新的子串,并返回替換后的新字符串。str.replace(old,new[,count])格式old:被替換的舊子串。new:替換舊子串的新子串。count:表示替換舊字符串的次數(shù)。string='Hesaid,"youhavetogoforward,'\'Thenturnleft,Thengoforward,andThenturnright."'#指定替換兩次new_string=string.replace("Then","then",2)print(new_string)示例Hesaid,"youhavetogoforward,thenturnleft,thengoforward,andThenturnright."結(jié)果字符串常用方法split()方法可以按照指定分隔符對(duì)字符串進(jìn)行分割,該方法會(huì)返回由分割后的子串組成的列表。str.split(sep=None,maxsplit=-1)格式sep:分隔符,默認(rèn)為空字符。maxsplit:分割次數(shù),默認(rèn)值為-1,
表示不限制分割次數(shù)。string="Hello,mynameisWangHong"#以空格作為分割符,并分割2次print(string.split('',2))示例['Hello,','my','nameisWangHong']結(jié)果字符串常用方法join()方法使用指定的字符連接字符串并生成一個(gè)新的字符串。join()方法的語(yǔ)法格式如下。str.join(iterable)格式iterable:表示連接字符串的字符。symbol='*'world='Python'print(symbol.join(world))示例P*y*t*h*o*n結(jié)果字符串常用方法字符串中可能會(huì)包含一些無(wú)用的字符(如空格),在處理字符串之前往往需要先刪除這些無(wú)用的字符。Python中的strip()、lstrip()和rstrip()方法可以刪除字符串中的指定字符。字符串常用方法在特定情況下會(huì)對(duì)英文單詞的大小寫(xiě)形式進(jìn)行要求,表示特殊簡(jiǎn)稱(chēng)時(shí)全字母大寫(xiě),如CBA;表示月份、周日、節(jié)假日時(shí)每個(gè)單詞首字母大寫(xiě),如Monday。Python中支持字母大小寫(xiě)轉(zhuǎn)換的方法有upper()、lower()、capitalize()和title()。字符串常用方法在使用Word處理文檔時(shí)可能需要對(duì)文檔的格式進(jìn)行調(diào)整,如標(biāo)題居中顯示、左對(duì)齊、右對(duì)齊等。Python提供了center()、ljust()、rjust()這3個(gè)方法來(lái)設(shè)置字符串的對(duì)齊方式。字符串常用方法2.6字符串上機(jī)練習(xí)字符串的方法2.7基本輸入輸出2.7.1input和print函數(shù)input()函數(shù)獲得用戶(hù)從鍵盤(pán)輸入的數(shù)據(jù)。無(wú)論用戶(hù)在鍵盤(pán)輸入什么內(nèi)容,input()函數(shù)返回結(jié)果都是字符串類(lèi)型語(yǔ)法格式如下:
變量名=input([提示性文字])2.7基本輸入輸出【例2-1】
用戶(hù)從鍵盤(pán)輸入出生年份(4位數(shù)字,如1972),計(jì)算該用戶(hù)年齡,程序中使用input()函數(shù)輸入年份,使用datetime模塊獲取當(dāng)前年份,然后用系統(tǒng)當(dāng)年的年份減去輸入的年份,就是用戶(hù)的年齡。importdatetime#導(dǎo)入datetime模塊
input_data=input("請(qǐng)輸入您的出生年份:")#接受從鍵盤(pán)輸入的數(shù)據(jù),注意是字符串。birth_year=int(input_data)#由于輸入的是字符串,需要轉(zhuǎn)換成整數(shù)now_year=datetime.datetime.now().yearage=now_year-birth_yearprint("您的年齡為:"+str(age)+"歲")程序運(yùn)行結(jié)果為:請(qǐng)輸入您的出生年份:1970您的年齡為:54歲>>>2.7基本輸入輸出print()函數(shù)用于輸出信息到控制臺(tái)(通常是命令提示符或終端窗口)。它可以將任何可打印的對(duì)象(如字符串、數(shù)字、列表、元組、字典等)轉(zhuǎn)換為字符串并顯示出來(lái),用于調(diào)試、顯示信息或與用戶(hù)進(jìn)行交互。print(*objects,sep='',end='\n',file=sys.stdout,flush=False)2.7基本輸入輸出*objects:是一個(gè)不定長(zhǎng)參數(shù),可以傳入任意數(shù)量的對(duì)象作為參數(shù),它們將被轉(zhuǎn)換為字符串并輸出。例如,print("Hello","world")會(huì)輸出"Helloworld"??蛇x的關(guān)鍵字參數(shù):sep參數(shù)是對(duì)象之間的分隔符,默認(rèn)為空格。如果想要改變對(duì)象之間的分隔符,可以傳入一個(gè)字符串作為該參數(shù)的值。例如,print(1,2,3,sep=',')會(huì)輸出"1,2,3"。end參數(shù)是輸出結(jié)束后的字符或字符串,默認(rèn)為換行符(\n)??梢詡魅胍粋€(gè)字符串來(lái)改變默認(rèn)行為。例如,print("Hello",end="")會(huì)輸出"Hello"(后面跟著一個(gè)空格而不是換行)。file是輸出的目標(biāo)對(duì)象,默認(rèn)為sys.stdout,即標(biāo)準(zhǔn)輸出流。可以傳入一個(gè)文件對(duì)象或其他具有寫(xiě)屬性的對(duì)象,以將輸出重定向到該對(duì)象。flush:這是一個(gè)布爾值,決定是否立即將輸出語(yǔ)句輸出到目標(biāo)對(duì)象。默認(rèn)為False,表示輸出首先會(huì)被寫(xiě)入緩存;如果設(shè)置為T(mén)rue,則會(huì)立即輸出。2.7基本輸入輸出2.7.2eval和exec函數(shù)eval()和exec()是Python的內(nèi)置函數(shù),它們?cè)试S執(zhí)行動(dòng)態(tài)生成的代碼。eval()函數(shù)用于執(zhí)行一個(gè)字符串表達(dá)式,并返回表達(dá)式的計(jì)算結(jié)果>>>a=4>>>b=5>>>c=eval("a+b")>>>c9>>>a="12">>>b="34">>>c=eval(a+b)>>>c1234>>>注意在使用eval()函數(shù)時(shí)要特別小心,因?yàn)樗鼤?huì)執(zhí)行傳入的任何代碼。2.7基本輸入輸出exec()函數(shù)用于執(zhí)行存儲(chǔ)在字符串或?qū)ο蟠a中的Python語(yǔ)句。與eval()不同,exec()用于執(zhí)行更復(fù)雜的代碼塊,如循環(huán)、條件語(yǔ)句、函數(shù)定義等。exec(object[,globals[,locals]])object參數(shù)是必需的,表示要執(zhí)行的代碼塊。可以是字符串、代碼對(duì)象或可迭代對(duì)象(包含字符串或代碼對(duì)象的列表)。globals(可選):與eval()相同。locals(可選):與eval()相同。2.7基本輸入輸出exec和eval兩個(gè)函數(shù)都用于執(zhí)行動(dòng)態(tài)生成的代碼,并且在Python3中的函數(shù)聲明基本相同(都接受globals和locals參數(shù))。不同的是兩個(gè)函數(shù)的第一個(gè)輸入?yún)?shù):eval()只能用來(lái)計(jì)算單獨(dú)一個(gè)Python表達(dá)式的值,并返回結(jié)果;而exec()用來(lái)執(zhí)行Python語(yǔ)句,無(wú)返回值(始終返回None)。eval()主要用于簡(jiǎn)單的數(shù)學(xué)計(jì)算或表達(dá)式求值;而exec()用于執(zhí)行更復(fù)雜的代碼塊,如函數(shù)定義、循環(huán)等。2.7基本輸入輸出2.7.3格式化輸出Python程序的print函數(shù)可以將數(shù)據(jù)輸出到顯示器上。格式化輸出包括三種方法:在字符串開(kāi)頭的引號(hào)前添加f或F(Python3.6以上版本才支持))舊式字符串格式化方法,%運(yùn)算符(求余符)也可用于字符串格式化。字符串format()方法2.7基本輸入輸出第一是使用格式化字符串字面值,要在字符串開(kāi)頭的引號(hào)前添加f或F。在這種字符串中,可以在{和}字符之間輸入引用的變量,或字面值的Python表達(dá)式。注意,這種方式3.5版本不支持。>>>year=24>>>name=“tom”>>>f'"{name}is{year}yearsold."tomis24yearsold.第二種格式化輸出是%運(yùn)算符與字符串和格式化參數(shù)一起使用,%符號(hào)通常用于字符串格式化,字符串具有一種特殊的內(nèi)置操作,它可以使用%進(jìn)行格式化。format%values格式字符串真實(shí)數(shù)據(jù)format表示一個(gè)字符串,該字符串中包含單個(gè)或多個(gè)為真實(shí)數(shù)據(jù)占位的格式符;values表示單個(gè)或多個(gè)真實(shí)數(shù)據(jù);%代表執(zhí)行格式化操作,即將format中的格式符替換為values。不同的格式符為不同類(lèi)型的數(shù)據(jù)預(yù)留位置,常見(jiàn)的格式符如下所示。2.7基本輸入輸出例如:>>>print("Hello,%s!"%"world")Hello,world!>>>year=24>>>name="tom">>>print("%sis%dyearsold."%
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 1 My day PartB(教學(xué)設(shè)計(jì))-2023-2024學(xué)年人教PEP版英語(yǔ)五年級(jí)下冊(cè)
- 股權(quán)劃轉(zhuǎn)合同范本
- 12 早睡早起 第1課時(shí) 教學(xué)設(shè)計(jì)-2023-2024學(xué)年道德與法治一年級(jí)上冊(cè)統(tǒng)編版
- 3主動(dòng)拒絕煙酒與毒品 第一課時(shí) 教學(xué)設(shè)計(jì)-2024-2025學(xué)年道德與法治五年級(jí)上冊(cè)統(tǒng)編版
- 廣東律師合同范本
- 2023-2024學(xué)年天津市中小學(xué)生mixly創(chuàng)意編程 第14課 走8字的小車(chē)-教學(xué)設(shè)計(jì)
- 安全教育家長(zhǎng)會(huì)演講稿
- 10《青山處處埋忠骨》教學(xué)設(shè)計(jì)-2024-2025學(xué)年五年級(jí)下冊(cè)語(yǔ)文統(tǒng)編版
- 4 平平安安回家來(lái) 第一課時(shí) 教學(xué)設(shè)計(jì)-2024-2025學(xué)年道德與法治一年級(jí)上冊(cè)(統(tǒng)編版五四制)
- 7 散文詩(shī)二首2024-2025學(xué)年新教材七年級(jí)上冊(cè)語(yǔ)文新教學(xué)設(shè)計(jì)(統(tǒng)編版2024)
- 2024年牛排行業(yè)分析報(bào)告及未來(lái)發(fā)展趨勢(shì)
- 車(chē)間維修現(xiàn)場(chǎng)安全操作規(guī)程范文
- 【全套】醫(yī)院智能化系統(tǒng)報(bào)價(jià)清單
- 北師大版五年級(jí)數(shù)學(xué)上冊(cè)典型例題系列之期中專(zhuān)項(xiàng)練習(xí):分段計(jì)費(fèi)問(wèn)題(解析版)
- 1到六年級(jí)古詩(shī)全部打印
- 新聞學(xué)概論(復(fù)習(xí)重點(diǎn)內(nèi)容)
- 功率測(cè)量模塊的軟件設(shè)計(jì)方案與實(shí)現(xiàn)
- 火龍罐療法經(jīng)典課件
- 核島通風(fēng)系統(tǒng)介紹
- 我見(jiàn)證改革開(kāi)放三十年課件
- xxxx智能化工程施工進(jìn)度計(jì)劃表
評(píng)論
0/150
提交評(píng)論