Ⅰ 一篇文章搞定python二级考试
想考python二级的同学,大家不必过分担心考试的难度。考试内容基本围绕python基础来考。
以下是python二级考试的复习内容,仅供参考。
考试方式:
上机考试,考试时长 120 分钟,满分 100 分。
1. 题型及分值
单项选择题 40 分( 含公共基础知识部分 10 分)。
操作题 60 分( 包括基本编程题和综合编程题)。
2. 考试环境
Windows 7 操作系统,建议 Python 3.4.2 至 Python 3.5.3 版本,IDLE 开发环境。
考试内容:
一、 Python 语言基本语法元素
1. 程序的基本语法元素:程序的格式框架、缩进、注释、变量、命名、保留字、数据类型、赋值语句、引用。
2. 基本输入输出函数:input() 、eval() 、print() 。
3. 源程序的书写风格。4. Python 语言的特点。
二、 基本数据类型
1. 数字类型:整数类型、浮点数类型和复数类型。
2. 数字类型的运算:数值运算操作符、数值运算函数。
3. 字符串类型及格式化:索引、切片、基本的 format() 格式化方法。
4. 字符串类型的操作:字符串操作符、处理函数和处理方法。
5. 类型判断和类型间转换。
三、 程序的控制结构
1. 程序的三种控制结构。
2. 程序的分支结构:单分支结构、二分支结构、多分支结构。
3. 程序的循环结构:遍历循环、无限循环、break 和 continue 循环控制。
4. 程序的异常处理:try-except。
四、 函数和代码复用
1. 函数的定义和使用。
2. 函数的参数传递:可选参数传递、参数名称传递、函数的返回值。
3. 变量的作用域:局部变量和全局变量。
五、 组合数据类型
1. 组合数据类型的基本概念。
2. 列表类型:定义、索引、切片。
3. 列表类型的操作:列表的操作函数、列表的操作方法。
4. 字典类型:定义、索引。
5. 字典类型的操作:字典的操作函数、字典的操作方法。
六、 文件和数据格式化
1. 文件的使用:文件打开、读写和关闭。
2. 数据组织的维度:一维数据和二维数据。
3. 一维数据的处理:表示、存储和处理。
4. 二维数据的处理:表示、存储和处理。
5. 采用 CSV 格式对一二维数据文件的读写。
七、 Python 计算生态
1. 标准库:turtle 库( 必选)、random 库( 必选) 、time 库( 可选)。
2. 基本的 Python 内置函数。
3. 第三方库的获取和安装。
4. 脚本程序转变为可执行程序的第三方库:PyInstaller 库( 必选)。
5. 第三方库:jieba 库( 必选)、wordcloud 库( 可选)。
6. 更广泛的 Python 计算生态,只要求了解第三方库的名称,不限于以下领域:网络爬虫、数据分析、文本处理、数据可视化、用户图形界面、机器学习、Web 开发、游戏开发等。
Ⅱ python什么是弱引用,__weakref__如何使用
大家好,我是程序员老王。让我们来谈谈Python中的弱引用。
假设我们需要创建一个匿名聊天室。为了实现这一目标,我们首先定义了一个代表用户的类User。由于匿名聊天,用户无需注册,为每个用户分配一个唯一的id。我们确保id的独特性,通过维护一个全局字典,存储当前所有id与用户之间的关系,一旦发生冲突,重新生成id并更新全局字典。
随后,我们定义了聊天室函数chat_room,该函数允许多人参与聊天。在聊天结束后,这些匿名用户将失去作用。然而,问题在于,当用户被创建时,全局字典id_user中将记录所有User实例的引用。即使chat_room返回,id_user仍保有所有User的引用,导致这些实例无法被垃圾回收,进而影响id的重用。
解决这个问题的一种方法是,在chat_room返回前从id_user中删除用户引用。但考虑到实际聊天室功能的复杂性以及可能的异常处理,选择正确的del id_user的位置需要谨慎。此外,这种操作在逻辑上并不连贯,易于引入错误。
引入弱引用提供了一种替代解决方案。Python的weakref库中的WeakValueDictionary可以作为替代id_user的普通字典。这个WeakValueDictionary实现了字典接口,但其特殊之处在于,它的值为弱引用。
强引用,如chat_room中的u1和u2,只要对象还存在强引用,它们将不会被垃圾回收。因此,u1和u2指向的User实例在chat_room中不会被回收。然而,弱引用不同,如id_user中的值。虽然它们同样指向User实例,但只要实例没有其他强引用,这些User将被回收,并且id_user中对应的条目也会被删除。因此,当chat_room返回时,u1和u2指向的User已无强引用,id_user会自动执行删除操作,无需显式调用del。
输出结果显示,尽管我们没有删除id_user中的元素,id_user仍然为空,符合预期。如果全局变量中已有一个User,再次运行程序,id_user将保留一个User,因为全局变量u一直引用着这个User。
除了WeakValueDictionary,还有WeakKeyDictionary和WeakSet。WeakKeyDictionary中Key为弱引用,而WeakSet相当于只有Key没有Value的WeakKeyDictionary。更多细节在这里就不赘述。
ref类允许我们创建一个简单的弱引用。例如,我们可以对全局的User u创建一个ref类的实例。当我们调用u_ref()时,ref类会返回u对应的强引用。如果在调用u_ref()之前,User的强引用已经消失,再次调用u_ref()将返回None。
最后要指出,并非所有对象都支持弱引用。例如,数字和字符串不支持弱引用。考虑到这些类型在计算中可能重复出现,将其弱引用可能不符合逻辑。相比之下,类的实例、容器等对象更适合使用弱引用。完整的可弱引用的对象列表在文档中提供,但在实际使用中,无需特意查阅。
Ⅲ 写出python中6种数据类型
Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该敬知变量才会被创建。
Python3中有六个标准的数据亮铅消类型:Number(数字)+String(字符串)+List(列表)+Tuple(元组)+Sets(集合)+Dictionary(字典)。
Number(数字)数字类型是顾名思义是用来存储数值的,需要记住的是,有点和Java的字符串味道差不多,如果改变了数字数据类型的值,将重新分配内存空间。
可以使用del语句删除一些数字对象的引用delvar1[,var2[,var3[....,varN]]]]。Python支持三种不同的数值类型:
1.整型(Int)-通常被称为是整型或整数,是正或负整数,不带小数点。
Python3整型是没有限制大小的,可以当作Long类型使用,所以Python3没有Python2的Long类型。
2.浮点型(float)-浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2=2.5x102=250)
3.复((complex))-复数由实数部分和虚数部分构成,可以用a+bj,或complex(a,b)表示,复数的实部a和虚部b都是浮点型。数字类型转换1.int(x)将x转换为一个整数。
4.complex(x,y)将x和y转换到一个复数,实数部分为x,虚数部分为y。x和y是数字表达式。激好
Ⅳ python的数据类型有哪些
python数据类型主要分为以下六大类:Numbers(数字)、String(字符串)、List(列表、Tuple(元组)、Dictionary(字典)、Set(集合)。
Python的六个标准数据类型中:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组)。
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
字符串类型:
python的字符串或串(String)是由数字、字母、下划线组成的一串字符。