第一章 程序设计基本方法
计算机的两个基本特性:功能性和可编程性
程序设计语言:机器语言、汇编语言、高级语言和生态语言
python语言特点:语法简单、生态丰富、模式多样
程序编写方法:IPO(输入input、处理process、输出output)
编程语言执行方式:编译执行和解释执行
编译:将源代码一次性转换成目标代码的过程
解释:将源代码逐步转换成目标代码提示逐条运行的过程
题目:
摩尔定律指出,单位面积集成电路上可容纳晶体管的数量约每多久翻一倍( 2年 )
.Python语言的执行方式属于(解释执行 )
计算机技术发展的第三阶段(2008年至今)是_复杂信息系统__阶段。
编程解决计算问题的精简步骤包括确定IPO、编写程序和_调试程序__。
第二章 python基本语法元素
缩进:tab=4空格
注释:#、"""多行注释"""
斜杠:(正)斜杠:/分割字符串、反斜杠:\转义符
变量命名:数字、字母、下划线组成,首字母不能是数字
35个保留字:编程语言内部定义并保留使用的标识符

数据类型:整数、浮点数、字符串、列表
输入输出:
input():输入值
eval(语句):执行语句后输出语句执行结果
print():""内原样输出
print("转化后温度是{:.2f}".format(27.777))
turtle库:绘制图形
turtle.circle(r,extent):r正,圆心在左侧,r负,圆心在右侧
turtle.up():提起画笔移动
库引用方法:
import:引用库中所有函数
import as:引用库并重命名
from import:引入库中函数
题目:
字符串"Hello, Python!"中,通过反向序号获取最后一个字符的表达式是_"Hello,Python!"[-1]__。
Python中,导入turtle库并给其起别名为t的语句是_import turtle as t__。
交换变量a,b:a,b=b,a
第三章 基本数据类型
整数类型:十进制、二进制、八进制、十六进制
浮点数类型:<a>e<b>=a*10^b
浮点数产生的不确定尾数可以用round()函数消除
复数类型:complex:a.bj
z.real:实数部分a
z.imag:虚数部分b
数字运算 :
//:整数商
%:取余
**:幂
运算函数:
abs(x):绝对值
divmod(x,y):商余,(x//y, x%y),同时输出商和余数
pow(x, y):x**y
字符串:一组字符的有序表示
print("里面的\"记得要转义符"")
字符串切片:[N:M:K](左闭右开)
字符串操作符 :
字符串操作:
| 方法 | 含义说明 |
|---|---|
str.lower() |
将字符串中所有字母转换为小写 |
str.upper() |
将字符串中所有字母转换为大写 |
str.capitalize() |
将字符串首字母大写,其余字母小写 |
str.title() |
将字符串中每个单词的首字母大写 |
str.strip() |
去除字符串两端的空白字符(空格、换行等) |
str.lstrip() |
去除字符串左侧的空白字符 |
str.rstrip() |
去除字符串右侧的空白字符 |
str.replace(old, new) |
将字符串中的 old 替换为 new |
str.split(sep) |
按指定分隔符拆分字符串,返回列表 |
str.find(sub) |
查找子串第一次出现的位置,找不到返回 -1 |
str.startswith(prefix) |
判断字符串是否以指定前缀开头 |
str.endswith(suffix) |
判断字符串是否以指定后缀结尾 |
题目:
可实现Unicode编码与字符互转的是( chr()、ord() )
time库
time.ctime() 可获取易读格式的当前时间
time.sleep(s) 可使程序暂停s秒
Time.time():获取当前时间戳(从1970年1月1日00:00:00到当前的秒数)
Time.perf_counter():获取CPU累计时间
str
str.split():拆分
Format函数
print("{0:,.2f}".format(12345.6789)),输出结果为12,345.68
将浮点数转换为整数的函数是_int(),转换时采用"截断"__
字符串切片、拼接
实部虚部:
z.real z.imag
第四章 程序控制结构
分支结构:if、if-else、if-elif-else
表达式1 if 条件 else 表达式2
循环结构:for、while(跳出循环:continue、break)
逻辑运算:and、or、not
random库:产生各种分布的伪随机数序列
题目:
单分支语句
单分支结构的语法:if 条件:语句
二分支结构
Print("对"if 3>5 else "错")
<表达式1> if <条件> else <表达式2>
多分支
If-elif-else
Break,continue区分
range(5)生成0-4的数字序列
异常处理try-except-else-finally语法结构
try:可能发生异常的代码
except:异常发生时的处理逻辑
finally:无论是否异常都发生
range(3,10,2):起始,结束,步长
random库:
random.seed():初始化随机数种子
random.randint(a,b):生成[a,b]之间随机整数
第五章 函数和代码复用
自定义函数:
def 函数名(参数):
return 返回值
变量:局部变量、全局变量
递归函数:在定义中调用自身
递归函数两个特征:递归基例、递归链条
模块化设计:模块是代码组合,表达一个特定功能,可以简化程序设计,体现程序结构
PyInstaller库:将python源文件打包成可执行文件的第三方库
题目:
函数的核心作用是_降低编程难度_和_代码复用_,通过_def__保留字定义函数,通过_return __语句返回函数结果。
函数参数传递中,可选__参数必须放在_非可选 参数之后;可变参数通过符号*_标识,接收的参数以_元组_类型存储。
递归的两个关键特征是__存在递归链条_和_存在基例__
关于函数参数传递,下列说法正确的是( C )
A. 可选参数必须放在非可选参数之前
B. 可变参数用*变量名表示,接收的参数存储为列表
C. 名称传递时,参数顺序可以与函数定义时不一致
D. 函数调用时,实参个数必须与形参个数完全一致
局部变量和全局变量:
优先局部变量
局部变全局:global
lambda匿名函数,没有函数名,只能包含一个表达式,不能有复杂函数体,可以作为其他函数的参数
PyInstaller常用参数:-h查看帮助,-F生成独立可执行文件,-D生成dist文件夹(默认),--clean清理临时文件
drawLine(draw)函数
第六章 组合数据类型
集合set:{}或set()创建
列表list:[]或list()创建
元组tuple:一旦创建不可修改,逗号分割或tuple()创建
字典dict:键值对的集合,{}或dict()创建
jieba库:第三方中文分词函数库(精确模式、全模式、搜索引擎模式)
题目:
s.discard(2)后移除元素2
jieba库
jieba库的核心分词原理是依靠_中文词库_,确定中文字符之间的_关联概率_,进而形成分词结果。
精确模式(默认,jieba.lcut(s))
全模式(jieba.lcut(s, cut_all=True))
搜索引擎模式(jieba.lcut_for_search(s))
ls = [1,2,3]
ls.insert(1,4):在索引1插入4
ls.pop(2):删除索引2的值3
ls += [5]:添加5
字典的get(key, default)方法功能为:若键key存在,返回对应值;若不存在,返回默认值default
第七章 文件和数据格式化
文件读写操作:打开-操作-关闭
CSV格式基本规则:
纯文本格式,通过单一编码表示字符
以行为单位,开头不留空行,行之间没有空行
每行表示一个一维数据,多行表示二维数据
以逗号分割每列数据,列数据为空也要保留逗号
对于表格数据,可以包含或不包含列名,包含时列名放置在文件第一行
WorldCloud库:词云,采用像素覆盖方法控制词云形状
题目:
追加写入:a+
seek(offset)中offset的含义:0表示文件开头,1表示当前位置,2表示文件结尾
CSV格式的核心是"每行一个一维数据,逗号分隔元素",读取时需用split(",")将每行字符串按逗号拆分为列表元素
文件处理的基本步骤为:打开__、操作、关闭。
第八章 python程序设计方法
原则:优美、明了、简洁、复杂、扁平、间隔、可读性
自顶向下设计:解决复杂问题的有效方法
计算生态:信息技术快速发展的重要推动力之一
题目:
利用os模块的system()函数,循环执行pip install命令,可实现批量自动安装
PyPI(Python Package Index)是Python社区的第三方库仓库,用于存储和分发全球开发者分享的Python库
pip install <库名>是安装第三方库的基础命令
pip install -U <库名>,-U 标签表示更新(Update),用于升级已安装的库
pip show <库名> 命令用于显示指定库的详细信息(如版本、依赖)
pip uninstall <库名> 是卸载第三方库的标准命令
计算思维的核心是抽象和自动化
简答
参数的位置传递和名称传递各有什么优点
位置:支持可变数量的参数,但易忘记实参实义
名称:不易忘记实参实义,但不支持可变数量参数
请阐述一下try、except、else、finally保留字在异常处理中的作用
try:想要检测的部分
except:要捕获的异常,以及出现异常后的处理
else:不出现异常时要执行的语句
finally:无论如何都要执行的语句,常用在使程序继续执行
列表和集合的区别,他们之间如何互相转换
表现形式:列表用中括号 [],集合用大括号 {};
核心特性:列表有序、可重复、元素可修改
集合无序、不可重复、元素不可直接修改。
lst=[1,2,3]
s=set(lst)
s={1,2,3}
lst=list(s)
比较元组类型和列表类型在操作方面的不同
元组:不可变,适合固定数据且可作为字典键,不支持增删改查操作
列表:可变,适合动态修改元素,支持增删改、排序等操作
如何在程序中引用jieba库
命令环境下
pip install jieba
import jieba
Python第三方库的三种安装方法及适用场景。
方法1:pip安装(主要方法):通过命令行执行pip命令安装,适用于99%以上的场景,支持Windows、Mac、Linux等操作系统,需联网获取库文件;
方法2:集成安装(如Anaconda):通过集成开发工具批量安装,包含近800个常用第三方库,适用于数据计算等特定领域开发,无需手动逐个安装;
-方法3:文件安装:下载库的源码文件或.whl文件,手动执行安装命令,适用于网络不佳或特殊版本的库安装。
什么是自顶向下设计,什么是自底向上执行,两者有何关系
自顶向下:从大问题的算法开始,不断将大问题分解为小问题,设计小问题接口,用算法关联这些小问题
自底向上:设计完成后,先各个小部分开始测试,然后逐步扩大测试范围,最终测试整个程序的可行性
自顶向下设计模式为自底向上执行提供了条件
模块化设计思想的优缺点
将程序拆分为独立模块
优点:提高可维护性、可复用性和协作开发效率
缺点:接口复杂、初期开发耗时且可能带来性能开销
请列出五条优美代码的编写原则
清晰明了,规范统一
逻辑简洁,避免复杂逻辑
接口关系清晰
函数功能扁平,避免太多层嵌套
间隔要适当,每行代码解决适度问题
简述Python中文件读取的三种常用方法(read()、readline()、readlines())的区别。
read(size=-1):默认读取文件全部内容,若指定size参数,则读取前size个字符/字节,返回字符串(文本模式)或字节流(二进制模式);
readline(size=-1):每次读取一行内容,若指定size参数,则读取该行前size个字符/字节,返回字符串/字节流,多次调用可逐行读取文件;
readlines(hint=-1):默认读取文件所有行,以每行为元素形成列表返回,若指定hint参数,则读取前hint行。
三者核心差异体现在读取范围(全部 / 单行 / 所有行)和返回类型(字符串 / 字符串 / 列表)上。