跳到主要内容Python 核心语法实战:从变量到文件操作一站式指南 | 极客日志Python
Python 核心语法实战:从变量到文件操作一站式指南
Python 核心语法是自动化测试与脚本开发的基石。本文系统梳理了变量类型、运算符、流程控制、函数定义、数据结构(列表、元组、字典)及文件操作等关键知识点。通过对比可变与不可变类型、解析缩进规则、演示 f-string 格式化输出,并结合实际代码示例讲解循环控制与递归逻辑。内容涵盖标准库与第三方库的使用流程,帮助读者快速掌握 Python 编程基础,为后续编写高效测试脚本打下坚实基础。
暗影行者0 浏览 

关于 Python 及 PyCharm 的环境搭建,建议查阅官方文档或自行搜索教程,本文聚焦于核心语法的实战应用。
Python 凭借简洁优雅的语法和强大的生态,成为数据分析、人工智能及自动化脚本开发的首选语言。但要真正用好它,扎实的基础语法是必经之路。本文将结合实战场景,从基础运算到数据持久化,带你系统梳理 Python 核心语法,看完就能上手写代码。
变量与数据类型:程序的'原材料仓库'
变量就像快递盒,用来装不同类型的数据;数据类型则是盒子上的标签,决定了我们能对它做什么操作。Python 的变量规则与其他语言大同小异,但它的动态类型特性是一大亮点——赋值后自动识别类型,无需手动声明。
这种特性在中小型项目中能大幅节约代码量,但在大型工程中可能会增加模块间的理解成本。因此,理解不同数据类型的特性至关重要。
常见数据类型及操作
| 数据类型 | 定义方式 | 核心操作 | 适用场景 |
|---|
| 整数(int) | num = 10 | 加减乘除、取余(%)、整除(//) | 计数、编号等整数场景 |
| 浮点数(float) | price = 9.9 | 同整数,注意精度问题 | 金额、重量等小数场景 |
| 字符串(str) | name = "Python" | 拼接(+)、切片([0:2])、替换(replace) | 文本存储与处理 |
| 列表(list) | nums = [1,2,3] | 增(append)、删(pop)、改(nums[0]=0) | 存储多个可变数据 |
| 元组(tuple) | info = ("Tom",20) | 只能查,不能改 | 存储固定不变的数据(如坐标) |
| 字典(dict) | student = {"name":"Tom","age":20} | 按键取值(student["name"])、增删键值对 | 存储键值对应的数据 |
| 集合(set) |
提示:在 Python 中,单引号和双引号构成的字符串没有区别,'hello' 和 "hello" 完全等价。
- 可变 vs 不可变类型:列表、字典、集合是可变类型(能修改内部数据),而整数、浮点数、字符串、元组是不可变类型(修改会生成新对象)。例如尝试修改字符串字符
s[0] = "H" 会报错,正确做法是重新赋值 s = "Hello"。
- 列表与元组的区别:元组用小括号,列表用中括号。新手常犯把元组当列表修改的错误,导致程序崩溃。
- 字典的键要求:必须是不可变类型(如字符串、整数),不能用列表当键。
运算符:程序的'计算器 + 判断器'
运算符是实现数据运算和条件判断的核心工具。重点要记清优先级和实用技巧。
- 算术运算符:
+(加)、-(减)、*(乘)、/(除)、%(取余)、//(整除)、**(幂运算)。
- 除零异常:
/、//、%的除数不能为 0,否则会报 ZeroDivisionError。
- 求余正负:结果的正负与被除数一致。例如
-7 % 3 结果是 2。
print(7 % 3)
print(-7 % 3)
- 比较运算符:
==、!=、>、<、>=、<=。比较结果返回布尔值(True/False)。
- 逻辑运算符:
and(与)、or(或)、not(非)。注意短路特性:and前为 False 则不执行后面;or前为 True 则不执行后面。
- 赋值运算符:
=, +=, -=, *=, /=。支持链式赋值和多元赋值(常用于交换变量)。
x = 10
y = 20
x, y = y, x
print(x, y)
⚠️ 注意:Python 没有 ++ 和 -- 运算符,自增需用 a += 1。
- 成员运算符:
in(在...内)、not in(不在...内)。
优先级避坑:算术 > 比较 > 逻辑 > 赋值。不确定时加括号,比如 (3+2)*4 比 3+2*4 更清晰。
注释:代码的'笔记本'
Python 支持两种注释风格,好的注释能让代码更易读。
- 单行注释:以
# 开头,适合简短解释。
- 多行注释:用三引号
""" 或 ''' 包裹,适合函数说明或长段解释。
def calc_sum(a, b):
'''
计算两个数的和
参数:a -> 第一个数,b -> 第二个数
返回值:a + b 的结果
'''
return a + b
输入输出:程序的交互窗口
程序需要和用户交互,最基础的方式是控制台输入输出。
print() 用于将内容输出到控制台。支持输出单个或多个内容,默认用空格隔开。
name = "张三"
age = 20
print("姓名:", name, "年龄:", age)
想让输出更美观?用 f-string。在字符串前加 f,用 {变量} 嵌入内容。
score = 89.5
print(f"平均分:{score},总分:{score * 3}")
input() 读取用户输入,返回值永远是字符串。即使输入数字,也需要手动转换类型。
age = input("请输入你的年龄:")
age = int(age)
print(f"明年你{age + 1}岁")
流程控制:让程序'做选择''重复做'
默认情况下,程序从上到下顺序执行。实际场景中,我们需要程序根据条件做选择或重复执行某件事。
缩进是关键,Python 用缩进表示代码块(通常 4 个空格)。
score = 70
if score >= 60:
print("及格")
else:
print("不及格")
*注意:elif 是 'else if' 的缩写,不能写成 else if。条件是互斥的,一旦成立后续不再判断。
- while 循环:条件满足就循环。记得在循环体中更新条件变量,否则会导致死循环。
- for 循环:遍历可迭代对象(列表、字符串等)。配合
range() 使用非常灵活。
range(5)
range(1, 5)
range(1, 10, 2)
break:结束整个循环。
continue:跳过本次循环,进入下一次。
函数:代码的'复用神器'
如果一段代码需要重复使用,封装成函数是最佳实践。函数就像一个工厂:输入参数,经过加工,输出返回值。
def add(x, y):
result = x + y
return result
total = add(10, 20)
add(30, 40)
- 默认值:有默认值的参数必须放在无默认值参数后面。
- 关键字参数:可以显式指定实参传给哪个形参,顺序任意。
一个函数可以有多个 return,但执行到第一个 return 就会结束。也可以返回多个值(自动封装成元组)。
- 局部变量:函数内部定义,外部无法访问。
- 全局变量:函数外部定义。函数内部若要修改全局变量,需用
global 声明。
函数调用自身。核心是必须有'递归结束条件',否则会栈溢出。
def factorial(n):
if n == 1:
return 1
return n * factorial(n - 1)
列表和元组:批量存储数据的'容器'
列表和元组都是序列型数据结构,关键差异在于'可变性'。
可修改的序列,类似'散装辣条',可随时增减。支持下标访问、切片、增删改查等操作。
alist = [1, 2, 3]
alist.append(4)
alist.pop(0)
print(alist[::2])
创建后不可修改,类似'包装辣条'。优势在于数据安全(传递时不被修改)以及可作为字典的 key。
字典:键值对映射的'查询表'
字典存储 key-value 结构,通过 key 快速查找 value,效率极高。key 必须唯一且为不可变类型。
student = {'id': 1, 'name': 'zhangsan'}
print('score' in student)
student['score'] = 90
student.pop('id')
文件:数据持久化的'硬盘容器'
变量重启后会丢失,文件能将数据持久化存储。操作文件遵循'打开→读写→关闭'的流程。
推荐使用绝对路径(如 D:/test.txt),避免相对路径带来的混淆。
- 打开:
open(路径,模式,encoding)。模式包括 r(只读)、w(只写/清空)、a(追加)。
- 读写:
write() 写入字符串,read() 读取内容。
- 关闭:必须调用
close(),或使用上下文管理器 with 自动关闭。
with open('D:/test.txt', 'r', encoding='utf-8') as f:
content = f.read()
print(content)
务必指定 encoding 参数(如 utf-8),否则可能出现乱码。
标准库:Python 自带的工具箱
标准库无需安装即可使用,涵盖日期、数学、文件、网络等场景。
- 日期计算:
datetime 模块构造日期对象直接相减。
- 字符串操作:内置
str 类型提供丰富方法(如 split, strip, replace)。
- 文件查找:
os.walk() 递归遍历目录查找文件。
import os
for dirpath, dirnames, filenames in os.walk(inputPath):
for f in filenames:
if pattern in f:
print(f'{dirpath}/{f}')
第三方库:Python 生态的'扩展包'
第三方库需额外安装,覆盖二维码、Excel 操作等高级需求。
- 找库:搜索引擎查询需求。
- 安装:使用
pip install 库名。
- 导入:与标准库用法一致。
- 生成二维码:
pip install qrcode[pil]。
- 操作 Excel:
pip install xlrd==1.2.0(注意版本兼容性)。
掌握这些基础,你就拥有了编写高效测试脚本和自动化工具的能力。剩下的就是多动手实践,在项目中不断打磨了。
相关免费在线工具
- curl 转代码
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
- Base64 字符串编码/解码
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
- Base64 文件转换器
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
- Markdown转HTML
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
- HTML转Markdown
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
- JSON 压缩
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online