版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Python語(yǔ)言程序設(shè)計(jì)第1章Python語(yǔ)言基礎(chǔ)Python語(yǔ)言概述Python語(yǔ)言開(kāi)發(fā)環(huán)境配置常量和變量Python數(shù)據(jù)類型運(yùn)算常用系統(tǒng)函數(shù)程序設(shè)計(jì)語(yǔ)言按照發(fā)展過(guò)程可分為機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言。機(jī)器語(yǔ)言:機(jī)器語(yǔ)言是二進(jìn)制語(yǔ)言,屬于低級(jí)語(yǔ)言,直接使用二進(jìn)制代碼表示指令,是計(jì)算機(jī)硬件能直接識(shí)別和執(zhí)行的程序設(shè)計(jì)語(yǔ)言。匯編語(yǔ)言:使用助記符與機(jī)器語(yǔ)言中的指令進(jìn)行一一對(duì)應(yīng),計(jì)算機(jī)不能直接識(shí)別,需要由匯編語(yǔ)言編譯器將其轉(zhuǎn)換成機(jī)器指令。匯編語(yǔ)言和機(jī)器語(yǔ)言類似,不同計(jì)算機(jī)結(jié)構(gòu)的匯編指令不同,難以移植,都屬于低級(jí)語(yǔ)言。高級(jí)語(yǔ)言:是一種接近自然語(yǔ)言的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,可以更容易地描述計(jì)算問(wèn)題并利用計(jì)算機(jī)解決問(wèn)題。高級(jí)語(yǔ)言的語(yǔ)句是面向問(wèn)題的,而不是面向機(jī)器的。1.1Python語(yǔ)言概述編譯與解釋使用高級(jí)語(yǔ)言編寫(xiě)的程序叫做源程序,它不能被計(jì)算機(jī)直接識(shí)別,必須經(jīng)過(guò)轉(zhuǎn)換才能執(zhí)行。轉(zhuǎn)換方式有兩類:編譯是將源代碼經(jīng)過(guò)編譯器(Compiler)轉(zhuǎn)換為目標(biāo)代碼,目標(biāo)代碼是機(jī)器語(yǔ)言代碼,因此其目標(biāo)程序可脫離語(yǔ)言環(huán)境獨(dú)立執(zhí)行,也就是源程序一旦被編譯,就不再需要編譯器或源代碼。解釋是將源代碼一邊由相應(yīng)語(yǔ)言的解釋器(Interpreter)“翻譯”成目標(biāo)代碼,一邊執(zhí)行,也就是逐條翻譯、逐條運(yùn)行源代碼。Python語(yǔ)言是一種高級(jí)通用腳本編程語(yǔ)言,它是一種高層次的結(jié)合了解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮挠?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。雖然采用解釋方式執(zhí)行程序,但它的解釋器保留了編譯器的部分功能,也會(huì)生成完整的目標(biāo)代碼。這種將解釋器和編譯器結(jié)合的方式推動(dòng)了現(xiàn)代腳本語(yǔ)言的演進(jìn)。1.1Python語(yǔ)言概述Python語(yǔ)言的發(fā)展Python由荷蘭的GuidovanRossum設(shè)計(jì)。Python第一個(gè)版本于1991年初公開(kāi)發(fā)行。Python2.0于2000年10月發(fā)布,增加了許多新的語(yǔ)言特性。Python3.0于2008年12月發(fā)布,此版本不完全兼容Python2.0,導(dǎo)致Python2.0與Python3.0不兼容1.1Python語(yǔ)言概述Python語(yǔ)言的特點(diǎn)語(yǔ)法簡(jiǎn)潔:語(yǔ)法結(jié)構(gòu)簡(jiǎn)單,沒(méi)有太多的語(yǔ)法細(xì)節(jié)和規(guī)則要求開(kāi)源、免費(fèi):源代碼公開(kāi),可以被自由使用、復(fù)制、修改和再發(fā)布。各種社區(qū)提供了成千上萬(wàn)不同功能的開(kāi)源函數(shù)模塊,而且還在不斷地發(fā)展跨平臺(tái):Python已經(jīng)經(jīng)過(guò)改動(dòng)被移植在許多平臺(tái)上,包括Linux、Windows、FreeBSD(類UNIX操作系統(tǒng)),Symbian、Google基于Linux開(kāi)發(fā)的android平臺(tái)。Python程序可以在任何安裝解釋器的計(jì)算機(jī)平臺(tái)上執(zhí)行,因此,用該語(yǔ)言編寫(xiě)的程序可以不經(jīng)修改地實(shí)現(xiàn)跨平臺(tái)運(yùn)行。1.1Python語(yǔ)言概述Python語(yǔ)言的特點(diǎn)強(qiáng)大的生態(tài)系統(tǒng):Python解釋器提供豐富的內(nèi)置類和函數(shù)庫(kù),此外,世界各地的程序員在開(kāi)源社區(qū)提供了大量成熟的第三方庫(kù)。模式多樣:Python3.0解釋器內(nèi)部雖然采用面向?qū)ο蠓绞綄?shí)現(xiàn),但在語(yǔ)法層面同時(shí)支持面向過(guò)程和面向?qū)ο髢煞N編程模式,更靈活。1.1Python語(yǔ)言概述1.2.1安裝Python網(wǎng)址:/downloads/。根據(jù)操作系統(tǒng)(windows,Linux/UNIX,macOS)不同的python版本1.2Python語(yǔ)言開(kāi)發(fā)環(huán)境配置1.2Python語(yǔ)言開(kāi)發(fā)環(huán)境配置
選中“AddPython3.*toPATH”復(fù)選框,并使用默認(rèn)的安裝路徑,單擊“InstallNow”選項(xiàng),這時(shí)進(jìn)入系統(tǒng)安裝過(guò)程,安裝完成后單擊close按鈕即可。如果要設(shè)置安裝路徑和其他特性,可以選擇“Customizeinstallation”自定義安裝選項(xiàng)。1.2Python語(yǔ)言開(kāi)發(fā)環(huán)境配置1.2.2啟動(dòng)Python解釋器和集成開(kāi)發(fā)環(huán)境啟動(dòng)命令行形式的Python解釋器在Windows系統(tǒng)下,選擇“開(kāi)始”→“所有程序”→“Python3.11”→“Python3.11(64-bit)”來(lái)啟動(dòng)命令行形式的Python解釋器1.2Python語(yǔ)言開(kāi)發(fā)環(huán)境配置其中“>>>”是Python解釋器的提示符,在提示符后輸入一條語(yǔ)句敲回車(chē)鍵后,將會(huì)立即顯示運(yùn)行結(jié)果1.2.2啟動(dòng)Python解釋器和集成開(kāi)發(fā)環(huán)境啟動(dòng)圖形用戶界面的Python集成開(kāi)發(fā)環(huán)境(IDLE)在Windows系統(tǒng)下,選擇“開(kāi)始”→“所有程序”→“Python3.11”→“IDLE(Python3.81164-bit)”P(pán)ython集成開(kāi)發(fā)環(huán)境(IDLE)是圖形用戶界面,集程序編輯、解釋、執(zhí)行于一體,是一個(gè)集成開(kāi)發(fā)環(huán)境,可以提高編程的效率。1.2Python語(yǔ)言開(kāi)發(fā)環(huán)境配置1.2.3運(yùn)行Python程序交互式:在啟動(dòng)命令行形式和圖形用戶界面形式下都可在提示符(>>>)后輸入語(yǔ)句。例如,先在提示符>>>后輸入一個(gè)輸出語(yǔ)句,下一行將接著輸出結(jié)果。>>>print("Hello,World!")Hello,World!>>>print(1+3/4)1.751.2Python語(yǔ)言開(kāi)發(fā)環(huán)境配置1.2.3運(yùn)行Python程序文件式:在Python解釋器圖形用戶界面窗口,選擇“File”→“NewFile”命令,或按Ctrl+N鍵,打開(kāi)程序編輯窗口,如圖所示。在程序編輯窗口輸入程序的全部語(yǔ)句,例如輸入語(yǔ)句:print("Hello,World!")
語(yǔ)句輸入完成后,在Python程序編輯窗口選擇“File”→“Save”命令,確定保存文件位置和文件名,例如e:\mypython\hello.py。
在Python程序的編輯窗口選擇“Run”→“RunModule”命令,或按F5鍵,運(yùn)行程序并在Python解釋器圖形用戶界面窗口中輸出運(yùn)行結(jié)果。1.2Python語(yǔ)言開(kāi)發(fā)環(huán)境配置1.3.1變量一般定義:在程序運(yùn)行過(guò)程中,其值可以改變的量稱為變量。變量就是存儲(chǔ)數(shù)據(jù)的容器(若干字節(jié)的存儲(chǔ)單元),可用來(lái)存放數(shù)據(jù),并通過(guò)變量名來(lái)操作數(shù)據(jù)。在Python中,不僅變量的值可以變化,變量的類型也可以變化。在Python語(yǔ)言中,變量不需要聲明其數(shù)據(jù)類型,每個(gè)變量在使用之前通過(guò)賦值的動(dòng)作,創(chuàng)建并開(kāi)辟內(nèi)存空間,并保存值。如果沒(méi)有賦值而直接使用,會(huì)拋出變量未定義的異常。系統(tǒng)根據(jù)所賦的值,自動(dòng)確定其數(shù)據(jù)類型。1.3常量和變量1.3.1變量單個(gè)賦值,例如:>>>a=12#單個(gè)直接賦值,創(chuàng)建變量a,給12分配內(nèi)存空間,讓a指向12>>>id(a)#查看a的內(nèi)存地址8791371028592>>>a=a+1#先計(jì)算出和13,把13賦給a,給13分配內(nèi)存空間,a指向13>>>id(a)#不再指向12。Python具有內(nèi)存自動(dòng)管理功能,對(duì)于沒(méi)有
8791371028624
#任何變量指向的值,將自動(dòng)刪除,回收內(nèi)存空間基于值的內(nèi)存管理方式,Python會(huì)為每個(gè)出現(xiàn)的值分配內(nèi)存空間1.3常量和變量1.3.1變量多個(gè)批量賦值和分別賦值。例如>>>b=c=12.34#多個(gè)批量賦值,只給12.34分配內(nèi)存空間>>>id(b),id(c)#查看b和c的地址,兩個(gè)變量指向同一個(gè)值(50852336,50852336)>>>x,y,z=34,3.5,"China"#分別賦值>>>type(x)#x是整型(int)變量<class'int'>>>>type(y)#y是浮點(diǎn)型(float)變量<class'float'>>>>type(z)#z是字符串型(string)變量<class'str'>1.3常量和變量1.3.1變量>>>a=1.0>>>b=1.0>>>id(a)47789136>>>id(b)50852304>>>a=1>>>b=1>>>id(a)8791371028240>>>id(b)87913710282401.3常量和變量Python會(huì)為每個(gè)出現(xiàn)的值分配內(nèi)存空間,哪怕它們的值相等對(duì)于1這樣簡(jiǎn)單的數(shù)值小的int類型對(duì)象,Python就只會(huì)為1分配一次內(nèi)存空間,a和b均指向它,所以a和b的內(nèi)存地址相同1.3.1變量開(kāi)發(fā)人員一般情況下不需要考慮內(nèi)存管理問(wèn)題,只要知道:賦值的形式,通過(guò)賦值就定義好了變量:?jiǎn)蝹€(gè)賦值:a=3多個(gè)批量賦值:b=c=3.4分別賦值:d,e,f=34,3.5,"China"1.3常量和變量Python中對(duì)變量描述錯(cuò)誤的選項(xiàng)是()A、Python不需要顯式聲明變量類型,在第一次變量賦值時(shí)由值決定變量的類型
B、變量通過(guò)變量名訪問(wèn)C、變量必須在創(chuàng)建和賦值后使用
D、變量PI與變量Pi被看作相同的變量正確答案:D1.3.2常量在程序運(yùn)行過(guò)程中,其值不能改變的數(shù)據(jù)對(duì)象稱為常量(constant)在字面上就能區(qū)分是什么類型的常量35----整型3.14----浮點(diǎn)型“HelloWorld”----字符串型還有很多其他類型1.3常量和變量1.3.3關(guān)鍵字和標(biāo)識(shí)符關(guān)鍵字(keyword),就是Python語(yǔ)言中事先定義的、具有特定含義的標(biāo)識(shí)符,又稱保留字。關(guān)鍵字不允許另作它用,否則執(zhí)行時(shí)會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤。查看所有Python關(guān)鍵字,語(yǔ)句如下:>>>importkeyword>>>print(keyword.kwlist)1.3常量和變量以下不屬于Python語(yǔ)言保留字的是()A、classB、passC、subD、def正確答案:C1.3.3關(guān)鍵字和標(biāo)識(shí)符計(jì)算機(jī)程序處理的對(duì)象是數(shù)據(jù),程序是描述數(shù)據(jù)處理的過(guò)程。在程序中,通過(guò)名稱建立對(duì)象與使用的關(guān)系。這個(gè)名稱就是標(biāo)識(shí)符。具體命名規(guī)則如下。(1)由字母、數(shù)字、下劃線_等組成,首字符不能是數(shù)字。(2)標(biāo)識(shí)符中的字母是嚴(yán)格區(qū)分大小寫(xiě)的。(3)標(biāo)識(shí)符不能與關(guān)鍵字一樣。
(4)Python3系列的標(biāo)識(shí)符可以采用中文等非英語(yǔ)語(yǔ)言字符,但存在輸入法的切換、平臺(tái)編碼支持、跨平臺(tái)兼容等問(wèn)題,從編程習(xí)慣和兼容性角度考慮,一般不建議用中文做標(biāo)識(shí)符。1.3常量和變量以下變量名中,符合Python語(yǔ)言變量命名規(guī)則的是()A、33_keywordB、key@word33_C、nonlocal
D、_33keyword正確答案:D在Python語(yǔ)言中,不能作為變量名的是()A、studentB、_bmgC、5spD、Teacher正確答案:C1.4Python數(shù)據(jù)類型第5章第6章1.4.1數(shù)值類型1.整型數(shù)據(jù)(int)整數(shù),有正整數(shù)、負(fù)整數(shù)和0,和數(shù)學(xué)中的整數(shù)概念一樣。一般認(rèn)為整型沒(méi)有取值范圍限制。1.4Python數(shù)據(jù)類型進(jìn)制引導(dǎo)符號(hào)描述十進(jìn)制無(wú)默認(rèn)情況,例如0、-4、100二進(jìn)制0b或0B由0和1組成,例如0b1010、0B110八進(jìn)制0o或0O由0到7組成,例如0o101,-0O12十六進(jìn)制0x或0X由0到9,A到F組成,例如0x41,0XABC以下選項(xiàng)中非數(shù)字的是()A、0a123B、0b101C、0o123D、0x123正確答案:A1.4.1數(shù)值類型2.浮點(diǎn)型與數(shù)學(xué)中的實(shí)數(shù)概念一樣,有兩種表示形式:(1)十進(jìn)制小數(shù)形式。它由數(shù)字和小數(shù)點(diǎn)組成,如3.23、3.
.5(2)指數(shù)形式。指數(shù)形式即用科學(xué)計(jì)數(shù)法表示的浮點(diǎn)數(shù)。例如,45e-5、45e-6、9.34e2是合法的浮點(diǎn)型常量,分別代表45×10-5、45×10-6、9.34×102。1.4Python數(shù)據(jù)類型以下是print(type(12.00))的運(yùn)行結(jié)果的是()A、<class‘complex’>B、<class‘float’>C、<class‘int’>
D、<class‘bool’>正確答案:B以下關(guān)于浮點(diǎn)數(shù)3.0和整數(shù)3的描述,正確的是()A、兩者使用相同的硬件執(zhí)行單元B、兩者使用相同的計(jì)算機(jī)指令處理方法C、兩者是相同的數(shù)據(jù)類型D、兩者具有相同的值正確答案:D1.4.1數(shù)值類型3.復(fù)數(shù)型a+bJ其中a是復(fù)數(shù)的實(shí)部,b是復(fù)數(shù)的虛部,J表示-1的平方根(虛數(shù)單位)。J也可以寫(xiě)成小寫(xiě)j,注意不是數(shù)學(xué)上的i??梢酝ㄟ^(guò)x.real和x.imag來(lái)分別獲取復(fù)數(shù)x的實(shí)部和虛部,結(jié)果都是浮點(diǎn)型。1.4Python數(shù)據(jù)類型>>>a=3+4j>>>a.real3.0>>>a.imag4.0以下關(guān)于Python語(yǔ)言復(fù)數(shù)類型的描述中,錯(cuò)誤的是()A、復(fù)數(shù)可以進(jìn)行四則運(yùn)算B、實(shí)數(shù)部分不可以為0C、Python語(yǔ)言中可以使用z.real和z.imag分別獲取復(fù)數(shù)z的實(shí)數(shù)部分和虛數(shù)部分D、復(fù)數(shù)類型與數(shù)學(xué)中復(fù)數(shù)的概念一致正確答案:B關(guān)于Python復(fù)數(shù)類型的描述,以下選項(xiàng)錯(cuò)誤的是()A、實(shí)數(shù)部分和虛數(shù)部分都是浮點(diǎn)數(shù)B、虛數(shù)部分通過(guò)“j”或“J”來(lái)表示C、對(duì)于復(fù)數(shù)x,可以使用x.real獲得x的虛數(shù)部分D、虛數(shù)部分為1時(shí),1不能省略正確答案:C1.4.1數(shù)值類型4.布爾類型也叫邏輯類型,有True(真或?qū)Γ┗騀alse(假或錯(cuò))兩個(gè)值值為真或假的表達(dá)式稱為布爾表達(dá)式,Python的布爾表達(dá)式包括關(guān)系表達(dá)式和邏輯表達(dá)式。例如:1.4Python數(shù)據(jù)類型>>>x=3>>>y=4>>>x>y#關(guān)系表達(dá)式False>>>x<yandx+y>0#邏輯表達(dá)式True它們通常用來(lái)在程序中表示條件,條件滿足結(jié)果為T(mén)rue,不滿足結(jié)果為False。Python語(yǔ)言提供三種基本的數(shù)字類型,它們是()A、整數(shù)類型、浮點(diǎn)數(shù)類型、復(fù)數(shù)類型B、整數(shù)類型、二進(jìn)制類型、浮點(diǎn)數(shù)類型C、整數(shù)類型、二進(jìn)制類型、布爾類型D、整數(shù)類型、二進(jìn)制類型、復(fù)數(shù)類型正確答案:A1.4.2復(fù)合數(shù)據(jù)類型---字符串文本在程序中用字符串(string)類型表示。字符串是由0個(gè)或多個(gè)字符組成的有序字符序列,用單引號(hào)、雙引號(hào)或三引號(hào)(三單引號(hào)或三雙引號(hào))括起來(lái)。1.4Python數(shù)據(jù)類型例1-1不同形式的字符串str1='Python'#單引號(hào)為定界符str2="Python"#雙引號(hào)為定界符str3='我喜歡用"Python"語(yǔ)言編程'#若字符串中本身就有雙引號(hào),就用單引號(hào)定界,反之亦然str4='''少年智則國(guó)智少年富則國(guó)富少年強(qiáng)則國(guó)強(qiáng)少年進(jìn)步則國(guó)進(jìn)步'''#三單引號(hào)為定界符,可表示多行字符串print(str1,str2,str3)print(str4)1.4.2復(fù)合數(shù)據(jù)類型---字符串轉(zhuǎn)義字符以反斜杠“\”開(kāi)頭,后面跟字符或數(shù)字。轉(zhuǎn)義字符具有特定的含義,不同于字符原有的意義,故稱轉(zhuǎn)義字符,主要用來(lái)表示那些用一般字符不便于表示的控制代碼。1.4Python數(shù)據(jù)類型轉(zhuǎn)義符含義轉(zhuǎn)義符含義\"雙引號(hào)\n換行符\'單引號(hào)\t制表符\\反斜杠\b退格\a響鈴\r回車(chē)符\ddd1~3位八進(jìn)制數(shù)表示的ASCII碼所代表的字符\xhh1~2位十六進(jìn)制數(shù)表示的ASCII碼所代表的字符下列轉(zhuǎn)義字符能夠?qū)崿F(xiàn)換行的是()A、
\bB、\nC、\rD、\t正確答案:B1.4.2復(fù)合數(shù)據(jù)類型---字符串3.基本的字符串函數(shù)(1)eval()函數(shù)與字符串有關(guān)的一個(gè)重要函數(shù),把字符串的內(nèi)容作為對(duì)應(yīng)的Python語(yǔ)句來(lái)執(zhí)行。其調(diào)用格式為:
eval(字符串)(2)len()函數(shù)
len()函數(shù)返回字符串的長(zhǎng)度,即字符串中所包含的字符個(gè)數(shù),其調(diào)用格式為:
len(字符串)1.4Python數(shù)據(jù)類型1.4.2復(fù)合數(shù)據(jù)類型---字符串>>>a=5>>>eval("a+1")#相當(dāng)于直接執(zhí)行a+16>>>eval("3+4")#相當(dāng)于直接執(zhí)行a+17>>>len("abc")3>>>len("字符串長(zhǎng)度")51.4Python數(shù)據(jù)類型例題:從鍵盤(pán)輸入一個(gè)的學(xué)生的三門(mén)成績(jī),求這個(gè)學(xué)生的總分與平均分a=eval(input('請(qǐng)輸入第1門(mén)課程的成績(jī):'))b=eval(input('請(qǐng)輸入第2門(mén)課程的成績(jī):'))c=eval(input('請(qǐng)輸入第3門(mén)課程的成績(jī):'))sum=a+b+cave=sum/3print('總分={0:.2f},平均分={1:.2f}'.format(sum,ave))1.4Python數(shù)據(jù)類型input函數(shù)(課本P33)input([提示字符串]):從鍵盤(pán)讀取一行數(shù)據(jù)并返回一個(gè)字符串。>>>x=input()12>>>x'12'>>>x=int(input())12>>>x12int()函數(shù)將字符串轉(zhuǎn)為整數(shù)>>>x,y=eval(input())3,4>>>x3>>>y4輸入”3,4”,經(jīng)過(guò)eval()函數(shù)處理變?yōu)椋?,4x,y=3,41.4Python數(shù)據(jù)類型print函數(shù)(課本P36)print(輸出項(xiàng)1,輸出項(xiàng)2,…,sep=分隔符,end=結(jié)束符)sep缺省為空格,end缺省為回車(chē)a,b=10,20print(a,b)print(a,b,sep=',')print(a,b,sep=',',end='*')print("hello")print(a,b,sep=',',end='')print("hello")102010,2010,20*hello10,20hello1.4Python數(shù)據(jù)類型字符串的格式化print('總分={0:.2f},平均分={1:.2f}'.format(sum,ave))模板字符串.format(參數(shù)0,參數(shù)1,參數(shù)2…)模板字符串是由普通字符和多個(gè)占位符“{}”組成,將模板字符串中的占位符用format中的參數(shù)替換{<參數(shù)序號(hào)>:<填充字符><對(duì)齊方式><輸出寬度><,><.精度><類型>}1.4Python數(shù)據(jù)類型1.4.3其他復(fù)合數(shù)據(jù)類型基本數(shù)據(jù)類型:僅能表示一個(gè)數(shù)據(jù),不可分解為其他類型的。復(fù)合數(shù)據(jù)類型:將多個(gè)數(shù)據(jù)組織起來(lái)并統(tǒng)一表示。列表、元組、字典和集合類型的數(shù)據(jù)包含多個(gè)相互關(guān)聯(lián)的數(shù)據(jù)元素,所以稱它們?yōu)閺?fù)合數(shù)據(jù)類型。列表、元組和字符串是有順序的數(shù)據(jù)元素的集合體,稱作序列(sequence)。序列可以通過(guò)各數(shù)據(jù)元素在序列中的位置編號(hào)(索引)來(lái)訪問(wèn)數(shù)據(jù)元素。字典和集合屬于無(wú)順序的數(shù)據(jù)集合體,不能通過(guò)位置編號(hào)來(lái)訪問(wèn)數(shù)據(jù)元素。1.4Python數(shù)據(jù)類型1.列表
列表(list)是寫(xiě)在中括號(hào)[]之間、用逗號(hào)分隔的元素序列,元素的類型可以不相同,可以是數(shù)字、單個(gè)字符、字符串甚至可以包含列表(所謂嵌套)。例如:>>>mlist=['brenden',45.3,911,'john',32]列表中的元素是可以改變的。例如:>>>a=[1,2,3,4,5,6]>>>a[0]=9>>>a[9,2,3,4,5,6]1.4.3其他復(fù)合數(shù)據(jù)類型1.4Python數(shù)據(jù)類型2.元組
元組(tuple)是寫(xiě)在小括號(hào)之間、用逗號(hào)隔開(kāi)的元素序列。元組中的元素類型也可以不相同。元組與列表類似,不同之處在于元組的元素不能修改,相當(dāng)于只讀列表。例如:>>>mtuple=('brenden',45.3,911,'john',32)要注意一些特殊元組的表示方法。空的圓括號(hào)表示空元組。當(dāng)元組只有一個(gè)元素時(shí),必須以逗號(hào)結(jié)尾。1.4.3其他復(fù)合數(shù)據(jù)類型1.4Python數(shù)據(jù)類型任何一組以逗號(hào)分隔的對(duì)象,當(dāng)省略標(biāo)識(shí)序列的括號(hào)時(shí),默認(rèn)為元組。例如:>>>2,3,4(2,3,4)元組和列表有幾點(diǎn)重要的區(qū)別。列表元素用中括號(hào)[]括起來(lái),且元素的個(gè)數(shù)及元素的值可以改變。元組元素用小括號(hào)()括起來(lái),且不可以更改。元組可以看成是只讀的列表。1.4.3其他復(fù)合數(shù)據(jù)類型1.4Python數(shù)據(jù)類型3.字典字典(dict)是用花括號(hào){}括起來(lái)的、用逗號(hào)分隔的元素集合,其元素由關(guān)鍵字和值組成,形式為:“關(guān)鍵字:值”。1.4.3其他復(fù)合數(shù)據(jù)類型1.4Python數(shù)據(jù)類型>>>mdict={"學(xué)號(hào)":2022,"姓名":"張三","性別":"男","年齡":18}>>>print(mdict["年齡"])18>>>mdict["年齡"]=19#把年齡改為19>>>mdict["班級(jí)"]="22計(jì)科1班"#增加一個(gè)鍵值對(duì)>>>print(mdict){'學(xué)號(hào)':2022,'姓名':'張三','性別':'男','年齡':19,'班級(jí)':'22計(jì)科1班'}4.集合集合(set)是包含0個(gè)或多個(gè)數(shù)據(jù)元素的無(wú)序且不重復(fù)的數(shù)據(jù)類型。它的基本功能是進(jìn)行成員關(guān)系測(cè)試和消除重復(fù)元素??梢杂没ɡㄌ?hào){}或set()函數(shù)創(chuàng)建集合。student={'Tom','Jim','Mary','Tom','Jack','Rose'}>>>mset={1,2,3,3,4}>>>print(mset)#會(huì)去掉重復(fù)的元素{1,2,3,4}>>>nset=set("hello")>>>print(nset){'o','h','l','e'}1.4Python數(shù)據(jù)類型1.5.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式Python的算術(shù)運(yùn)算符有:+(加)、-(減)、*(乘)、/(除)、//(整除)、%(求余)、**(乘方)1.5數(shù)值類型的運(yùn)算運(yùn)算符說(shuō)明舉例x+yx與y之和2+3(結(jié)果是5)2+3.0(結(jié)果是5.0)x-yx與y之差2-3(結(jié)果是-1)x*yx與y之積2*3(結(jié)果是6)x/yx與y之商(商是浮點(diǎn)型)5/2(結(jié)果是2.5)4/2(結(jié)果是2.0)x//yx與y之整數(shù)商,即不大于x與y之商的最大整數(shù)5//2(結(jié)果是2)-5//2(結(jié)果是-3)5//2.0(結(jié)果是2.0)x%yx與y之商的余數(shù),也稱為模運(yùn)算10%4(結(jié)果是2)5%3.0(結(jié)果是2.0)x**yx的y次冪,即xy5**2(結(jié)果是25)25**0.5(結(jié)果是5.0)
/、//和%運(yùn)算符都是做除法運(yùn)算,“/”運(yùn)算符做一般意義上的除法,其運(yùn)算結(jié)果是一個(gè)浮點(diǎn)數(shù),即使被除數(shù)和除數(shù)都是整型,也返回一個(gè)浮點(diǎn)數(shù);8/4=?“//”運(yùn)算符做除法運(yùn)算后返回商的整數(shù)部分。如果分子或者分母是浮點(diǎn)型,它返回的值將會(huì)是浮點(diǎn)類型;5//3=?5//3.0=?“%”運(yùn)算符做除法運(yùn)算后返回余數(shù)?!?*”運(yùn)算符實(shí)現(xiàn)乘方運(yùn)算,其優(yōu)先級(jí)高于乘除運(yùn)算,乘除運(yùn)算優(yōu)先級(jí)高于加減運(yùn)算。4*5/2**3=?1.5.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式1.5數(shù)值類型的運(yùn)算“1234”+1234的計(jì)算結(jié)果的是()A、“1234”+1234B、“12341234”C、?2468D、提示類型錯(cuò)誤,無(wú)法運(yùn)行正確答案:D以下代碼的輸出結(jié)果是()
print(0.1+0.2==0.3)A、-1B、TrueC、FalseD、0正確答案:C1.5.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式由算術(shù)運(yùn)算符將數(shù)值類型的變量連接起來(lái)就構(gòu)成了算術(shù)表達(dá)式,它的計(jì)算結(jié)果是一個(gè)數(shù)值。不同類型的數(shù)據(jù)進(jìn)行運(yùn)算時(shí),這些數(shù)據(jù)類型應(yīng)當(dāng)是兼容的,并遵循運(yùn)算符的優(yōu)先級(jí)規(guī)則。算術(shù)表達(dá)式的所有字符都必須寫(xiě)在一行,特別是分?jǐn)?shù)、乘方、帶有下標(biāo)的變量等。例如c=a2+b2應(yīng)寫(xiě)成c=a**2+b**2要根據(jù)運(yùn)算符的優(yōu)先級(jí),合理地加括號(hào),以保證運(yùn)算順序的正確性。特別是分?jǐn)?shù)中的分子分母有加減運(yùn)算時(shí),或分母有乘法運(yùn)算,要加括號(hào)。1.5數(shù)值類型的運(yùn)算1.5.2數(shù)值運(yùn)算函數(shù)1.5數(shù)值類型的運(yùn)算函數(shù)說(shuō)明abs(x)返回?cái)?shù)字x的絕對(duì)值或復(fù)數(shù)x的模divmod(x,y)返回包含商和余數(shù)的元組,即(x//y,x%y)max(x1,x2,..xn)返回x1,x2,..xn的最大值,n沒(méi)有限制min(x1,x2,..xn)返回x1,x2,..xn的最小值,n沒(méi)有限制pow(x,y[,z])返回(x**y%z),[]表示該參數(shù)可省略,即pow(x,y),返回x**y,即x的y次冪round(x[,n])對(duì)x四舍五入,保留n位小數(shù)。n默認(rèn)為0,即返回x四舍五入的整數(shù)值1.5.3數(shù)值類型轉(zhuǎn)換函數(shù)(內(nèi)置函數(shù))1.5數(shù)值類型的運(yùn)算函數(shù)說(shuō)明bin(x)將整數(shù)x轉(zhuǎn)換為二進(jìn)制字符串oct(x)將整數(shù)x轉(zhuǎn)換為八進(jìn)制字符串hex(x)將整數(shù)x轉(zhuǎn)換為十六進(jìn)制字符串int(x)若x是浮點(diǎn)數(shù),返回其整數(shù)部分(注意不是四舍五入)若x是字符串(必須是整數(shù)字符串,否則報(bào)錯(cuò)),則返回對(duì)應(yīng)的整數(shù)float(x)若x是整數(shù),返回浮點(diǎn)數(shù)x若x是字符串(必須是數(shù)字字符串),則返回對(duì)應(yīng)的浮點(diǎn)數(shù)complex(re[,im])生成一個(gè)復(fù)數(shù),re為實(shí)部,im為虛部(缺省為0)下列函數(shù)不能實(shí)現(xiàn)類型轉(zhuǎn)換的是()A、str()B、type()C、int()D、float()正確答案:B下面是Python的內(nèi)置函數(shù)的是()A、linspace(a,b,s)B、eye(n)C、bool(x)
D、fabs(x)正確答案:C1.6常用系統(tǒng)函數(shù)Python語(yǔ)言有標(biāo)準(zhǔn)庫(kù)和第三方庫(kù)兩類,第三方庫(kù)需要安裝后才能使用。每個(gè)標(biāo)準(zhǔn)庫(kù)中定義了很多函數(shù),這些函數(shù)稱為系統(tǒng)函數(shù)。任何程序都可直接或間接地調(diào)用這些函數(shù)。在調(diào)用系統(tǒng)函數(shù)之前,先要用import語(yǔ)句導(dǎo)入庫(kù),格式為:import庫(kù)名或import庫(kù)名as別名from庫(kù)名import函數(shù)名1,函數(shù)名2…from庫(kù)名import*數(shù)學(xué)庫(kù)模塊(math):數(shù)學(xué)運(yùn)算函數(shù)隨機(jī)數(shù)模塊(random):生成隨機(jī)數(shù)的函數(shù)時(shí)間(time):日歷(calendar):處理日期和時(shí)間的函數(shù)。>>>importmath>>>math.sqrt(2)1.4142135623730951>>>frommathimportsqrt>>>sqrt(2)1.4142135623730951如果希望導(dǎo)入模塊中的所有函數(shù)定義,則函數(shù)名用“*”。格式如下:from模塊名import*后兩種方法不用加模塊名.雖然方便,但推薦第一種,會(huì)引起混亂。以下屬于Python中導(dǎo)入語(yǔ)句的是()A、classB、returnC、importD、print正確答案:C1.6.1math函數(shù)庫(kù)(1)數(shù)學(xué)常量e:自然對(duì)數(shù)pi:圓周率(2)數(shù)值表示函數(shù)fabs(x):返回x的絕對(duì)值(返回值為浮點(diǎn)數(shù))fmod(x,y):返回x與y的模,即x/y的余數(shù)(返回值為浮點(diǎn)數(shù))floor(x):對(duì)x向下取整,返回不大于x的最大整數(shù)ceil(x):對(duì)x向上取整,返回不小于x的最小整數(shù)gcd(a,b):返回a與b的最大公約數(shù)1.6常用系統(tǒng)函數(shù)1.6.1math函數(shù)庫(kù)(3)冪對(duì)數(shù)函數(shù)
pow(x,y):返回x的y次冪
exp(x):返回e的x次冪,e是自然對(duì)數(shù)
sqrt(x):返回x的平方根
log(x[,base]):返回x的對(duì)數(shù)值即logbasex,缺省base時(shí),返回x的自然對(duì)數(shù)lnx1.6常用系統(tǒng)函數(shù)1.6.1math函數(shù)庫(kù).(4)三角運(yùn)算函數(shù)
degree(x):將弧度轉(zhuǎn)換為角度
radian(x):將角度轉(zhuǎn)換為弧度
sin(x):返回x的正弦值,x為弧度
cos(x):返回x的余弦值,x為弧度
tan(x):返回x的正切值,x為弧度
asin(x):返回x的反正弦值,返回值為弧度
acos(x):返回x的反余弦值,返回值為弧度
atan(x):返回x的反正切值,返回值為弧度1.6常用系統(tǒng)函數(shù)例題從鍵盤(pán)輸入圓的半徑,求圓的周長(zhǎng)、面積和體積。importmathr=eval(input('請(qǐng)輸入圓的半徑:'))area=math.pi*r**2len=2*math.pi*rvol=4/3*math.pi*r**3print('面積={0:.6f},周長(zhǎng)={1:.6f},體積={2:.6f}'.format(area,len,vol))1.6常用系統(tǒng)函數(shù)例題importmatha,b,c=eval(input("請(qǐng)輸入一元二次方程的3個(gè)系數(shù)a,b,c:"))x1=(-b+math.sqrt(b*b-4*a*c))/(2*a)x2=(-b+math.sqrt(b*b-4*a*c))/(2*a)print("x1=",x1,"x2=",x2)1.6常用系統(tǒng)函數(shù)(1)隨機(jī)數(shù)種子:seed(x)X為種子,只要種子相同,每次生成的隨機(jī)數(shù)序列也相;缺省x為隨機(jī)數(shù),隨機(jī)數(shù)完全不可重現(xiàn)(2)隨機(jī)挑選和排序(3)生成隨機(jī)數(shù)random():隨機(jī)生成一個(gè)[0.0,1.0)之間的小數(shù)randint(a,b):隨機(jī)生成一個(gè)[a,b]之間的整數(shù)randrange(a,b[,c]):隨機(jī)生成一個(gè)[a,b)之間以c(缺省為1)為步長(zhǎng)的隨機(jī)整數(shù)uniform(a,b):隨機(jī)生成一個(gè)[a,b]之間的小數(shù)1.6.2random函數(shù)庫(kù)1.6常用系統(tǒng)函數(shù)1.6.3time函數(shù)庫(kù)時(shí)間獲取函數(shù):time(),localtime([secs]),ctime(),gmtime()、mktime()時(shí)間格式化函數(shù):strftime(),strptime()程序計(jì)時(shí)函數(shù):sleep(),perf_counter()1.6常用系統(tǒng)函數(shù)1.6.3time函數(shù)庫(kù)時(shí)間獲取函數(shù):time():返回當(dāng)前時(shí)間的時(shí)間戳(浮點(diǎn)數(shù))。時(shí)間戳是從Epoch(1970年1月1日00:00:00UTC)開(kāi)始經(jīng)過(guò)的秒數(shù)。localtime([secs]):接收從Epoch開(kāi)始的秒數(shù),并返回一個(gè)時(shí)間元組。時(shí)間元組包含9個(gè)元素,相當(dāng)于struct_time結(jié)構(gòu)。省略秒數(shù)secs時(shí),返回當(dāng)前時(shí)間戳對(duì)應(yīng)的時(shí)間元組。ctime([secs]):省略秒數(shù)secs時(shí),獲取系統(tǒng)當(dāng)前時(shí)間(北京時(shí)間),返回一個(gè)以易讀方式表示的時(shí)間字符串。否則返回從Epoch開(kāi)始,經(jīng)過(guò)secs秒后的時(shí)間字符串。gmtime():獲取當(dāng)前時(shí)間(英國(guó)格林尼治時(shí)間),返回一個(gè)程序可處理的時(shí)間格式1.6常用系統(tǒng)函數(shù)>>>importtime>>>time.time()1678376004.6912215>>>time.localtime()time.struct_time(tm_year=2023,tm_mon=3,tm_mday=9,tm_hour=23,tm_min=33,tm_sec=37,tm_wday=3,tm_yday=68,tm_isdst=0)>>>time.gmtime()time.struct_time(tm_year=2023,tm_mon=3,tm_mday=9,tm_hour=15,t
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國(guó)造影劑行業(yè)市場(chǎng)調(diào)研分析及投資戰(zhàn)略咨詢報(bào)告
- 二零二五年度高品質(zhì)瓶裝水品牌代理銷售合同范本4篇
- 二零二四年度園林綠化項(xiàng)目樹(shù)苗供應(yīng)合同3篇
- 2025版基礎(chǔ)設(shè)施外部投資股權(quán)轉(zhuǎn)讓與運(yùn)維管理合同3篇
- 二零二五年度船舶維修項(xiàng)目合同終止與合同7篇
- 二零二五年綠色倉(cāng)儲(chǔ)庫(kù)房租賃及環(huán)保評(píng)估服務(wù)合同3篇
- 布線施工方案范本
- 工地卷材施工方案
- 線網(wǎng)盾構(gòu)隧道施工方案
- 2025年度茶葉產(chǎn)品召回與質(zhì)量保證協(xié)議4篇
- (二統(tǒng))大理州2025屆高中畢業(yè)生第二次復(fù)習(xí)統(tǒng)一檢測(cè) 物理試卷(含答案)
- 口腔執(zhí)業(yè)醫(yī)師定期考核試題(資料)帶答案
- 2024人教版高中英語(yǔ)語(yǔ)境記單詞【語(yǔ)境記單詞】新人教版 選擇性必修第2冊(cè)
- 能源管理總結(jié)報(bào)告
- 充電樁巡查記錄表
- 阻燃材料的阻燃機(jī)理建模
- CJT 511-2017 鑄鐵檢查井蓋
- 配電工作組配電網(wǎng)集中型饋線自動(dòng)化技術(shù)規(guī)范編制說(shuō)明
- 2024高考物理全國(guó)乙卷押題含解析
- 介入科圍手術(shù)期護(hù)理
- 青光眼術(shù)后護(hù)理課件
評(píng)論
0/150
提交評(píng)論