資源簡(jiǎn)介 高二信息技術(shù)學(xué)考總復(fù)習(xí)Python部分知識(shí)點(diǎn)匯總1一、程序設(shè)計(jì)語(yǔ)言基礎(chǔ)1.閱讀材料:從發(fā)展歷程來(lái)看,程序設(shè)計(jì)語(yǔ)言可以分為3代。第一代機(jī)器語(yǔ)言:機(jī)器語(yǔ)言是由二進(jìn)制 0、1 代碼指令構(gòu)成,不同的 CPU 具有不同的指令系統(tǒng)。機(jī)器語(yǔ)言執(zhí)行效率最高。第二代匯編語(yǔ)言:匯編語(yǔ)言指令是機(jī)器指令的符號(hào)化,與機(jī)器指令存在著直接的對(duì)應(yīng)關(guān)系,難學(xué)難用、容易出錯(cuò)、維護(hù)困難,只有在支持某種特定功能時(shí),匯編語(yǔ)言才被使用。比機(jī)器語(yǔ)言高級(jí)一點(diǎn),需專用工具導(dǎo)入設(shè)備,主要給一些小物件編程,如:電飯煲、小型芯片玩具。第三代高級(jí)語(yǔ)言:高級(jí)語(yǔ)言是面向用戶的、基本上獨(dú)立于計(jì)算機(jī)種類和結(jié)構(gòu)的語(yǔ)言。形式上接近于算術(shù)語(yǔ)言和自然語(yǔ)言,概念上接近于人們通常使用的概念。高級(jí)語(yǔ)言易學(xué)易用,通用性強(qiáng),應(yīng)用廣泛。比匯編語(yǔ)言更符合人類語(yǔ)言特點(diǎn),如:C、Delphi、Visual Basic、Java、C++、Python等。Python是一種面向?qū)ο?、解釋型的?jì)算機(jī)程序設(shè)計(jì)高級(jí)語(yǔ)言,其語(yǔ)法簡(jiǎn)潔清晰,具有豐富和強(qiáng)大的庫(kù)。(人類用的自然語(yǔ)言:英語(yǔ)、漢語(yǔ)、德語(yǔ)、法語(yǔ)等等。)二、數(shù)據(jù)類型1.閱讀材料:數(shù)據(jù)類型 說(shuō)明 性質(zhì)單 個(gè) 數(shù) 據(jù) 可定義數(shù)單個(gè)數(shù)據(jù):整型 浮點(diǎn)型 字符串型 布爾型int 整型interger int 整型 整數(shù) 如:1,-2,-3,4,5float 浮點(diǎn)型 帶小數(shù)的數(shù) 如:3.5,4.8 ,9.7string 字符型 一段文字和符號(hào),放在一對(duì)引號(hào)(英文狀態(tài))之間,視作文本.組成:由漢字,數(shù)字,字符,字符串,以及標(biāo)點(diǎn)符號(hào)等組合而成。 表達(dá):用’’或””或‘“ ”’如:”python@111”boolean 布爾型 判斷的結(jié)果,其值為真True或False 主要用于邏輯運(yùn)算 如:y=6<3 FalseComplex 復(fù)數(shù) a + b j 如:3+4j(大寫(xiě)J或小寫(xiě)j均可) 虛部系數(shù)為1時(shí),需要顯式寫(xiě)出 2+1j組 合 類 型 可定義一組數(shù)據(jù):列表 元組 字典 集合列表 List列表[] 序列類型:數(shù)據(jù)有位置順序 表示方式:[data1, data2…]如:[1,2,3,4,5]元組 Tuple 元組() 表示方式: (data1, data2……) 元素不支持修改——“不可變的列表” 如:b=(1,2,3,4,5) 、 b(0)字典 dict字典{} 映射類型:通過(guò)“鍵”“值”的映射實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)和查找, 表示方式:{key1: value1, key2: value2,………} 如:student = {202001:”趙錢(qián)”,202002:”孫李”} student = {201901}集合 Set 集合{} 一系列互不相等元素的集合,無(wú)序的 表示方式:{data1, data2………} 如:s={“周”,”吳”,”鄭”,”王”,”吳”} print(s )字符串、列表和字典1.閱讀材料:字符串字符串和列表都是由一些數(shù)據(jù)元素共同組成的一個(gè)序列整體.字符串是由0個(gè)活多個(gè)字符串組成的序列列表也是由0個(gè)或多個(gè)元素組成的序列,但是元素可以是數(shù)字,字符串等混合類型的數(shù)據(jù).甚至是其他的列表.列表用方括號(hào)”[]”來(lái)表示,元素之間以逗號(hào),分隔.字符串,列表中的元素都是都是通過(guò)索引來(lái)定位的.第一個(gè)元素是0,第二個(gè)元素的索引是1若訪問(wèn)的不是單個(gè)元素,而是一定范圍內(nèi)的多個(gè)元素,可以通過(guò)冒號(hào):間隔的兩個(gè)索引參數(shù)來(lái)實(shí)現(xiàn).字典:字典中每個(gè)元素包含兩個(gè)部分內(nèi)容:鍵key和值values.鍵通常用字符串或數(shù)值來(lái)表示,值可以是任意類型的數(shù)據(jù).鍵和值兩者一一對(duì)應(yīng).,且每個(gè)鍵只能對(duì)應(yīng)一個(gè)值. 2.type()函數(shù)可以用來(lái)測(cè)試你輸入的數(shù)據(jù)是什么樣的類型tpye(123) inttype(“123”) strtype(True) booltype(“True”) strtype(true)出錯(cuò)為什么要區(qū)分不同的數(shù)據(jù)類型不同的數(shù)據(jù)類型運(yùn)算規(guī)則不一樣1+2=3“1”+“2”=“12”True+5.0=6.0“abc”*3=”abcabcabc”整形和浮點(diǎn)型在計(jì)算機(jī)中的存儲(chǔ)方式不同,所以5.0!=5強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換int(12.789)=12float(123)=123.0str(123)=“123”str(float(123))+str(int(56.789))=”123.056”注意在python中是嚴(yán)格的區(qū)分大小寫(xiě)以及縮進(jìn)關(guān)系變量與賦值運(yùn)算1.閱讀材料:變量:在程序執(zhí)行過(guò)程中,有些數(shù)據(jù)是未知可變的,我們使用變量來(lái)存儲(chǔ)。常量:常量是在程序執(zhí)行過(guò)程中其值不變的存儲(chǔ)單元或數(shù)據(jù)。常量定義語(yǔ)法: Const PI = 3.1415926▲變量命名要點(diǎn):1、變量名一般用字母、數(shù)字、下劃線、漢字及其組合,不能有小數(shù)點(diǎn)、空格等其它字符。2、變量名首字符不能是數(shù)字,如 1_fruit = “apple”3、嚴(yán)格區(qū)分大小寫(xiě)。如python和PYTHON不是同一個(gè)變量。4、 變量名不能使用python關(guān)鍵字(保留字),如if、For、while、true等。(33個(gè)關(guān)鍵字) 查看關(guān)鍵字:import keyword print(keyword.kwlist)▲變量的賦值: 變量名 = 表達(dá)式或值Number=0Number=Number+1Number+=1變量名定義技巧1、變量名盡可能有實(shí)際意義,表征數(shù)據(jù)的某種特性a = [17, 18, 19] age _ of _students=[17, 18, 19]2、下劃線(推薦:變量和函數(shù)名)變量名由多個(gè)單詞組成:用_連接多個(gè)單詞age _of _students3、駝峰體(推薦:類名)變量名由多個(gè)單詞組成:?jiǎn)卧~首字母大寫(xiě) AgeOfStudents4、盡量避免用中文和拼音做變量名5、特殊的變量:常量(不變的量,如:Π e)變量名所有字母均為大寫(xiě) MAX_ITERATION=1000賦值語(yǔ)句如何理解:左邊: 右邊:變量名 常量、表達(dá)式、某個(gè)值或?qū)傩?br/>1、一般賦值通過(guò)等號(hào)自右向左進(jìn)行賦值 如:x=1+2x注意:x+1=y x=y與 y=x2、增量賦值 如:X = 10X = X +10 與 X += 10 ( m=m*2 m *= 2)X3、打包賦值 x , y = 1 , 2Print(x , y)4、連續(xù)賦值x=y=z=1四、運(yùn)算符、常用函數(shù)、表達(dá)式1.閱讀材料:算術(shù)運(yùn)算符基本運(yùn)算 運(yùn)算符 優(yōu)先級(jí) 示例乘冪 ** 1 2**8表示28乘 * 2 a*b表示a乘以b除 / 2 5.2/2計(jì)算結(jié)果為2.6整除 // 2 5//2計(jì)算結(jié)果為2求余 % 2 17 % 3計(jì)算結(jié)果為2加 + 3 a+b表示a加b的和減 - 3 a-b表示a減去b的差關(guān)系運(yùn)算符關(guān)系運(yùn)算 運(yùn)算符 優(yōu)先級(jí) 示例大于 > 4 100>99結(jié)果為T(mén)rue小于 < 4 1.2<-23結(jié)果為False大于等于 >= 4 Sin(1)>=0結(jié)果為T(mén)rue小于等于 <= 4 Sqr(3)<=0結(jié)果為False等于 == 4 12==13結(jié)果為False不等于 != 4 12!=13結(jié)果為T(mén)ruein x in y 4 “5”in”2”結(jié)果為False邏輯運(yùn)算符關(guān)系運(yùn)算 運(yùn)算符 優(yōu)先級(jí) 示例非(求反) not 5 not(12<>13)結(jié)果為T(mén)rue與(并且) and 5 (23>10) and (30<23)結(jié)果為False或(或者) or 5 (23>10) or (30<23)結(jié)果為T(mén)rue運(yùn)算符的執(zhí)行順序:算術(shù)運(yùn)算符>關(guān)系運(yùn)算符> 邏輯運(yùn)算符當(dāng)一個(gè)表達(dá)式中同時(shí)出現(xiàn)多種運(yùn)算符時(shí),運(yùn)算次序由運(yùn)算符的優(yōu)先級(jí)決定,優(yōu)先級(jí)高的運(yùn)算符先運(yùn)算,優(yōu)先級(jí)相同的從左向右進(jìn)行運(yùn)算。優(yōu)先級(jí)(越往后優(yōu)先級(jí)越低):*** / // %+ -<< >>&| ^< > >= <=== !== *= /= %= //= += -=is is notin not innot and or高二信息技術(shù)學(xué)考總復(fù)習(xí)Python部分知識(shí)點(diǎn)匯總2一、算法的概念1.閱讀材料:算法指的是解決問(wèn)題或完成任務(wù)的一系列步驟。在計(jì)算機(jī)科學(xué)領(lǐng)域內(nèi),“算法”指的是用計(jì)算機(jī)解決問(wèn)題的步驟,是為了解決問(wèn)題而需要讓計(jì)算機(jī)有序執(zhí)行的、無(wú)歧義的,有限步驟的集合。這里要解決的問(wèn)題不僅僅包括數(shù)值計(jì)算,還包括非數(shù)值計(jì)算機(jī)的數(shù)據(jù)處理。一般用自然語(yǔ)言、流程圖、偽代碼等方式描述。算法的特征:有窮性、可行性、確定性、0或者多個(gè)輸入、1個(gè)或者多個(gè)輸出有窮性:一個(gè)算法必須保證它的執(zhí)行步驟是有限的,即它是能終止的。確定性:算法中的每一個(gè)步驟必須有確切的含義,而不應(yīng)該是模糊的。可行性:算法的每一步原則上都能精確運(yùn)算。有零個(gè)或多個(gè)輸入:輸入是指算法在執(zhí)行時(shí)需要從外界獲得數(shù)據(jù),目的是為算法簡(jiǎn)歷某些初始狀態(tài)。如果建立初始狀態(tài)所需的數(shù)據(jù)已經(jīng)包含在算法中了,那就不再需要輸入了。(開(kāi)始結(jié)束輸出輸入判斷處理計(jì)算)有一個(gè)或多個(gè)輸出:算法的目的是用來(lái)求解問(wèn)題的,問(wèn)題求解的結(jié)果應(yīng)以一定的形式輸出。算法的三要素:數(shù)據(jù)、運(yùn)算、控制轉(zhuǎn)移 N算法的描述1.閱讀材料:常見(jiàn)的算法描述方式有自然語(yǔ)言、流程圖、偽代碼、程序設(shè)計(jì)語(yǔ)言。自然語(yǔ)言是人們?cè)谌粘I钪薪涣魇褂玫恼Z(yǔ)言,通俗易懂,且不需要專門(mén)的學(xué)習(xí)和訓(xùn)練。采用流程圖描述會(huì)比較直觀和易于理解,流程圖描述算法結(jié)構(gòu)清晰,寓意明確。偽代碼是指一種比較直觀簡(jiǎn)潔的、符號(hào)接近計(jì)算機(jī)程序代碼的算法描述方式,其風(fēng)格很像計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,但又不是真正的可以被計(jì)算機(jī)理解的代碼。算法的控制結(jié)構(gòu)1.閱讀材料:算法的控制結(jié)構(gòu)有三種:順序結(jié)構(gòu),分支結(jié)構(gòu),循環(huán)結(jié)構(gòu)。順序結(jié)構(gòu)的特點(diǎn):每個(gè)步驟按照算法中出現(xiàn)的順序依次執(zhí)行每個(gè)步驟一定會(huì)被執(zhí)行一次,而且只執(zhí)行一次。分支結(jié)構(gòu)的特點(diǎn):首先進(jìn)行條件判斷,根據(jù)條件滿足與否來(lái)決定執(zhí)行哪一個(gè)分支在一個(gè)分支結(jié)構(gòu)中,必定有一個(gè)分支被執(zhí)行,其他分支被忽略.循環(huán)結(jié)構(gòu)的特點(diǎn):在條件控制下,某些操作步驟需要重復(fù)執(zhí)行用算法解決問(wèn)題的過(guò)程1.閱讀材料:第一步:抽象與建模:指的是從現(xiàn)實(shí)項(xiàng)目的真實(shí)情境中提煉出核心的要素并加以確定或假設(shè),最終定義出一個(gè)有明確已知條件和求解目標(biāo)的問(wèn)題,并用數(shù)學(xué)符號(hào)描述問(wèn)題的求解模型第二步:設(shè)計(jì)算法:主要包含三個(gè)步驟:輸入數(shù)據(jù)、處理數(shù)據(jù)和輸出處理結(jié)果。第三步:描述算法分支結(jié)構(gòu)1、if選擇結(jié)構(gòu)if score >=60:print(“yes”)2、if else選擇結(jié)構(gòu)if score >=60:print(“yes”)else:print(“no”)3、if的嵌套結(jié)構(gòu)成績(jī)大于等于60的女生,輸出yesif score >=60:if gender==”女”:print(“yes”)4、if elif else 多分支選擇結(jié)構(gòu)elif 相當(dāng)于else if 但是要和第一個(gè)if并列高二信息技術(shù)學(xué)考總復(fù)習(xí)Python部分知識(shí)點(diǎn)匯總3函數(shù)與模塊已封裝在庫(kù)中函數(shù):為實(shí)現(xiàn)某種功能而編寫(xiě)的一段相對(duì)獨(dú)立的程序,……文件。1、取絕對(duì)值:abs(x)如:abs(-5)=52、數(shù)字中(字符中)取最大:max(x)print(max(5, 3, 2, 8, 6, 9, 11, 3, 7))3、數(shù)字中(字符中)取最小: min(x)print(min(5, 3, 2, 8, 6, 9, 11, 3, 7))4、冪次方:pow(x, n[,m]) print(pow(2, 3)) x的n次方 等價(jià)于x**nprint(pow(2,5,3)) # 2 ^ 5 % 3 更快速5、開(kāi)平方: sqr(x) sqr(4)=26、返回?cái)?shù)據(jù)類型:type()7、返回?cái)?shù)據(jù)內(nèi)存地址:id()8、數(shù)字類型轉(zhuǎn)換: int() float() str()9、將字符類型轉(zhuǎn)換為對(duì)應(yīng)的整數(shù)值(ASCII碼值):ord(x)如:ord(“A”)=6510、將整數(shù)類型(ASCII碼值)轉(zhuǎn)換為對(duì)應(yīng)的字符:chr()如:chr(65)=A11、去掉引號(hào): eval() int()/float() 限類型X = eval(input(“請(qǐng)輸入一個(gè)數(shù)字:”))Y = eval(input(請(qǐng)輸入一個(gè)數(shù)字:“)print(X+Y)7.5x = input (“請(qǐng)輸入一個(gè)數(shù)字:”)Y = input(“請(qǐng)輸入一個(gè)數(shù)字:“)print(X+Y)“43.5”12、獲取字符串中字符的個(gè)數(shù)(長(zhǎng)度): Len(“x”)注:空字符串長(zhǎng)度為0;空格符為1;一個(gè)漢字為1(2個(gè)字節(jié)) 在utc-8中各種庫(kù): random math numpy matplotlib pygame…………導(dǎo)入庫(kù) Import random1、 randrange(stare,stop,step)Print(random.randrange(1,5,1))2、 Random[0,1) 浮點(diǎn)數(shù) 隨機(jī)產(chǎn)生一個(gè)實(shí)數(shù)3、Randint(start,stop)4、不同進(jìn)制的轉(zhuǎn)換, 默認(rèn)輸入十進(jìn)制 二進(jìn)制0b、 八進(jìn)制0o、 十六進(jìn)制0x16 == 0b10000 ==0o20 == 0x10十進(jìn)制與其他進(jìn)制的轉(zhuǎn)換a = bin(16) #轉(zhuǎn)二進(jìn)制b = oct(16) #轉(zhuǎn)八進(jìn)制c = hex(16) #轉(zhuǎn)十六進(jìn)制Print(a,b,c)0b10000 0o20 0x10注意:上述轉(zhuǎn)換后結(jié)果為字符串類型 a ==b == c false type(a) str其他進(jìn)制 “ ” 轉(zhuǎn)十進(jìn)制d = int (a,2) #二進(jìn)制轉(zhuǎn)十進(jìn)制e = int (b,8) #八進(jìn)制轉(zhuǎn)十進(jìn)制f = int (c,16) #十六進(jìn)制轉(zhuǎn)十進(jìn)制print(d, e, f)16 16 16匿名函數(shù) lambdasum= lambda x, y : x+yPrint(sum(2,6))自定義函數(shù):我們自己編寫(xiě)的函數(shù)。1.閱讀材料:在用算法解決問(wèn)題的過(guò)程中,經(jīng)常采用模塊化程序設(shè)計(jì)思想,將問(wèn)題分解成若干個(gè)子問(wèn)題,并用相對(duì)獨(dú)立的程序段來(lái)針對(duì)性的解決各個(gè)子問(wèn)題,提高程序設(shè)計(jì)的效率。對(duì)于常用的程序代碼,以模塊化的形式進(jìn)行保存,需要時(shí)可重復(fù)調(diào)用。在Python中,主要利用函數(shù)、模塊等方式實(shí)現(xiàn)模塊化程序設(shè)計(jì)。(1) 為什么要用函數(shù)1. 提高代碼復(fù)用性——抽象出來(lái),封裝為函數(shù)2. 將復(fù)雜的大問(wèn)題分解成一系列小問(wèn)題,分而治之——模塊化設(shè)計(jì)的思想3. 利于代碼的維護(hù)和管理小栗子: # 5的階乘 # 20的階乘n = 5 n = 20res = 1 res = 1for i in range(1,n+1): for i in range(1,n+1):res *= i res *= iprint(res) print(res)抽象成函數(shù)def factorin(n):res = 1for i in range(1,n+1):res *=ireturn resprint(factorin(5))print(factorin(20))(2) 函數(shù)的定義及調(diào)用白箱子:輸入——處理——輸出三要素:參數(shù)、函數(shù)體、返回值定義def 函數(shù)名(參數(shù)集合):<函數(shù)體>[return 函數(shù)值]# 求正方形的面積def area_of_square(length_of_side):square_area = pow(length_of_side,2)return square_area2.調(diào)用函數(shù)名([參數(shù)])Area = area_of_square(5)Area(3) 參數(shù)傳遞1. 形參與實(shí)參形參(形式參數(shù)):函數(shù)定義時(shí)的參數(shù),實(shí)際上就是變量名。實(shí)參(實(shí)際參數(shù)):函數(shù)調(diào)用時(shí)的參數(shù),實(shí)際上就是變量的值。2、實(shí)參對(duì)形參進(jìn)行賦值(關(guān)聯(lián))(1)位置參數(shù)嚴(yán)格按照位置順序,用實(shí)參對(duì)形參進(jìn)行賦值(關(guān)聯(lián))一般用在參數(shù)比較少的時(shí)候def function(x, y, z):print(x, y, z)function(7, 8, 9)注:實(shí)參與形參必須一一對(duì)應(yīng),一個(gè)不能多,一個(gè)不能少如:function(7, 8)function(7, 8, 9, 10)(2)關(guān)鍵字參數(shù)打破位置限制,直呼其名的進(jìn)行值的傳遞(形參=實(shí)參),多用在參數(shù)比較多的場(chǎng)合def function(x, y, z):print(x, y, z)function(y = 1, z = 2, x = 3)注:位置參數(shù)可以與關(guān)鍵字參數(shù)混合使用,但是位置參數(shù)必須放在關(guān)鍵字參數(shù)前面如: function(1, z = 2, y = 3)function(1, 2, z = 3)而且不能為同一個(gè)形參重復(fù)傳值def function(x, y, z):print(x, y, z)function(1, z = 2, x = 3)我們可以用構(gòu)造函數(shù)實(shí)現(xiàn)常用代碼的模塊化,定義函數(shù)的語(yǔ)法規(guī)則如下:def 函數(shù)名(參數(shù)集合):<函數(shù)體>[return 函數(shù)值]模塊的導(dǎo)入有以下等方法:方法一:import mathmath.sqrt(9)方法二:from math import sqrtsqrt(9)輸入與輸出函數(shù)1.閱讀材料:input( ) 由用戶輸入內(nèi)容 ,input()返回值是字符串print( )函數(shù) 輸出函數(shù)。三、for循環(huán)for循環(huán)for語(yǔ)句的格式: (有限次數(shù)的循環(huán))for <變量> in <序列>: <循環(huán)體>For語(yǔ)句通過(guò)遍歷序列中的元素實(shí)現(xiàn)循環(huán),并通過(guò)序列的元素?cái)?shù)量來(lái)控制循環(huán)次數(shù),即循環(huán)過(guò)程,序列中的每個(gè)元素都會(huì)依次被賦值給變量,并分別執(zhí)行一次循環(huán)體。隨后,教師演示通過(guò)for語(yǔ)句編程實(shí)現(xiàn)情境導(dǎo)入—問(wèn)題1。for x in hobby: print(x)列表langs = ["C#", "Java", "JavaScript", "Ruby", "Python", "clojure", "Go", "Rust"],請(qǐng)編寫(xiě)程序在屏幕上輸出名稱少于6個(gè)字符的編程語(yǔ)言。參考答案:for lang in langs: if len(lang) <= 6: print(lang) 四、while循環(huán)while循環(huán)的格式: (只要滿足條件就執(zhí)行的循環(huán))while 條件: <循環(huán)體>while循環(huán)在執(zhí)行時(shí),首先會(huì)判斷條件是否為真,如果條件為真,執(zhí)行一次循環(huán)體,在此判斷條件是否為真,如果仍為真,那么再執(zhí)行一次循環(huán)體,以此類推,直到條件為假時(shí)退出while語(yǔ)句。 展開(kāi)更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來(lái)源于二一教育資源庫(kù)