Python考试基础知识

简介: Python考试基础知识

一、python的基本语法(包括包的导入)

Python的基本语法汇总


二、序列类型的数据结构(重点考察列表及其基本方法)

1、前言

序列顾名思义就是数据按照顺序排列,这个顺序实际上就是数据在内存中的顺序排列。序列是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])


四、字符串的方法与格式化

Python字符串的方法与格式化


五、循环与条件分支的应用

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类为基础)

相关文章
|
1月前
|
消息中间件 分布式计算 监控
Python面试:消息队列(RabbitMQ、Kafka)基础知识与应用
【4月更文挑战第18天】本文探讨了Python面试中RabbitMQ与Kafka的常见问题和易错点,包括两者的基础概念、特性对比、Python客户端使用、消息队列应用场景及消息可靠性保证。重点讲解了消息丢失与重复的避免策略,并提供了实战代码示例,帮助读者提升在分布式系统中使用消息队列的能力。
75 2
|
1月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据分析入门:基础知识与必备工具
【4月更文挑战第12天】Python是大数据时代数据分析的热门语言,以其简单易学和丰富库资源备受青睐。本文介绍了Python数据分析基础,包括Python语言特点、数据分析概念及其优势。重点讲解了NumPy、Pandas、Matplotlib、Seaborn和Scikit-learn等必备工具,它们分别用于数值计算、数据处理、可视化和机器学习。此外,还概述了数据分析基本流程,从数据获取到结果展示。掌握这些知识和工具,有助于初学者快速入门Python数据分析。
|
22天前
|
设计模式 开发者 Python
探索Python中的异步编程:从基础知识到实践应用
【6月更文挑战第6天】本文旨在深入探讨Python中的异步编程概念,包括其背后的原理、常用的库和框架以及如何在实际项目中应用这些知识。文章将通过具体的代码示例和场景分析,帮助读者理解异步编程在提升程序性能和处理并发任务中的重要性。
|
20天前
|
关系型数据库 MySQL 数据库
探索Python中的异步编程:从基础知识到高级应用
【6月更文挑战第8天】随着技术的进步,异步编程已经成为现代软件开发中不可或缺的一部分。本文将深入探讨Python中的异步编程,包括其基础知识、常用库和框架,以及一些高级应用。我们将通过实例来展示如何有效地使用异步编程来提高程序的性能和响应性。无论你是初学者还是经验丰富的开发者,这篇文章都会为你提供有价值的见解和技巧。
27 2
|
22天前
|
存储 关系型数据库 API
探索Python中的异步编程:从基础知识到实际应用
【6月更文挑战第6天】在本文中,我们将深入探讨Python中的异步编程,这是一种强大的编程技术,可以帮助我们更有效地处理并发任务。我们将从基础知识开始,然后逐步深入到实际应用,包括异步I/O操作、异步Web请求和异步数据库操作等。最后,我们将通过一个实际的项目案例,展示如何在Python中使用异步编程来提高程序的性能和效率。
|
4天前
|
JavaScript 前端开发 Java
python的入门基础知识和一些小技巧
python的入门基础知识和一些小技巧
|
15天前
|
算法 Python
Python基础教程(第3版)中文版 第一章 快速上手:基础知识(笔记)
Python基础教程(第3版)中文版 第一章 快速上手:基础知识(笔记)
|
1月前
|
机器学习/深度学习 算法 数据挖掘
数据分享|PYTHON用PYSTAN贝叶斯IRT模型拟合RASCH模型分析学生考试问题数据
数据分享|PYTHON用PYSTAN贝叶斯IRT模型拟合RASCH模型分析学生考试问题数据
|
1月前
|
Java 程序员 Python
Python基础知识主要包括其**语法规则、数据类型、控制结构以及函数和模块**等
【4月更文挑战第15天】Python基础知识主要包括其**语法规则、数据类型、控制结构以及函数和模块**等
33 11
|
1月前
|
运维 分布式计算 Java
第一章 Python基础知识
第一章 Python基础知识