Python编程核心知识点速览

一、基础知识

(一)语言特性

  1. Python是解释型、跨平台的高级通用脚本语言,语法简洁、生态丰富,支持面向过程和面向对象编程。

  2. 执行速度较编译型语言慢,但可调用C语言编写的底层代码提升性能,适用于数据分析、机器学习、Web开发等多个领域,不适合作为系统编程的首选语言。

  3. 源文件后缀名主要为`.py`,还有`.py3`、`.pyc`等其他后缀。

(二)语法元素

  1. 缩进:用于表示程序的格式框架和代码块所属关系,分支、循环、函数等结构后需通过冒号(:)结尾并缩进,缩进可嵌套,一般代码无需缩进(顶行编写)。

  2. 保留字:如if、while、for、def、class、try、except等,不可作为变量名,区分大小写(如True是保留字,true不是)。

  3. 变量命名:可由大小写字母、数字、下划线、汉字组成,首字符不能是数字,不能包含特殊符号(如!、-、*等)。

  4. 数据类型:

基本类型:整数(int)、浮点数(float)、复数(complex),支持算术运算(+、-、*、/、//、%、**)。

字符串(str):可通过单引号、双引号或三引号定义,支持索引、切片([N:M]前闭后开)、拼接、替换等操作,len()函数可获取长度。

组合类型:列表(list)、元组(tuple)、字典(dict)、集合(set)。

(三)常用函数与运算符

  1. 内置函数:len()(获取长度)、type()(判断类型)、eval()(执行字符串表达式)、int()/str()/float()/complex()(类型转换)、id()(获取对象内存地址)等。

  2. 运算符:

算术运算符://(整数商)、%(取余)、**(幂运算)。

比较运算符:==(值相等判断)、>、<等,字符串比较按对应索引字符的ASCII码值。

逻辑运算符:and、or、not。

增强赋值运算符:+=、-=等。

二、控制结构

(一)分支结构

  1. 单分支:if 条件: 代码块。

  2. 二分支:if 条件: 代码块1 else: 代码块2,支持紧凑形式"表达式1 if 条件 else 表达式2"。

  3. 多分支:if 条件1: 代码块1 elif 条件2: 代码块2 ... else: 代码块n,elif和else为可选。 4. 条件判断支持任意能产生True/False的语句或函数,支持连续判断(如11<=22<33)。

(二)循环结构

  1. 遍历循环:for 循环变量 in 遍历结构(字符串、列表、range()等),range(start, stop, step)生成指定范围的整数序列(不包含stop)。

  2. 无限循环:while 条件: 代码块,可通过break(跳出当前循环)、continue(结束本次循环)控制流程。

  3. 循环可与else搭配,循环正常结束时执行else代码块。

(三)异常处理

  1. 使用try-except语句捕获异常,try代码块执行异常时,执行except代码块,支持多个except分支处理不同类型异常。

  2. 常见异常类型:SyntaxError(语法错误)、TypeError(类型不匹配)、NameError(变量未定义)、ZeroDivisionError(除零错误)等。

三、函数

(一)函数定义与调用

  1. 用def关键字定义:def 函数名(参数): 代码块,可通过return语句返回结果(无return时返回None),支持返回多个结果(以元组形式)。

  2. 参数可设置默认值(可选参数),可选参数需放在非可选参数之后,调用时可按位置或参数名传递参数。

  3. 函数需先定义后调用,可嵌套在分支或循环语句内部,同一程序中可定义多个函数,无主函数强制要求。

(二)变量作用域

  1. 局部变量:函数内部定义,仅在函数内部有效,函数退出后释放。

  2. 全局变量:函数外部定义,程序执行全过程有效,函数内部修改全局变量需用global关键字声明。

(三)常用内置函数与标准库函数

  1. random库:生成伪随机数,常用函数有random()(0~1浮点数)、randint(a,b)(a~b整数)、uniform(a,b)(a~b浮点数)、shuffle()(打乱列表)等。

  2. time库:处理时间,常用函数有time()(返回时间戳)、localtime()(返回struct_time形式)、strftime()(格式化时间字符串)等。

  3. turtle库:图形绘制,常用函数有fd()(前进)、left()/right()(旋转)、pencolor()(设置画笔颜色)、circle()(画圆)等。

四、组合数据类型

(一)列表(list)

  1. 有序可变,元素类型可不同,支持append()(末尾添加元素)、insert()(指定位置插入)、reverse()(反转)、copy()(复制)、clear()(清空)等方法。

  2. 索引支持正向(从0开始)和反向(从-1开始),切片格式为[ N:M:K ](N起始索引、M结束索引、K步长)。

(二)元组(tuple)

  1. 有序不可变,元素类型可不同,用圆括号定义,支持索引和切片,无修改元素的方法。

(三)字典(dict)

  1. 无序的键值对集合,键不可变(不能用列表作为键),值可任意,支持get(key, default)(获取值)、keys()(获取所有键)、values()(获取所有值)、items()(获取键值对)、pop(key)(删除键值对)等方法。

  2. 通过键索引值,len()函数返回键值对个数。

(四)集合(set)

  1. 无序无重复元素,用set()函数或大括号定义,支持交集、并集、差集等运算,常用方法有add()(添加元素)、remove()(删除元素)。

五、文件操作

(一)文件打开与关闭

  1. 用open()函数打开文件,语法:open(文件路径, 打开模式),打开模式包括:

r:只读模式(默认)。

w:覆盖写模式(文件不存在则创建)。

a:追加写模式(文件不存在则创建)。

x:创建写模式(文件存在则报错)。

b:二进制模式,

t:文本模式(默认)。

  1. 文件使用后需用close()关闭,或用with语句自动关闭。

(二)文件读写操作

  1. 读操作:read()(读全部内容)、readline()(读一行)、readlines()(读所有行,返回列表)。 2. 写操作:write()(写字符串或字节流)、writelines()(写列表中的字符串)。

(三)CSV文件处理

  1. CSV文件是逗号分隔的纯文本格式,用于存储一维或二维数据,每行表示一条一维数据。 2. 读取时可通过split(',')分割数据,写入时可通过join()方法拼接数据。

六、生态与第三方库

(一)常用第三方库分类

  1. 数据分析:numpy(矩阵运算)、pandas(数据处理)、matplotlib(数据可视化)。

  2. 机器学习:scikit-learn、TensorFlow、PyTorch、MXNet。

  3. Web开发:Django、Flask、Pyramid。

  4. 网络爬虫:Scrapy、Requests、BeautifulSoup4(解析HTML/XML)。

  5. 图像处理:PIL(Pillow)、OpenCV-Python。

  6. 用户界面:PyQt5、wxPython。

(二)库的安装与打包

  1. 用pip工具安装第三方库,命令:pip install 库名,常用参数:download(下载不安装)、uninstall(卸载)、show(查看信息)。

  2. 用PyInstaller打包Python源文件,-F参数生成独立可执行文件,--clean参数清理临时文件。

七、常见考点与易错点

  1. 浮点数精度问题:0.1+0.2≠0.3(输出False),因二进制无法精确表示部分十进制浮点数。 2. 列表与字典的索引、切片操作:列表切片前闭后开,字典通过键索引而非整数索引。

  2. 函数参数传递:默认参数的赋值仅在函数定义时执行一次,可变类型参数(如列表)作为默认参数可能导致意外结果。

  3. 异常处理的适用场景:除零运算、用户输入格式错误、文件读取异常等场景需添加异常处理。

  4. 字符串转义字符:\0表示空格,\n表示换行,字符串中需输出引号时可使用转义符或不同引号嵌套。

相关推荐
twc8292 小时前
大模型生成 QA Pairs 提升 RAG 应用测试效率的实践
服务器·数据库·人工智能·windows·rag·大模型测试
宇擎智脑科技2 小时前
A2A Python SDK 源码架构解读:一个请求是如何被处理的
人工智能·python·架构·a2a
2401_851272992 小时前
实战:用Python分析某电商销售数据
jvm·数据库·python
vx_biyesheji00012 小时前
Python 全国城市租房洞察系统 Django框架 Requests爬虫 可视化 房子 房源 大数据 大模型 计算机毕业设计源码(建议收藏)✅
爬虫·python·机器学习·django·flask·课程设计·旅游
qq_416018722 小时前
C++中的状态模式
开发语言·c++·算法
2401_884563242 小时前
模板代码生成工具
开发语言·c++·算法
枕布响丸辣2 小时前
MySQL 从入门到精通:完整操作手册与实战指南
数据库·mysql
code 小楊2 小时前
yrb 1.5.0 正式发布:Python 极简国内下载加速与全景可视化终端体验!
开发语言·python
电商API&Tina2 小时前
【电商API接口】开发者一站式电商API接入说明
大数据·数据库·人工智能·云计算·json