大家好,给大家分享一下python考什么内容,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!
Source code download: 本文相关源码
Python考试基础知识
一、python的基本语法(包括包的导入)
二、序列类型的数据结构(重点考察列表及其基本方法)
1、前言
序列顾名思义就是数据按照顺序排列,这个顺序实际上就是数据在内存中的顺序排列用python代码画雪人。序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字即它的位置或索引。序列都可以进行的操作有索引、截取(切片)、加、乘、成员检查。除此之外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法如list中的Max()方法等。Python内置序列类型最常见的是列表、元组、字典和集合。
2、list 内容简介
2.1 list简介
列表(list)是最常用的Python数据类型,列表的数据项可以不需要具有相同的类型。列表可以类比于其他语言的数组,但功能比数组强大的多。
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。实例如下:
list1 = ['中国','美国','加拿大']
2.2 list常用函数
list列表的基本函数如表1 Python 列表的方法和内置函数所示:
表1 Python列表的方法和内置函数
方法 | 功能 |
---|---|
list. append(obj) | 在列表末尾添加新的对象 |
list. count(obj) | 统计某个元素在列表中出现的次数 |
list. extend(seq) | 在列表末尾一次性追加另一 个序列中的多个值(用新列表扩展原来的列表) |
list. index(obj) | 从列表中找出某个值第一个匹配项的索引位置 |
list. insert(index, obj) | 将对象插人列表 |
list. pop(index) | 移除列表中的一个元素(默认最后一一个元素),并且返回该元素的值 |
list. remove( obj) | 移除列表中某个值的第一个匹配项 |
list, reverse( ) | 反转列表中元素顺序 |
list. sort([func]) | 对原列表进行排序 |
len(list) | 内置函数,列表元素个数 |
max(list) | 内置函数,返回列表元素最大值 |
min(list) | 内置函数,返回列表元素最小值 |
list(seq) | 内置函数,将元组转换为列表 |
2.3 list常见操作
列表对+和*的操作符与字符串相似。+号用于组合列表,*号用于重复列表。Python列表的操作符如表2所示。
表2 Python列表的操作符
Python表达式 | 描 述 | 结 果 |
---|---|---|
len([1, 2, 3,4]) | 长度 | 4 |
[1,2, 3+4]+ [4, 5, 6] | 组合 | [1,2,3,4,4,5,6] |
[‘Hi!’] * 4 | 重复 | [‘Hi!’, ‘Hil!’, ‘Hil!’, Hi!] |
1 in[1, 2, 3] | 元素是否存在于列表中 | True |
for x in[1, 2, 3]: print(x, end=“”) | 迭代 | 1 2 3 |
2.4 list定义多维列表
多维列表可以看做是列表的在列表,即列表的嵌套,也可以理解为多维列表的每一个元素也是一个列表,如:二维列表的元素是一维列表,三维列表的元素是二维列表。
如定义一个二维列表:
list = [['1','2','3'][1,2,3]]
再如定义一个3行6列的二维列表,并打印出来:
rows = 3
cols = 6
matrix = [[0 for col in range(cols)] for row in range(rows)]
for i in range(rows):
for j in range(cols):
matrix[i][j] = i*3+j
print(matrix[i][j],end=',')
print('\n')
结果如图:
三、索引切片(包括二维数组)
#导入numpy模块
import numpy as np
#创建一维数组
a = np.arange(1,13)
print(a)
#对一维数组进行修改形状 (4,3)
a = a.reshape(4,3) #形成二维数组
print(a)
#索引的使用
#获取第三行
print(a[2])
#获取第二行第三列
print(a[1][2])
#切片的使用 [行进行切片,列进行切片] [start:stop:step,start:stop:step]
#获取所有行所有列
print(a[:,:])
#获取所有行部分列 ,所有行第2列
print(a[:,1])
#获取所有行部分列 ,所有行第1、2列
print(a[:,0:2])
#获取部分行,所有列 ,获取奇数行所有列
print(a[::2,:])
#获取部分行,部分列,获取奇数行,第1、2列
print(a[::2,0:2])
#坐标获取 [行,列]
#获取第2行第3列
print(a[1][2])
print(a[1,2])
#同时获取不同行不同列,获取2行3列,和3行1列
print(a[1,2],a[2][0])
print(np.array(a[1,2],a[2][0]))
#使用坐标
print(a[(1,2),(2,0)])
#负索引的使用
print('最后一行')
print(a[-1])
print('行倒序')
print(a[::-1])
print(a[::-1,::-1])
四、字符串的方法与格式化
五、循环与条件分支的应用
1、if条件分支
1.1、单分支判断
if True:
print('OK')
1.2、双分支判断
if False:
print('OK')
else:
print('NO')
1.3、多条件多分支判断
n=10
if n==1:
print(n)
elif n==2:
print(n)
else:
print(n)
while循环
n=0
while n<3:
n+=1
print(n)
2、for循环
for i in range(9):
if i!=0:
if i%2==0:
print('%d是偶数'%(i))
3、循环控制语句
1、break
2、continue
4、复杂条件及处理
判断条件:变量、算术运算符、比较运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符。
4.1、成员运算符
对于具有集合概念的对象如数字序列、字符串、列表、元组、字典,可以通过成员运算符进行快速判断。
- in:如果在指定的序列中找到值,则返回True
- not in:如果在指定的序列中没有找到值,则返回True
if 2 in range(9):
print('2在集合里')
4.2、身份运算符:判断两个标识符(对象名)是否引用自一个对象,即指向的内存地址是否相同。
- is:判断两个标识符是否引用自一个对象,是返回True
- is not:判断两个标识符是否引用自一个对象,不是返回True
i=t=1
print(i is t)
4.3、运算符优先级
从高到低:
指数(**)
按位翻转(~),数前的正号(+)、负号(-)
乘(*)、除(/)、取模(%)、取整(//)
加法(+)、减法(-)
右移(>>)、左移(<<)
位与运算符(&)
位异或(^)、位或(|)
比较运算符(==、!=、<、>、>=、<=)
赋值运算符(=、%=、/=、//=、-=、+=、*=、**=)
身份运算符(is、is not)
成员运算符(in、not in)
逻辑运算符(not、or、and)
六、ndarray的创建及其基本属性
1、创建ndarray
a = [1,2,3]
b = np.array(a)
c = np.array([[1,2],[3,4]])
d = np.array([[1,2],[3,4]],dtype=complex) # 指定数据类型
print(b , b.dtype)
print(c , c.dtype)
print(d , d.dtype)
1.1、创建数值都为1的ndarray
array_one = np.ones([3, 10], dtype=np.int)
print(array_one)
1.2、创建数值都为0的ndarray
array_zero = np.zeros([4, 10], dtype=np.float)
print(array_zero)
1.3、创建指定数值的ndarray
array_full = np.full((3, 10), 5)
print(array_full)
2、Numpy查看数组属性
- .shape 为 (3,) 代表一维数组,有三个元素
- .shape 为 (2,6) 代表二维数组,2行,6列
a = [1,2,3]
b = np.array(a)
# 数组元素个数:3
print(b.size)
# 数组形状:c
print(b.shape)
# 数组维度:1
print(b.ndim)
# 数组元素类型:int32
print(b.dtype)
- .ndim表示数组的维数
七、两个大题根据要求将程序补充完整分别以列表和字典作为数据结构
八、根据我的示范给一个类添加属性和方法(以课堂上讲的Time类为基础)
参考链接:
https://blog.csdn.net/qq_41359808/article/details/100917447
https://www.cnblogs.com/yunguoxiaoqiao/p/7640040.html
https://www.cnblogs.com/monsterhy123/p/12595664.html
https://blog.csdn.net/xike1024/article/details/103483717
https://blog.csdn.net/weixin_42555080/article/details/86176794