python二级考点

【第1章】

程序设计语言概述

python语法组要用来精确表达问题逻辑,更接近自然语言,只是有33个保留字,十分简洁。

考点:
程序设计语言是计算机能够理解和识别用户操作意图的一种交互体系,它按照特定规则组织计算机指令,使计算机能够自动进行各种运算处理。
按照程序设计语言规则组织起来的一组计算机指令称为计算机程序
高级编程语言根据执行机制不同可以分成两大类:静态语言和脚本语言,静态语言采用编译方式执行,脚本语言采用解释方式执行。例如,c语言是静态语言,python语言是脚本语言。
采用编译执行的编程语言是静态语言,如C语言、Java语言;采用解释执行的编程语言是脚本语言,如JavaScript语言、PHP语言
静态=编译=文件 脚本=解释=交换

采用编译执行的编程语言是静态语言,如C语言、Java语言;采用解释执行的编程语言是脚本语言,如JavaScript语言、PHP语言

编译和解释

编译是将源代码转换成目标代码的过程,通常,源代码是高级语言代码,目标代码是机器语言代码,执行编译的计算机程序称为编译器

python二级考点_第1张图片

解释是将源代码逐条转换成目标代码同时逐条运行目标代码的过程。执行解释的计算机程序称为解释器。

python二级考点_第2张图片

计算机编程

python最小的程序

用python语言输出Hello World

print("Hello World")

python程序的特点

​ python具有通用性

​ python语法组要用来精确表达问题逻辑,更接近自然语言,只是有33个保留字,十分简洁。

【第2章】python语言基础语法元素

考纲考点

​ 程序的基本语法元素:程序的格式框架、缩进、注释、变量、命名、保留字、数据类型、赋值语句、引用。

​ 基本输入输出函数:input()、eval()、print()。

​ 源程序的书写风格

知识导图

python二级考点_第3张图片

程序框架

缩进

​ Python语言采用严格的“缩进”来表明程序的格式框架。缩进指每一行代码开始前的空白区域,用来表示代码之间的包含和层次关系

​ 1个缩进 = 4个空格 两种不能混用

​ 缩进是Python语言中表明程序框架的唯一手段

​ 当表达分支、循环、函数、类等程序含义时,在if、while、for、def、class等保留字所在完整语句后通过英文冒号(:)结尾并在之后进行缩进,表明后续代码与紧邻无缩进语句的所属关系。

命名

Python语言允许采用大写字母、小写字母、数字、下划线(_)和汉字等字符及其组合给变量命名,但名字的首字符不能是数字,中间不能出现空格,长度没有限制

注意

注意:标识符对大小写敏感,python和Python是两个不同的名字

保留字

python二级考点_第4张图片

数据类型概述

Python语言支持多种数据类型,最简单的包括数字类型、字符串类型,略微复杂的包括元组类型、集合类型、列表类型、字典类型等。

数字类型

表示数字或数值的数据类型称为数字类型,Python语言提供3种数字类型:整数、浮点数和复数,分别对应数学中的整数、实数和复数。

一个整数值可以表示为十进制、十六进制、八进制和二进制等不同进制形式。

​ 十进制: 1010
​ 十六进制:0x3F2
​ 八进制: 0o1762
​ 二进制: 0b001111110010

一个浮点数可以表示为带有小数点的一般形式,也可以采用科学计数法表示。例如:浮点数123.456,两种表示式如下:
一般形式: 123.456
科学计数法: 1.23456e2

复数类型与数学中的复数相一致,采用a+bj的形式表示,存在实部和虚部。

字符串

Python语言中,字符串是用两个双引号“ ”或者单引号‘ ’括起来的一个或多个字符。

Python字符串的两种序号体系

python二级考点_第5张图片

如果字符串长度为L,正向递增需要以最左侧字符序号为0,向右依次递增,最右侧字符序号为L-1;反向递减序号以最右侧字符序号为-1,向左依次递减,最左侧字符序号为-L。

>>>"对酒当歌,人生几何?"[1] 
酒
>>>"对酒当歌,人生几何?"[-1]
?

可以采用[N: M]格式获取字符串的子串,这个操作被形象地称为切片。[N: M]获取字符串中从N到M**(但不包含M)**间连续的子字符串。

>>>"譬如朝露,去日苦多。"[2:4] 
朝露
>>>"譬如朝露,去日苦多。"[5:-2]
去日苦

可以通过Python默认提供的len()函数获取字符串的长度,一个中文字符和西文字符的长度都记为1。

>>>len("譬如朝露,去日苦多。") 
10
>>>len("Hello World")
11

程序的语句元素

表达式

产生或计算新数据值的代码片段称为表达式。表达式类似数学中的计算公式,以表达单一功能为目的,运算后产生运算结果,运算结果的类型由操作符或运算符决定。

表达式一般由数据和操作符等构成,这是构成Python语句的重要部分。

复制语句

Python语言中,= 表示“赋值”,即将等号右侧的值计算后将结果值赋给左侧变量,包含等号(=)的语句称为“赋值语句”

	#	<变量> = <表达式>

同步赋值语句:同时给多个变量赋值

	#	<变量1>, …, <变量N> = <表达式1>, …, <表达式N>

例:将变量x和y交换

采用单个赋值,需要3行语句:
• 即通过一个临时变量t缓存x的原始值,然后将y值赋给
x,再将x的原始值通过t赋值给y。

采用同步赋值语句,仅需要一行代码:

>>>t = x
>>>x = y
>>>y = t
x,y = y,x

输入函数

>>> input()
123
'123'
>>> input("请输入一个数")
请输入一个数125
'125'
>>> a = input("abc")
abc15
>>> abc
>>> a
'15'
>>> input()+46
45
Traceback (most recent call last):
  File "", line 1, in <module>
    input()+46
TypeError: can only concatenate str (not "int") to str
    # 上面是提示错误
>>> input()+"45"
456
'45645'
>>> input()*5
45
'4545454545'
>>> 
>>> a = input()
45
>>> type(a)
<class 'str'>
>>> input("请输入您的成绩")
请输入您的成绩78
'78'
>>> eval(input("输入成绩"))
输入成绩45
45
>>> eval(input("输入成绩"))+45
输入成绩30
75

input()是输入函数

eval()是把字符串转变为数字

eval()就是去除一个引号

print(<输出字符串模板>.format(<变量1>,<变量2>,……,<变量n>))

>>> age = 18
>>> print("今年我{}岁".format(age))
今年我18>>> num = 172
>>> print(age,num)
18 172
>>> a = 47
>>> print(a,end=".")
47.

round()四舍五入函数

>>> a = 1.123456
>>> int(a)
1
>>> round(a,4)
1.1235

【第3章】 基本数据类型

考纲考点

数字类型:整数类型、浮点数类型和复数类型

数字类型的运算:数值运算操作符、数值运算函数

字符串类型及格式化:索引、切片、基本的format()格式化方法

字符串类型的操作:字符串操作符、处理函数和处理方法

类型判断和类型间转换

数字类型

type()测试类型函数

>>> a = 10
>>> type(a)
<class 'int'>
>>> type(123)
<class 'int'>
>>> type(1.12)
<class 'float'>
>>> type("sd")
<class 'str'>

bin(变量或者数字)十进制转换为二进制数

oct(变量或者数字)十进制转换为八进制数

hex(变量或者数字)十进制转换为十六进制数

>>> bin(4)
'0b100'
>>> oct(45)
'0o55'
>>> hex(45)
'0x2d'
函数 描述
abs(x) x的绝对值
divmod(x, y) (x//y, x%y),输出为二元组形式(也称为元组类型)
pow(x, y[, z]) (x**y)%z,[…]表示该参数可以省略,即:pow(x,y),它与x**y相同
round(x[, ndigits]) 对x四舍五入,保留ndigits位小数。round(x)返回四舍五入的整数值
max(x1, x2, …, xn) x1, x2, …, xn的最大值,n没有限定
min(x1, x2, …, xn) x1, x2, …, xn的最小值,n没有限定

format()方法的基本使用

字符串format()方法的基本使用格式是:

<模板字符串>.format(<逗号分隔的参数>)

其中,模板字符串是一个由字符串和槽组成的字符串,用来控制字符串和变量的显示效果。槽用大括号({})表示,对应format()方法中逗号分隔的参数。

>>>"{}曰:学而时习之,不亦说乎。".format("孔子")
'孔子曰:学而时习之,不亦说乎。'
>>>"{}曰:学而时习之,不亦{}。".format("孔子","说乎")
'孔子曰:学而时习之,不亦说乎。'
>>>"{1}曰:学而时习之,不亦{0}。".format("说乎","孔子")
'孔子曰:学而时习之,不亦说乎。'
>>>"{1}曰:{{学而时习之,不亦{0}}}。".format("说乎","孔子")
'孔子曰:{学而时习之,不亦说乎}。'

方法是一个特殊的函数

函数由软件开发定义的代码,可以实现某一个功能

区别 应用上,函数(参数) 对象.方法名(参数)

组合使用

: <填充> <对齐> <宽度> , <.精度> <类型>
引导符号 用于填充的单个字符 <左对齐
>右对齐
^剧中对齐
槽的设定输出宽度 数字的千位分隔符
适用于整数和浮点数
f浮点数小数部分的精度或字符串的最大输出长度 整数类型b,c,d,o,x,X浮点类型e,E,f,%
>>>s = "等级考试"
>>>"{:25}".format(s) 					#左对齐,默认
'等级考试 '
>>>"{:^25}".format(s) 					#居中对齐
' 等级考试 '
>>>"{:>25}".format(s)					#右对齐
' 等级考试'
>>>"{:*^25}".format(s) 					#居中对齐且填充*号
'**********等级考试***********'
>>>"{:+^25}".format(s) 					#居中对齐且填充+号
'++++++++++等级考试+++++++++++'
>>>"{:十^25}".format(s) 					#居中对齐且填充汉字“十”
'十十十十十十十十十十等级考试十十十十十十十十十十十'
>>>"{:^1}".format(s) 					#z指定宽度为1,不足变量s的宽度
'等级考试'
>>> "{:.3}".format(123.456)
'1.23e+02'
>>> "{:.2}".format(123.456)
'1.2e+02'
>>>"{:.2f}".format(12345.67890)
'12345.68'
>>>"{:>25.3f}".format(12345.67890)
' 12345.679'
>>>"{:.5}".format("全国计算机等级考试")
'全国计算机'
#<类型>表示输出整数和浮点数类型的格式规则。
#     对于整数类型,输出格式包括6种:
#• b: 输出整数的二进制方式;
#• c: 输出整数对应的Unicode字符;
#• d: 输出整数的十进制方式;
#• o: 输出整数的八进制方式;
#• x: 输出整数的小写十六进制方式;
#• X: 输出整数的大写十六进制方式;
>>>"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)
'110101001,Ʃ,425,651,1a9,1A9'

操作符

操作符 描述
x+y 连接两个字符串x与y
x*n或n*x 复制n次字符串x
x in s 如果x是s的子串,返回True,否则返回False

字符串处理函数

函数 描述
len(x) 返回字符串x的长度,也可返回其他组合数据类型的元素个数
str(x) 返回任意类型x所对应的字符串形式
chr(x) 返回Unicode编码x对应的单字符
ord(x) 返回单字符x表示的Unicode编码
hex(x) 返回整数x对应十六进制数的小写形式字符串
oct(x) 返回整数x对应八进制数的小写形式字符串

字符串处理方法

方法也是一个函数,只是调用方式不同。函数采用func(x)方式调用,而方法则采用.func(x)形式调用。方法仅作用于前导对象

方法 描述
str.lower() 返回字符串str的副本,全部字符小写
str.upper() 返回字符串str的副本,全部字符大写
str.split(sep=None) 返回一个列表,由str根据sep被分割的部分构成
str.count(sub) 返回sub子串出现的次数
str.replace(old,new) 返回字符串str的副本,所有old子串被替换为new
str.center(width,fillchar) 字符串居中函数,fillchar参数可选
str.strip(chars) 从字符串str中去掉在其左侧和右侧chars中列出的字符
str.join(iter) 将iter变量的每一个元素后增加一个str字符串
## 大写转小写
>>> a = "ABC"
>>> a.lower()
'abc'
>>> "OKK".lower()
'okk'
>>> a
'ABC'
##  分割方法 分割为列表形
>>> a = "ab ced kll"
>>> a.split()
['ab', 'ced', 'kll']
>>> a.split("e")
['ab c', 'd kll']
# 统计出现
>>> a = "adfdsfdddfisdhfidff545545"
>>> a.count('d')
7
# 替换字符串
>>> "abcdbdddfef".replace("cd","**")
'ab**bdddfef'
# 字符串居中
>>> "ab".center(10)
'    ab    '
>>> "ab".center(10,"*")
'****ab****'
# 从字符串两侧删除ab
>>> "abcdab".strip("ab")
'cd'
>>> "abcabdab".strip("ab")
'cabd'
# 链接
>>> "*".join("abcd")
'a*b*c*d'
# 查找
# 这是查找它的位置,这30是从30这开始查找,如果没有这30就是从开始开始查找。
>>> s = "The python language is a cross platfoorm language."
>>> print(s.find('language',30))
41
>>> print(s.find('language'))
11

【第4章】程序的控制结构

考纲考点

程序的三种控制结构
程序的分支结构: 单分支结构、二分支结构、多分支结构
程序的循环结构: 遍历循环、无限循环、break和continue循环控制
程序的异常处理: try-except

程序的基本结构

程序由三种基本结构组成:顺序结构、分支结构和循环结构。
任何程序都由这三种基本结构组合而成
这些基本结构都有一个入口和一个出口。任何程序都由这三种基本结构组合而成

异常处理

在三种基本控制逻辑基础上,Python语言进行了必要且适当的扩展。
在分支结构原理的基础上,Python增加了异常处理,使用try-except保留字
n 异常处理以程序异常为判断条件,根据一段代码执行的正确性进行程序逻辑选择。异常处理是分支结构的一种扩展。

在循环结构原理的基础上,Python提供两个循环控制符break和continue,对循环的执行过程进行控制。break控制符用来结束当前循环,continue控制符用来结束当前循环的当次循环过程,

二分支结构

二分支结构还有一种更简洁的表达方式,适合<语句块1>和<语句块2>都只包含简单表达式的情况,语法格式如下:
<表达式1> if <条件> else <表达式2>

# 判断用户输入数字的某个属性
s = eval(input("请输出一个整数:"))
token = "" if s % 3 == 0 and s % 5 == 0 else "不"
print("这个数字{}能够同时被3和5整除 ".format(token))

程序的循环结构

Python语言的循环结构包括两种:遍历循环和无限循环。
遍历循环使用保留字for依次提取遍历结构各元素进行处理;
无限循环使用保留字while根据判断条件执行程序。

遍历循环

遍历循环可以理解为从遍历结构中逐一提取元素,放在循环变量中,对于每个所提取的元素执行一语句块。for语句的循环执行次数是根据遍历结构中元素个数确定的。
for <循环变量> in <遍历结构>:
<语句块>

遍历结构可以是字符串、文件、range()函数或组合数据类型等。

for <循环变量> in <字符串变量>:
	<语句块>
for <循环变量> in range(<循环次数>):
	<语句块>

无限循环: while

Python通过保留字while实现无限循环
while <条件>:
<语句块>

当程序执行到while语句时,判断条件如果为True,执行循环体语句,语句结束后返回再次判断while语句的条件;当条件为False时,循环终止,执行与while同级别缩进的后续语句。

<表达式1> if <条件> else <表达式2>

程序的异常处理

Python语言使用保留字try和except进行异常处理,基本的语法格式如下:。

try:
	<语句块1>
except:
	<语句块2>

语句块1是正常执行的程序内容,当执行这个语句块发生异常时,则执行except保留字后面的语句块2。

【第5章】函数和代码复用

考纲考点

函数的定义和使用
函数的参数传递: 可选参数传递、参数名称传递、函数的返回值
变量的作用域: 局部变量和全局变量

函数的定义

函数的使用包括两部分:函数的定义和函数的使用

Python定义一个函数使用def保留字,语法形式如下:

def <函数名>(<参数列表>):
	<函数体>
	return <返回值列表>

参数列表是调用该函数时传递给它的值,可以有零个、一个或多个,当传递多个参数时各参数由逗号分隔,当没有参数时也要保留圆括号。

如果需要返回值,使用保留字return和返回值列表。函数可以没有return语句,函数体结束后会将控制权返回给调用者。

函数参数传递

可选参数传递

函数的参数在定义时可以指定默认值,当函数被调用时,如果没有传入对应的参数值,则使用函数定义时的默认值替代,函数定义时的语法形式如下:

def <函数名>(<非可选参数列表>, <可选参数> = <默认值>):
	<函数体>
	return <返回值列表>

需要注意,可选参数一般都放置在非可选参数的后面,即定义函数时,先给出所有非可选参数,然后再分别列出每个可选参数及对应的默认值。

>>> def multiply(x,y=10):
	print(x*y)

>>> multiply(99)
990
>>> multiply(99,2)
198

根据程序中变量所在的位置和作用范围,变量分为局部变量和全局变量

全局变量

全局变量指在函数之外定义的变量,在程序执行全过程有效。全部变量在函数内部使用时,需要提前使用保留字global声明,语法形式如下:

global <全局变量>
>>>n = 2 #n是全局变量
>>>def multiply(x, y = 10):
	global n
	return x*y*n # 使用全局变量n
>>>s = multiply(99, 2)
>>>print(s)
396

上例中,变量n是全局变量,在函数multiply()中使用时需要在函数内部使用global声明,定义后即可使用。

【第6章】组合数据类型

考纲考点

组合数据类型的基本概念
列表类型:定义、索引、切片
列表类型的操作:列表的操作函数、列表的操作方法
字典类型:定义、索引
字典类型的操作:字典的操作函数、字典的操作方法

组合数据类型的基础概念

Python语言中最常用的组合数据类型有3大类,分别是集合类型、序列类型和映射类型。
集合类型是一个具体的数据类型名称,而序列类型和映射类型是一类数据类型的总称

集合类型是一个元素集合,元素之间无序,相同元素在集合中唯一存在。
序列类型是一个元素向量,元素之间存在先后关系,通过序号访问,元素之间不排他。序列类型的典型代表是字符串类型和列表类型
映射类型是“键-值”数据项的组合,每个元素是一个键值对,表示为(key, value)。映射类型的典型代表是字典类型

python二级考点_第6张图片

集合类型

集合是无序组合,用大括号({})表示,它没有索引和位置的概念,集合中元素可以动态增加或删除。

集合中元素不可重复,元素类型只能是固定数据类型,例如:整数、浮点数、字符串、元组等,列表、字典和集合类型本身都是可变数据类型,不能作为集合的元素出现。

集合类型有4个操作符,交集(&)、并集(|)、差集(-)、补集(^),操作逻辑与数学定义相同。

炒作符的运算 描述
S – T 返回一个新集合,包括在集合S中但不在集合T中的元素
S & T 返回一个新集合,包括同时在集合S和T中的元素
S^T 返回一个新集合,包括集合S和T中非共同元素
S|T 返回一个新集合,包括集合S和T中所有元素
函数或方法 描述
S.add(x) 如果数据项x不在集合S中,将x增加到s
S.remove(x) 如果x在集合S中,移除该元素;不在产生KeyError异常
S.clear() 移除S中所有数据项
len(S) 返回集合S元素个数
x in S 如果x是S的元素,返回True,否则返回False
x not in S 如果x不是S的元素,返回True,否则返回False
>>> s = set("知之为知之不知为不知")
>>> s
{'知', '之', '不', '为'}
>>> S = set() 	# 定义一个空的集合
>>> S
set()
>>> type(S)
<class 'set'>

序列类型概念

小括号():代表tuple元组数据类型,元组是一种不可变序列
中括号[]:代表list列表数据类型,列表是一种可变的序列
大括号{}:代表dict字典数据类型,字典是由键对值组成。冒号’:‘分开键和值,逗号’,'隔开组

>>> a = set()		#定义集合
>>> a = {'222',12}	# 这是集合类型
>>> a = tuple()		#定义元组
>>> a = ["5",456]	#这是列表
>>> type(a)
<class 'list'>
>>> a = list()		#这是空列表的定义
>>> type(a)
<class 'list'>

序列类型有一些通用的操作符和函数

操作符 描述
x in s 如果x是s的元素,返回True,否则返回False
x not in s 如果x不是s的元素,返回True,否则返回False
s + t 连接s和t
s * n 或 n * s 将序列s复制n次
s[i] 索引,返回序列的第i个元素
s[i: j] 切片,返回包含序列s第i到j个元素的子序列(不包含第j个元素)
s[i: j: k] 步骤切片,返回包含序列s第i到j个元素以j为步数的子序列
len(s) 序列s的元素个数(长度)
min(s) 序列s中的最小元素
max(s) 序列s中的最大元素
s.index(x) 序列s中第一次出现元素x的位置
s.count(x) 序列s中出现x的总次数

**s.count(x)**这个方放会经常用到是重点
**s.index(x)**这个方法也很有用重点

列表

列表类型继承序列类型特点,有一些通用的操作函数

操作函数 描述
len(ls) 列表ls的元素个数(长度)
min(ls) 列表ls中的最小元素
max(ls) 列表ls中的最大元素
list(x) 将x转变成列表类型

列表方法

列表类型存在一些操作方法,使用语法形式是:
<列表变量>.<方法名称>(<方法参数>)

方法 描述
ls.append(x) 在列表ls最后增加一个元素x
ls.insert(i, x) 在列表ls第i位置增加元素x
ls.clear() 删除ls中所有元素
ls.pop(i) 将列表ls中第i项元素取出并删除该元素
ls.remove(x) 将列表中出现的第一个元素x删除
ls.reverse() 列表ls中元素反转
ls.copy() 生成一个新列表,复制ls中所有元素
>>> a = ["21","ad",55,55]	
>>> a.append("good")		#在列表最后添加一个“good”
>>> a
['21', 'ad', 55, 55, 'good']
>>> a.insert(3,"tob")		#在列表第3位添加“tob”
>>> a
['21', 'ad', 55, 'tob', 55, 'good']
>>> a.pop(3)				#删除列表第3位
'tob'
>>> a
['21', 'ad', 55, 55, 'good']
>>> a.remove('21')			#删除列表中的“21”
>>> a
['ad', 55, 55, 'good']
>>> a.reverse()				#将列表元素反转
>>> a
['good', 55, 55, 'ad']
>>> a.clear()				#删除列表中的所有元素
>>> a
[]
>>> a = ["ddd",566]
>>> a
['ddd', 566]
>>> b = a.copy()
>>> a
['ddd', 566]
>>> b
['ddd', 566]

除了上述方法,还可以使用Python保留字del对列表元素或片段进行删除,使用方法如下:

del <列表变量>[<索引序号>] 或
del <列表变量>[<索引起始>: <索引结束>]

>>>lt = ["1010", "10.10", "Python"]
>>>del lt[1]
>>>print(lt)
["1010", "Python"]
>>>lt = ["1010", "10.10", "Python"]
>>>del lt[1:]
>>>print(lt)
["1010"]
>>> b = ["dsd",123]
>>> c = b
>>> b.clear()			#这里b的数据清空c的数据也清空了。这是相当与c是个指针变量。
>>> b
[]
>>> c
[]
>>> b = a.copy()		#这里是把a的值赋值给b所以清空a,b的值也存在。
>>> a.clear()			
>>> a
[]
>>> b
['ddd', 566]

>>> list1 = [i*2 for i in 'python']
>>> list1
['pp', 'yy', 'tt', 'hh', 'oo', 'nn']

字典

其中,键和值通过冒号连接,不同键值对通过逗号隔开。字典类型也具有和集合类似的性质,即
值对之间没有顺序且不能重复。

{<键1>:<值1>, <键2>:<值2>, … , <键n>:<值n>}
<值> = <字典变量>[<键>]

>>>d = {"201801":"小明", "201802":"小红", "201803":"小白"}
>>>print(d["201802"])
小红

字典的操作函数

字典类型有一些通用的操作函数

操作函数 描述
len(d) 字典d的元素个数(长度)
min(d) 字典d中键的最小值 这里比较的是键的值的大小,就是key的大小,不比值的大小。
max(d) 字典d中键的最大值
dict() 生成一个空字典

字典类型存在一些操作方法,使用语法形式是:
<字典变量>.<方法名称>(<方法参数>)

操作方法 描述
d.keys() 返回所有的键信息
d.values() 返回所有的值信息
d.items() 返回所有的键值对
d.get(key,default) 键存在则返回相应值,否则返回默认值
d.pop(key,dafault) 键存在则返回相应值,同时删除键值对,否则返回默认值
d.popitem() 随机从字典中取出一个键值对,以元组(key, value)形式返回
d.clear() 删除所有的键值对
>>> d = {"01":"小马","02":"小米","03":"小明"}
>>> d.values()
dict_values(['小马', '小米', '小明'])
>>> type(d.values())
<class 'dict_values'>
>>> list(d.values())
['小马', '小米', '小明']
>>> list(d.items())
[('01', '小马'), ('02', '小米'), ('03', '小明')]
>>> d.get("05","没有")			# 这去查找05如果找不到就返回我们的默认值没有。
'没有'
>>> d.get("02","不存在")
'小米'

【第7章】文件和数据格式化

考纲考点

文件的使用: 文件打开、关闭和读写
数据组织的维度:一维数据和二维数据
一维数据的处理:表示、存储和处理
二维数据的处理:表示、存储和处理
采用CSV格式对一二维数据文件的读写

文件:
文件是存储在辅助存储器上的一组数据序列,可以包含任何数据内容。概念上,文件是数据的集合和抽象。文件包括两种类型:文本文件和二进制文件。
文本文件一般由单一特定编码的字符组成,如UTF-8编码,内容容易统一展示和阅读。
二进制文件直接由比特0和比特1组成,文件内部数据的组织格式与文件用途有关。二进制是信息按照非字符但特定格式形成的文件,例如,png格式的图片文件、avi格式的视频文件。

Python通过open()函数打开一个文件,并返回一个操作这个文件的变量,语法形式如下:
<变量名> = open(<文件路径及文件名>, <打开模式>)

打开模式 含义
‘r’ 只读模式,如果文件不存在,返回异常FileNotFoundError,默认值
‘w’ 覆盖写模式,文件不存在则创建,存在则完全覆盖源文件
‘x’ 创建写模式,文件不存在则创建,存在则返回异常FileExistsError
‘a’ 追加写模式,文件不存在则创建,存在则在原文件最后追加内容
‘b’ 二进制文件模式
‘t’ 文本文件模式,默认值
‘+’ 与r/w/x/a一同使用,在原功能基础上增加同时读写功能

文件使用结束后要用close()方法关闭,释放文件的使用授权,语法形式如下:
<变量名>.close()

>>> p = 'd:/文件/计算机等级考试/二级python语言程序设计/程序源代码/第7章/'
read() #所有类容为字符串的形式进行读取
>>> f = open(p+"a.txt","rt")
>>> print(f.read())
one
twe
shree
>>> f.close()
readline() #把当前行的内容以字符串的形式进行读取
>>> f = open(p+"a.txt","rt")
>>> print(f.readline())
one

>>> print(f.readline())
twe

>>> print(f.readline())
shree

>>> f.close()
readlines() #把所有数据以每行为一个数据组成列表数据
>>> f = open(p+"a.txt","rt")
>>> b = f.readlines()
>>> b
['one\n', 'twe\n', 'shree\n']
>>> print(b)
['one\n', 'twe\n', 'shree\n']
>>> type(b)
<class 'list'>
>>> f.close()

根据打开方式不同,文件读写也会根据文本文件或二进制打开方式有所不同。

方法 含义
f.read(size=-1) 从文件中读入整个文件内容。参数可选,如果给出,读入前size长度的字符串或字节流
f.readline(size=-1) 从文件中读入一行内容。参数可选,如果给出,读入该行前size长度的字符串或字节流
f.radlines(hint=-1) 从文件中读入所有行,以每行为元素形成一个列表。参数可选,如果给出,读入hint行
f.seek(offset) 改变当前文件操作指针的位置,offset的值0:文件开头; 2: 文件结尾

文件的写

方法 含义
f.write(s) 向文件写入一个字符串或字节流
f.writelines(lines) 将一个元素为字符串的列表写入文件
from random import random # 引用随机函数的模块
random()		#随机函数,随机获取我们

【第8章】


>>> import os
>>> os.getcwd()		#查看当前目录
'E:\\Program Files\\Python37'
>>> os.chdir("d:\\文件\\计算机等级考试\\二级Python语言程序设计\\02配套文字资料\\上课列举程序文件\\第8章")     #默认目录改到d盘下的这……
>>> import 体育竞技分析		# 调用这里面的体育竞技分析这个程序就可以运行了。
这是一个模拟两个选手A和B的竞技比较
程序运行需要A和B的能力值(01之间的小数表示)
请输入A的能力值:0.45
请输入B的能力值:0.5
模拟比赛的场次:1000
竞技开始,共模拟1000场比赛
选手A获胜376场比赛,占比37.6%
选手B获胜624场比赛,占比62.4%
>>> 体育竞技分析.gameOver(13,15)
True
>>> 体育竞技分析.gameOver(13,12)
False
>>> 体育竞技分析.gameOver(13,16)
True

基本的python内置函数

Python解释器提供了68个内置函数(下面介绍32个)

函数名称 函数说明
abs(x) x的绝对值
如果x是复数,返回复数的模
all(x) 组合类型变量x中所有元素都为真时返回True,否则返回False;若
x为空,返回True
any(x) 组合类型变量x中任一元素都为真时返回True,否则返回False;若
x为空,返回False
bin(x) 将整数x转换为等值的二进制字符串
bin(1010)的结果是’0b1111110010’
bool(x) 将x转换为Boolean类型,即True或False
bool(’’) 的结果是False
chr(x) 返回Unicode为i的字符
chr(9996)的结果是’✌ ’
complex(r,i) 创建一个复数 r + i*1j,其中i可以省略
complex(10,10)的结果是10+10j
dict() 创建字典类型
dict()的结果是一个空字典{}
divmod(a,b) 返回a和b的商及余数
divmod(10,3)结果是一个(3,1)
eval(s) 计算字符串s作为Python表达式的值
eval(‘1+99’)的结果是100
exec(s) 计算字符串s作为Python语句的值
exec(‘a = 1+999’)运行后,变量a的值为1000
float(x) 将x转换成浮点数
float(1010)的结果是1010.0
hex(x) 将整数转换为16进制字符串
hex(1010)的结果是’0x3f2’
input(s) 获取用户输入,其中s是字符串,作为提示信息
s可选
int(x) 将x转换成整数
int(9.9)的结果是9
list(x) 创建或将变量x转换成一个列表类型
list({10,9,8})的结果是[8,9,10]
max(a1,a2,…) 返回参数的最大值
max(1,2,3,4,5)的结果是5
min(a1,a2,…) 返回参数的最小值
min(1,2,3,4,5)的结果是1
oct(x) 将整数x转换成等值的八进制字符串形式
oct(1010)的结果是’0o1762’
open(fname,m) 打开文件,包括文本方式和二进制方式等
其中,m部分可以省略,默认是以文本可读形式打开
ord© 返回一个字符的Unicode编码值
ord(‘字’)的结果是23383
pow(x,y) 返回x的y次幂
pow(2,pow(2,2))的结果是16
print(x) 打印变量或字符串x
print()的end参数用来表示输出的结尾字符
range(a,b,s) 从a到b(不含)以s为步长产生一个序列
list(range(1,10,3))的结果是[1, 4, 7]
reversed® 返回组合类型r的逆序迭代形式
for i in reversed([1,2,3])将逆序遍历列表
round(n) 四舍五入方式计算n
round(10.6)的结果是11
set(x) 将组合数据类型x转换成集合类型
set([1,1,1,1])的结果是{1}
sorted(x) 对组合数据类型x进行排序,默认从小到大
sorted([1,3,5,2,4])的结果是[1,2,3,4,5]
str(x) 将x转换为等值的字符串类型
str(0x1010)的结果是’4112’
sum(x) 对组合数据类型x计算求和结果
sum([1,3,5,2,4])的结果是15
type(x) 返回变量x的数据类型
type({1:2})的结果是

【第9章】python标准库概述

考纲考点

标准库: turtle库(必选)
标准库: random库(必选)、time库(可选)

turtle库概述

turtle(海龟)是Python重要的标准库之一,它能够进行基本的图形绘制
turtle库绘制图形有一个基本框架:一个小海龟在坐标系中爬行,其爬行轨迹形成了绘制图形。对于小海龟来说,有“前进”、“后退”、“旋转”等爬行行为,对坐标系的探索也通过“前进方向”、“后退方向”、“左侧方向”和“右侧方向”等小海龟自身角度方位来完成。

turtle库包含100多个功能函数,主要包括窗体函数、画笔状态函数、画笔运动函数等三类。

窗体函数

turtle.setup(width, height, startx, starty)

参数 作用:设置主窗体的大小和位置
width 窗口宽度,如果值是整数,表示的像素值;如果值是小数,表示窗口宽度与屏幕的比例;
height 窗口高度,如果值是整数,表示的像素值;如果值是小数,表示窗口高度与屏幕的比例;
startx 窗口左侧与屏幕左侧的像素距离,如果值是None,窗口位于屏幕水平中央;
starty 窗口顶部与屏幕顶部的像素距离,如果值是None,窗口位于屏幕垂直中央;

画笔状态函数

函数 描述
pendown() 放下画笔
penup() 提起画笔,与pendown()配对使用
pensize(width) 设置画笔线条的粗细为指定大小
color() 设置画笔的颜色
begin_fill() 填充图形前,调用该方法
end_fill() 填充图形结束
filling() 返回填充的状态,True为填充,False为未填充
clear() 清空当前窗口,但不改变当前画笔的位置
reset() 清空当前窗口,并重置位置等状态为默认值
screensize() 设置画布的长和宽
hideturtle() 隐藏画笔的turtle形状
showturtle() 显示画笔的turtle形状
isvisible() 如果turtle可见,则返回True

画笔运动函数

函数 描述
forward() 沿着当前方向前进指定距离
backward() 沿着当前相反方向后退指定距离
right(angle) 向右旋转angle角度
left(angle) 向左旋转angle角度
goto(x,y) 移动到绝对坐标(x,y)处
setx() 将当前x轴移动到指定位置
sety() 将当前y轴移动到指定位置
setheading(angle) 设置当前朝向为angle角度
home() 设置当前画笔位置为原点,朝向东。
circle(radius,e) 绘制一个指定半径r和角度e的圆或弧形
dot(r,color) 绘制一个指定半径r和颜色color的圆点
undo() 撤销画笔最后一步动作
speed() 设置画笔的绘制速度,参数为0-10之间

random库概述

使用random库主要目的是生成随机数

这个库提供了不同类型的随机数函数,其中最基本的函数是random.random(),它生成一个[0.0, 1.0)之间的随机小数,所有其他随机函数都是基于这个函数扩展而来。

random库的常用函数

函数 描述
seed(a=None) 初始化随机数种子,默认值为当前系统时间
random() 生成一个[0.0, 1.0)之间的随机小数
randint(a,b) 生成一个[a,b]之间的整数
getrandbits(k) 生成一个k比特长度的随机整数
randrange(start, stop[, step]) 生成一个[start, stop)之间以step为步数的随机整数
uniform(a, b) 生成一个[a, b]之间的随机小数
choice(seq) 从序列类型(例如:列表)中随机返回一个元素
shuffle(seq) 将序列类型中元素随机排列,返回打乱后的序列
sample(pop, k) 从pop类型中随机选取k个元素,以列表类型返回

时间函数,选学习

  1. import time
  2. def coreLoop():
  3. ​ limit = 10**8
  4. ​ while (limit > 0):
  5. ​ limit -= 1
  6. def otherLoop1():
  7. ​ time.sleep(0.2)
  8. def otherLoop2():
  9. ​ time.sleep(0.4)
  10. def main():
  11. ​ startTime = time.localtime()
  12. ​ print(‘程序开始时间:’, time.strftime(’%Y-%m-%d %H:%M:%S’, startTime))
  13. ​ startPerfCounter = time.perf_counter()
  14. ​ otherLoop1()
  15. ​ otherLoop1PerfCounter = time.perf_counter()
  16. ​ otherLoop1Perf = otherLoop1PerfCounter - startPerfCounter
  17. ​ coreLoop()
  18. ​ coreLoopPerfCounter = time.perf_counter()
  19. ​ coreLoopPerf = coreLoopPerfCounter - otherLoop1PerfCounter
  20. ​ otherLoop2()
  21. ​ otherLoop2PerfCounter = time.perf_counter()
  22. ​ otherLoop2Perf = otherLoop2PerfCounter - coreLoopPerfCounter
  23. ​ endPerfCounter = time.perf_counter()
  24. ​ totalPerf = endPerfCounter - startPerfCounter
  25. ​ endTime = time.localtime()
  26. ​ print(“模块1运行时间是:{}秒”.format(otherLoop1Perf))
  27. ​ print(“核心模块运行时间是:{}秒”.format(coreLoopPerf))
  28. ​ print(“模块2运行时间是:{}秒”.format(otherLoop2Perf))
  29. ​ print(“程序运行总时间是:{}秒”.format(totalPerf))
  30. ​ print(‘程序结束时间:’, time.strftime(’%Y-%m-%d %H:%M:%S’, endTime))
  31. main()

输出的结果:

程序开始时间: 2019-05-19 13:48:40
模块1运行时间是:0.19982910000000004秒
核心模块运行时间是:5.6806743秒
模块2运行时间是:0.4003579000000004秒
程序运行总时间是:6.2808637秒
程序结束时间: 2019-05-19 13:48:46

【第10章】Python第三方库概览

考纲考点

第三方库的获取和安装
脚本程序转变为可执行程序的第三方库:PyInstaller库(必选)
第三方库: jieba库(必选)、wordcloud库(可选)

Python第三方库依照安装方式灵活性和难易程度有三个方法:pip工具安装、自定义安装和文件安装

最常用且最高效的Python第三方库安装方式是采用pip工具安装。pip是Python官方提供并维护的在线第三方库安装工具。
pip install <拟安装库名>

执行pip -h将列出pip常用的子命令

:\>pip -h
Usage:
pip  [options]
Commands:
install Install packages.
download Download packages.
uninstall Uninstall packages.
freeze Output installed packages in requirements format.
list List installed packages.
show Show information about installed packages.
search Search PyPI for packages.
wheel Build wheels from your requirements.
hash Compute hashes of package archives.
completion A helper command used for command completion
help Show help for commands.

pip支持安装(install)、下载(download)、卸载(uninstall)、列表(list)、查看(list)、查找(search)等一系列安装和维护子命令。

PyInstaller库概述

PyInstaller是一个十分有用的Python第三方库,它能够在Windows、Linux、Mac OS X等操作系统下将Python源文件打包,变成直接可运行的可执行文件。
通过对源文件打包,Python程序可以在没有安装Python的环境中运行,也可以作为一个独立文件方便传递和管理。

:\>pip install PyInstaller

使用PyInstaller库对Python源文件打包十分简单,使用方法如下:
:>PyInstaller

执行完毕后,源文件所在目录将生成dist和build两个文件夹。最终的打包程序在dist内部与源文件同名的目录中。

PyInstaller有一些常用参数

参数 功能
-h, --help 查看帮助
–clean 清理打包过程中的临时文件
-D, --onedir 默认值,生成dist目录
-F, --onefile 在dist文件夹中只生成独立的打包文件
-i <图标文件名.ico > 指定打包程序使用的图标(icon)文件

可以通过-F参数对Python源文件生成一个独立的可执行文件,如下:
:>PyInstaller -F

:\>PyInstaller -F SnowView.py

执行后在dist目录中出现了SnowView.exe文件,没有任何依赖库,执行它即可显示雪景效果。

打包方法要先进入这个文件存放放的位置,然后进行命令的输入

PyInstaller -i snowflake.ico 绘制雪景.py

used for command completion
help Show help for commands.


pip支持安装(install)、下载(download)、卸载(uninstall)、列表(list)、查看(list)、查找(search)等一系列安装和维护子命令。

## PyInstaller库概述

PyInstaller是一个十分有用的Python第三方库,它能够在Windows、Linux、Mac OS X等操作系统下将Python源文件打包,**变成直接可运行的可执行文件。**
通过对源文件打包,Python程序可以在没有安装Python的环境中运行,也可以作为一个独立文件方便传递和管理。

```cmd
:\>pip install PyInstaller

使用PyInstaller库对Python源文件打包十分简单,使用方法如下:
:>PyInstaller

执行完毕后,源文件所在目录将生成dist和build两个文件夹。最终的打包程序在dist内部与源文件同名的目录中。

PyInstaller有一些常用参数

参数 功能
-h, --help 查看帮助
–clean 清理打包过程中的临时文件
-D, --onedir 默认值,生成dist目录
-F, --onefile 在dist文件夹中只生成独立的打包文件
-i <图标文件名.ico > 指定打包程序使用的图标(icon)文件

可以通过-F参数对Python源文件生成一个独立的可执行文件,如下:
:>PyInstaller -F

:\>PyInstaller -F SnowView.py

执行后在dist目录中出现了SnowView.exe文件,没有任何依赖库,执行它即可显示雪景效果。

打包方法要先进入这个文件存放放的位置,然后进行命令的输入

PyInstaller -i snowflake.ico 绘制雪景.py

你可能感兴趣的:(python程序设计,python二级)