2022年山东省高二信息技术学考总复习Python部分知识点汇总

文档属性

名称 2022年山东省高二信息技术学考总复习Python部分知识点汇总
格式 docx
文件大小 362.8KB
资源类型 教案
版本资源 教科版(2019)
科目 信息技术(信息科技)
更新时间 2022-04-18 08:25:24

图片预览

文档简介

高二信息技术学考总复习Python部分知识点汇总1
一、程序设计语言基础
1.阅读材料:
从发展历程来看,程序设计语言可以分为3代。
第一代机器语言:机器语言是由二进制 0、1 代码指令构成,不同的 CPU 具有不同的指令系统。机器语言执行效率最高。
第二代汇编语言:汇编语言指令是机器指令的符号化,与机器指令存在着直接的对应关系,难学难用、容易出错、维护困难,只有在支持某种特定功能时,汇编语言才被使用。比机器语言高级一点,需专用工具导入设备,主要给一些小物件编程,如:电饭煲、小型芯片玩具。
第三代高级语言:高级语言是面向用户的、基本上独立于计算机种类和结构的语言。形式上接近于算术语言和自然语言,概念上接近于人们通常使用的概念。高级语言易学易用,通用性强,应用广泛。比汇编语言更符合人类语言特点,如:C、Delphi、Visual Basic、Java、C++、Python等。
Python是一种面向对象、解释型的计算机程序设计高级语言,其语法简洁清晰,具有丰富和强大的库。
(人类用的自然语言:英语、汉语、德语、法语等等。)
二、数据类型
1.阅读材料:
数据类型 说明 性质
单 个 数 据 可定义数单个数据:整型 浮点型 字符串型 布尔型
int 整型interger int 整型 整数 如:1,-2,-3,4,5
float 浮点型 带小数的数 如:3.5,4.8 ,9.7
string 字符型 一段文字和符号,放在一对引号(英文状态)之间,视作文本.组成:由汉字,数字,字符,字符串,以及标点符号等组合而成。 表达:用’’或””或‘“ ”’如:”python@111”
boolean 布尔型 判断的结果,其值为真True或False 主要用于逻辑运算 如:y=6<3 False
Complex 复数 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) int
type(“123”) str
type(True) bool
type(“True”) str
type(true)出错
为什么要区分不同的数据类型
不同的数据类型运算规则不一样
1+2=3
“1”+“2”=“12”
True+5.0=6.0
“abc”*3=”abcabcabc”
整形和浮点型在计算机中的存储方式不同,所以5.0!=5
强制数据类型转换
int(12.789)=12
float(123)=123.0
str(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=0
Number=Number+1
Number+=1
变量名定义技巧
1、变量名尽可能有实际意义,表征数据的某种特性
a = [17, 18, 19] age _ of _students=[17, 18, 19]
2、下划线(推荐:变量和函数名)变量名由多个单词组成:用_连接多个单词
age _of _students
3、驼峰体(推荐:类名)变量名由多个单词组成:单词首字母大写 AgeOfStudents
4、尽量避免用中文和拼音做变量名
5、特殊的变量:常量(不变的量,如:Π e)变量名所有字母均为大写 MAX_ITERATION=1000
赋值语句如何理解:
左边: 右边:
变量名 常量、表达式、某个值或属性
1、一般赋值
通过等号自右向左进行赋值 如:x=1+2
x
注意:x+1=y x=y与 y=x
2、增量赋值 如:X = 10
X = X +10 与 X += 10 ( m=m*2 m *= 2)
X
3、打包赋值 x , y = 1 , 2
Print(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结果为True
in 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 not
in not in
not 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的女生,输出yes
if score >=60:
if gender==”女”:
print(“yes”)
4、if elif else 多分支选择结构
elif 相当于else if 但是要和第一个if并列
高二信息技术学考总复习Python部分知识点汇总3
函数与模块
已封装在库中函数:为实现某种功能而编写的一段相对独立的程序,……文件。
1、取绝对值:abs(x)如:abs(-5)=5
2、数字中(字符中)取最大: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**n
print(pow(2,5,3)) # 2 ^ 5 % 3 更快速
5、开平方: sqr(x) sqr(4)=2
6、返回数据类型:type()
7、返回数据内存地址:id()
8、数字类型转换: int() float() str()
9、将字符类型转换为对应的整数值(ASCII码值):ord(x)
如:ord(“A”)=65
10、将整数类型(ASCII码值)转换为对应的字符:chr()
如:chr(65)=A
11、去掉引号: eval() int()/float() 限类型
X = eval(input(“请输入一个数字:”))
Y = eval(input(请输入一个数字:“)
print(X+Y)
7.5
x = input (“请输入一个数字:”)
Y = input(“请输入一个数字:“)
print(X+Y)
“43.5”
12、获取字符串中字符的个数(长度): Len(“x”)
注:空字符串长度为0;空格符为1;一个汉字为1(2个字节) 在utc-8中
各种库: random math numpy matplotlib pygame…………
导入库 Import random
1、 randrange(stare,stop,step)
Print(random.randrange(1,5,1))
2、 Random[0,1) 浮点数 随机产生一个实数
3、Randint(start,stop)
4、不同进制的转换, 默认输入十进制 二进制0b、 八进制0o、 十六进制0x
16 == 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
匿名函数 lambda
sum= lambda x, y : x+y
Print(sum(2,6))
自定义函数:我们自己编写的函数。
1.阅读材料:
在用算法解决问题的过程中,经常采用模块化程序设计思想,将问题分解成若干个子问题,并用相对独立的程序段来针对性的解决各个子问题,提高程序设计的效率。对于常用的程序代码,以模块化的形式进行保存,需要时可重复调用。
在Python中,主要利用函数、模块等方式实现模块化程序设计。
(1) 为什么要用函数
1. 提高代码复用性——抽象出来,封装为函数
2. 将复杂的大问题分解成一系列小问题,分而治之——模块化设计的思想
3. 利于代码的维护和管理
小栗子: # 5的阶乘 # 20的阶乘
n = 5 n = 20
res = 1 res = 1
for i in range(1,n+1): for i in range(1,n+1):
res *= i res *= i
print(res) print(res)
抽象成函数
def factorin(n):
res = 1
for i in range(1,n+1):
res *=i
return res
print(factorin(5))
print(factorin(20))
(2) 函数的定义及调用
白箱子:输入——处理——输出
三要素:参数、函数体、返回值
定义
def 函数名(参数集合):
<函数体>
[return 函数值]
# 求正方形的面积
def area_of_square(length_of_side):
square_area = pow(length_of_side,2)
return square_area
2.调用
函数名([参数])
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 math
math.sqrt(9)
方法二:from math import sqrt
sqrt(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语句。
同课章节目录