资源简介 高二信息技术学考总复习Python部分知识点汇总1一、程序设计语言基础1.阅读材料:从发展历程来看,程序设计语言可以分为3代。第一代机器语言:机器语言是由二进制 0、1 代码指令构成,不同的 CPU 具有不同的指令系统。机器语言执行效率最高。第二代汇编语言:汇编语言指令是机器指令的符号化,与机器指令存在着直接的对应关系,难学难用、容易出错、维护困难,只有在支持某种特定功能时,汇编语言才被使用。比机器语言高级一点,需专用工具导入设备,主要给一些小物件编程,如:电饭煲、小型芯片玩具。第三代高级语言:高级语言是面向用户的、基本上独立于计算机种类和结构的语言。形式上接近于算术语言和自然语言,概念上接近于人们通常使用的概念。高级语言易学易用,通用性强,应用广泛。比汇编语言更符合人类语言特点,如:C、Delphi、Visual Basic、Java、C++、Python等。Python是一种面向对象、解释型的计算机程序设计高级语言,其语法简洁清晰,具有丰富和强大的库。(人类用的自然语言:英语、汉语、德语、法语等等。)二、数据类型1.阅读材料:数据类型 说明 性质单 个 数 据 可定义数单个数据:整型 浮点型 字符串型 布尔型int 整型interger int 整型 整数 如:1,-2,-3,4,5float 浮点型 带小数的数 如:3.5,4.8 ,9.7string 字符型 一段文字和符号,放在一对引号(英文状态)之间,视作文本.组成:由汉字,数字,字符,字符串,以及标点符号等组合而成。 表达:用’’或””或‘“ ”’如:”python@111”boolean 布尔型 判断的结果,其值为真True或False 主要用于逻辑运算 如:y=6<3 FalseComplex 复数 a + b j 如:3+4j(大写J或小写j均可) 虚部系数为1时,需要显式写出 2+1j组 合 类 型 可定义一组数据:列表 元组 字典 集合列表 List列表[] 序列类型:数据有位置顺序 表示方式:[data1, data2…]如:[1,2,3,4,5]元组 Tuple 元组() 表示方式: (data1, data2……) 元素不支持修改——“不可变的列表” 如:b=(1,2,3,4,5) 、 b(0)字典 dict字典{} 映射类型:通过“键”“值”的映射实现数据存储和查找, 表示方式:{key1: value1, key2: value2,………} 如:student = {202001:”赵钱”,202002:”孙李”} student = {201901}集合 Set 集合{} 一系列互不相等元素的集合,无序的 表示方式:{data1, data2………} 如:s={“周”,”吴”,”郑”,”王”,”吴”} print(s )字符串、列表和字典1.阅读材料:字符串字符串和列表都是由一些数据元素共同组成的一个序列整体.字符串是由0个活多个字符串组成的序列列表也是由0个或多个元素组成的序列,但是元素可以是数字,字符串等混合类型的数据.甚至是其他的列表.列表用方括号”[]”来表示,元素之间以逗号,分隔.字符串,列表中的元素都是都是通过索引来定位的.第一个元素是0,第二个元素的索引是1若访问的不是单个元素,而是一定范围内的多个元素,可以通过冒号:间隔的两个索引参数来实现.字典:字典中每个元素包含两个部分内容:键key和值values.键通常用字符串或数值来表示,值可以是任意类型的数据.键和值两者一一对应.,且每个键只能对应一个值. 2.type()函数可以用来测试你输入的数据是什么样的类型tpye(123) inttype(“123”) strtype(True) booltype(“True”) strtype(true)出错为什么要区分不同的数据类型不同的数据类型运算规则不一样1+2=3“1”+“2”=“12”True+5.0=6.0“abc”*3=”abcabcabc”整形和浮点型在计算机中的存储方式不同,所以5.0!=5强制数据类型转换int(12.789)=12float(123)=123.0str(123)=“123”str(float(123))+str(int(56.789))=”123.056”注意在python中是严格的区分大小写以及缩进关系变量与赋值运算1.阅读材料:变量:在程序执行过程中,有些数据是未知可变的,我们使用变量来存储。常量:常量是在程序执行过程中其值不变的存储单元或数据。常量定义语法: Const PI = 3.1415926▲变量命名要点:1、变量名一般用字母、数字、下划线、汉字及其组合,不能有小数点、空格等其它字符。2、变量名首字符不能是数字,如 1_fruit = “apple”3、严格区分大小写。如python和PYTHON不是同一个变量。4、 变量名不能使用python关键字(保留字),如if、For、while、true等。(33个关键字) 查看关键字:import keyword print(keyword.kwlist)▲变量的赋值: 变量名 = 表达式或值Number=0Number=Number+1Number+=1变量名定义技巧1、变量名尽可能有实际意义,表征数据的某种特性a = [17, 18, 19] age _ of _students=[17, 18, 19]2、下划线(推荐:变量和函数名)变量名由多个单词组成:用_连接多个单词age _of _students3、驼峰体(推荐:类名)变量名由多个单词组成:单词首字母大写 AgeOfStudents4、尽量避免用中文和拼音做变量名5、特殊的变量:常量(不变的量,如:Π e)变量名所有字母均为大写 MAX_ITERATION=1000赋值语句如何理解:左边: 右边:变量名 常量、表达式、某个值或属性1、一般赋值通过等号自右向左进行赋值 如: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=y=z=1四、运算符、常用函数、表达式1.阅读材料:算术运算符基本运算 运算符 优先级 示例乘幂 ** 1 2**8表示28乘 * 2 a*b表示a乘以b除 / 2 5.2/2计算结果为2.6整除 // 2 5//2计算结果为2求余 % 2 17 % 3计算结果为2加 + 3 a+b表示a加b的和减 - 3 a-b表示a减去b的差关系运算符关系运算 运算符 优先级 示例大于 > 4 100>99结果为True小于 < 4 1.2<-23结果为False大于等于 >= 4 Sin(1)>=0结果为True小于等于 <= 4 Sqr(3)<=0结果为False等于 == 4 12==13结果为False不等于 != 4 12!=13结果为Truein x in y 4 “5”in”2”结果为False逻辑运算符关系运算 运算符 优先级 示例非(求反) not 5 not(12<>13)结果为True与(并且) and 5 (23>10) and (30<23)结果为False或(或者) or 5 (23>10) or (30<23)结果为True运算符的执行顺序:算术运算符>关系运算符> 逻辑运算符当一个表达式中同时出现多种运算符时,运算次序由运算符的优先级决定,优先级高的运算符先运算,优先级相同的从左向右进行运算。优先级(越往后优先级越低):*** / // %+ -<< >>&| ^< > >= <=== !== *= /= %= //= += -=is is notin not innot and or高二信息技术学考总复习Python部分知识点汇总2一、算法的概念1.阅读材料:算法指的是解决问题或完成任务的一系列步骤。在计算机科学领域内,“算法”指的是用计算机解决问题的步骤,是为了解决问题而需要让计算机有序执行的、无歧义的,有限步骤的集合。这里要解决的问题不仅仅包括数值计算,还包括非数值计算机的数据处理。一般用自然语言、流程图、伪代码等方式描述。算法的特征:有穷性、可行性、确定性、0或者多个输入、1个或者多个输出有穷性:一个算法必须保证它的执行步骤是有限的,即它是能终止的。确定性:算法中的每一个步骤必须有确切的含义,而不应该是模糊的。可行性:算法的每一步原则上都能精确运算。有零个或多个输入:输入是指算法在执行时需要从外界获得数据,目的是为算法简历某些初始状态。如果建立初始状态所需的数据已经包含在算法中了,那就不再需要输入了。(开始结束输出输入判断处理计算)有一个或多个输出:算法的目的是用来求解问题的,问题求解的结果应以一定的形式输出。算法的三要素:数据、运算、控制转移 N算法的描述1.阅读材料:常见的算法描述方式有自然语言、流程图、伪代码、程序设计语言。自然语言是人们在日常生活中交流使用的语言,通俗易懂,且不需要专门的学习和训练。采用流程图描述会比较直观和易于理解,流程图描述算法结构清晰,寓意明确。伪代码是指一种比较直观简洁的、符号接近计算机程序代码的算法描述方式,其风格很像计算机程序设计语言,但又不是真正的可以被计算机理解的代码。算法的控制结构1.阅读材料:算法的控制结构有三种:顺序结构,分支结构,循环结构。顺序结构的特点:每个步骤按照算法中出现的顺序依次执行每个步骤一定会被执行一次,而且只执行一次。分支结构的特点:首先进行条件判断,根据条件满足与否来决定执行哪一个分支在一个分支结构中,必定有一个分支被执行,其他分支被忽略.循环结构的特点:在条件控制下,某些操作步骤需要重复执行用算法解决问题的过程1.阅读材料:第一步:抽象与建模:指的是从现实项目的真实情境中提炼出核心的要素并加以确定或假设,最终定义出一个有明确已知条件和求解目标的问题,并用数学符号描述问题的求解模型第二步:设计算法:主要包含三个步骤:输入数据、处理数据和输出处理结果。第三步:描述算法分支结构1、if选择结构if score >=60:print(“yes”)2、if else选择结构if score >=60:print(“yes”)else:print(“no”)3、if的嵌套结构成绩大于等于60的女生,输出yesif score >=60:if gender==”女”:print(“yes”)4、if elif else 多分支选择结构elif 相当于else if 但是要和第一个if并列高二信息技术学考总复习Python部分知识点汇总3函数与模块已封装在库中函数:为实现某种功能而编写的一段相对独立的程序,……文件。1、取绝对值:abs(x)如:abs(-5)=52、数字中(字符中)取最大:max(x)print(max(5, 3, 2, 8, 6, 9, 11, 3, 7))3、数字中(字符中)取最小: min(x)print(min(5, 3, 2, 8, 6, 9, 11, 3, 7))4、幂次方:pow(x, n[,m]) print(pow(2, 3)) x的n次方 等价于x**nprint(pow(2,5,3)) # 2 ^ 5 % 3 更快速5、开平方: sqr(x) sqr(4)=26、返回数据类型:type()7、返回数据内存地址:id()8、数字类型转换: int() float() str()9、将字符类型转换为对应的整数值(ASCII码值):ord(x)如:ord(“A”)=6510、将整数类型(ASCII码值)转换为对应的字符:chr()如:chr(65)=A11、去掉引号: eval() int()/float() 限类型X = eval(input(“请输入一个数字:”))Y = eval(input(请输入一个数字:“)print(X+Y)7.5x = input (“请输入一个数字:”)Y = input(“请输入一个数字:“)print(X+Y)“43.5”12、获取字符串中字符的个数(长度): Len(“x”)注:空字符串长度为0;空格符为1;一个汉字为1(2个字节) 在utc-8中各种库: random math numpy matplotlib pygame…………导入库 Import random1、 randrange(stare,stop,step)Print(random.randrange(1,5,1))2、 Random[0,1) 浮点数 随机产生一个实数3、Randint(start,stop)4、不同进制的转换, 默认输入十进制 二进制0b、 八进制0o、 十六进制0x16 == 0b10000 ==0o20 == 0x10十进制与其他进制的转换a = bin(16) #转二进制b = oct(16) #转八进制c = hex(16) #转十六进制Print(a,b,c)0b10000 0o20 0x10注意:上述转换后结果为字符串类型 a ==b == c false type(a) str其他进制 “ ” 转十进制d = int (a,2) #二进制转十进制e = int (b,8) #八进制转十进制f = int (c,16) #十六进制转十进制print(d, e, f)16 16 16匿名函数 lambdasum= lambda x, y : x+yPrint(sum(2,6))自定义函数:我们自己编写的函数。1.阅读材料:在用算法解决问题的过程中,经常采用模块化程序设计思想,将问题分解成若干个子问题,并用相对独立的程序段来针对性的解决各个子问题,提高程序设计的效率。对于常用的程序代码,以模块化的形式进行保存,需要时可重复调用。在Python中,主要利用函数、模块等方式实现模块化程序设计。(1) 为什么要用函数1. 提高代码复用性——抽象出来,封装为函数2. 将复杂的大问题分解成一系列小问题,分而治之——模块化设计的思想3. 利于代码的维护和管理小栗子: # 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)抽象成函数def factorin(n):res = 1for i in range(1,n+1):res *=ireturn resprint(factorin(5))print(factorin(20))(2) 函数的定义及调用白箱子:输入——处理——输出三要素:参数、函数体、返回值定义def 函数名(参数集合):<函数体>[return 函数值]# 求正方形的面积def area_of_square(length_of_side):square_area = pow(length_of_side,2)return square_area2.调用函数名([参数])Area = area_of_square(5)Area(3) 参数传递1. 形参与实参形参(形式参数):函数定义时的参数,实际上就是变量名。实参(实际参数):函数调用时的参数,实际上就是变量的值。2、实参对形参进行赋值(关联)(1)位置参数严格按照位置顺序,用实参对形参进行赋值(关联)一般用在参数比较少的时候def function(x, y, z):print(x, y, z)function(7, 8, 9)注:实参与形参必须一一对应,一个不能多,一个不能少如:function(7, 8)function(7, 8, 9, 10)(2)关键字参数打破位置限制,直呼其名的进行值的传递(形参=实参),多用在参数比较多的场合def function(x, y, z):print(x, y, z)function(y = 1, z = 2, x = 3)注:位置参数可以与关键字参数混合使用,但是位置参数必须放在关键字参数前面如: function(1, z = 2, y = 3)function(1, 2, z = 3)而且不能为同一个形参重复传值def function(x, y, z):print(x, y, z)function(1, z = 2, x = 3)我们可以用构造函数实现常用代码的模块化,定义函数的语法规则如下:def 函数名(参数集合):<函数体>[return 函数值]模块的导入有以下等方法:方法一:import mathmath.sqrt(9)方法二:from math import sqrtsqrt(9)输入与输出函数1.阅读材料:input( ) 由用户输入内容 ,input()返回值是字符串print( )函数 输出函数。三、for循环for循环for语句的格式: (有限次数的循环)for <变量> in <序列>: <循环体>For语句通过遍历序列中的元素实现循环,并通过序列的元素数量来控制循环次数,即循环过程,序列中的每个元素都会依次被赋值给变量,并分别执行一次循环体。随后,教师演示通过for语句编程实现情境导入—问题1。for x in hobby: print(x)列表langs = ["C#", "Java", "JavaScript", "Ruby", "Python", "clojure", "Go", "Rust"],请编写程序在屏幕上输出名称少于6个字符的编程语言。参考答案:for lang in langs: if len(lang) <= 6: print(lang) 四、while循环while循环的格式: (只要满足条件就执行的循环)while 条件: <循环体>while循环在执行时,首先会判断条件是否为真,如果条件为真,执行一次循环体,在此判断条件是否为真,如果仍为真,那么再执行一次循环体,以此类推,直到条件为假时退出while语句。 展开更多...... 收起↑ 资源预览