Python 核心语法详解:变量、流程控制与函数实战
Python 核心语法涵盖变量类型、运算符、输入输出、流程控制、函数定义及作用域、列表元组字典操作、文件读写及标准库使用。文章通过代码示例讲解动态类型特性、条件判断、循环结构、参数传递、递归调用等关键知识点,并演示 datetime、os、xlrd 等模块的实际应用,帮助读者掌握编程基础与数据持久化方法。

Python 核心语法涵盖变量类型、运算符、输入输出、流程控制、函数定义及作用域、列表元组字典操作、文件读写及标准库使用。文章通过代码示例讲解动态类型特性、条件判断、循环结构、参数传递、递归调用等关键知识点,并演示 datetime、os、xlrd 等模块的实际应用,帮助读者掌握编程基础与数据持久化方法。

本文不做 Python 以及 PyCharm 安装的详细教程,请大家自行查阅资料或到官网下载。
Python 作为一门优雅且强大的编程语言,凭借易上手、用途广的特点,成为很多人入门编程的首选。无论是数据分析、人工智能,还是 Web 开发、自动化脚本,Python 都能胜任。但想要用好 Python,扎实的基础语法是关键。本文将结合系统的语法知识,从基础运算到数据持久化的文件操作,带你一站式吃透 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) | s = {1,2,3} | 去重、交集(&)、并集( | ) |
在 Python 中,单引号构成的字符串和双引号构成的字符串没有区别。'hello' 和 "hello" 是完全等价的。
关键易错点解析
s = "hello"; s[0] = "H"(报错,字符串不可变)。正确示例:s = "hello"; s = "Hello"(重新赋值生成新字符串)。dict = {[1]:"a"}(报错)。正确示例:dict = {(1):"a"}(用元组当键)。运算符就像数学里的加减乘除和逻辑判断,是实现数据运算和条件判断的核心工具。重点记清优先级和实用技巧。
核心运算符分类
print(7//3) 输出 2(整除取整数部分);print(2**3) 输出 8(2 的 3 次方)。特殊赋值方式
# 链式赋值
a = b = 10
print(a, b) # 输出 10 10
# 多元赋值(交换变量,无需中间变量)
x = 10
y = 20
x, y = y, x
print(x, y) # 输出 20 10
⚠️ 注意:Python 没有
++和--运算符(比如 a++、a--),如果需要自增 / 自减,用a += 1或a -= 1。
优先级避坑:算术运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符。不确定时加括号,比如 (3+2)*4 比 3+2*4 更清晰,避免出错。
Python 支持两种注释风格:
#开头。适合简短解释,#后面的内容都会被视为注释。""" 或 ''' 包裹。# 这是一行单行注释
num = 10 # 这也是单行注释(写在代码后面)
""" 这是多行注释的第一行
这是多行注释的第二行
常用于函数/文件的开头,说明功能
"""
def calc_sum(a, b):
''' 计算两个数的和
参数:a -> 第一个数,b -> 第二个数
返回值:a + b 的结果
'''
return a + b
程序需要和用户交互:用户输入数据(比如成绩),程序输出结果(比如平均分)。Python 中最基础的交互方式是控制台输入输出。
输出:print 函数
print() 是 Python 内置函数,用于把内容输出到控制台。
(1)输出单个 / 多个内容
# 输出单个内容
print("Hello Python") # 输出字符串
print(10 + 20) # 输出表达式结果(30)
print(avg) # 输出变量值
# 输出多个内容:用逗号分隔,默认用空格隔开
name = "张三"
age = 20
print("姓名:", name, "年龄:", age) # 输出 姓名: 张三 年龄: 20
(2)格式化输出:f-string
如果想让输出更美观,可以用 f-string:在字符串前加 f,用 {变量/表达式} 嵌入内容。
name = "张三"
age = 20
score = 89.5
# f-string 格式化
print(f"姓名:{name},年龄:{age}") # 输出 姓名:张三,年龄:20
print(f"平均分:{score},总分:{score * 3}") # 表达式也能嵌入,输出 平均分:89.5,总分:268.5
输入:input() 函数
input() 函数用于读取用户在控制台输入的内容,返回值永远是字符串类型(即使输入的是数字,也需要手动转换类型)。
语法:变量 = input("提示信息"),其中'提示信息'会显示在控制台,告诉用户该输入什么。
# 读取字符串输入
name = input("请输入你的姓名:")
print(f"你好,{name}!") # 输入'张三',输出'你好,张三!'
# 读取数字输入(需转换类型)
age = input("请输入你的年龄:") # age 是字符串类型
age = int(age) # 转换为 int 类型
print(f"明年你{age + 1}岁") # 输入'20',输出'明年你 21 岁'
# 简化写法:直接在 input 后转换
score = float(input("请输入你的成绩:")) # 输入'89.5',直接转为 float
案例:输入 4 个小数,求平均分
# 输入 4 个小数
score1 = float(input("请输入第 1 个分数:"))
score2 = float(input("请输入第 2 个分数:"))
score3 = float(input("请输入第 3 个分数:"))
score4 = float(input("请输入第 4 个分数:"))
# 计算平均分
avg = (score1 + score2 + score3 + score4) / 4
# 输出结果
print(f"4 个分数的平均分为:{avg}")
默认情况下,程序是'从上到下'顺序执行的。但实际场景中,我们需要程序'根据条件做选择'或'重复做一件事',这就需要流程控制语句。
顺序语句:默认执行方式
顺序语句是最简单的流程:代码从第一行到最后一行,依次执行,没有跳转。
条件语句:根据条件做选择
条件语句用 if、if-else、if-elif-else 表示'如果…就…否则…'的逻辑,缩进是关键(Python 用缩进表示'代码块',通常是 4 个空格)。
循环语句:重复执行代码
循环语句用于'重复执行一段代码',Python 中常用 while 循环和 for 循环。
如果一段代码需要重复使用,每次都复制粘贴会很麻烦。这时候就需要函数:把重复的代码封装起来,需要时直接调用,不用重复写。
函数是什么?
函数就像一个工厂:输入原材料(参数),经过加工(函数体),输出产品(返回值)。它的核心作用是代码复用和逻辑封装。
函数的语法:定义与调用
定义函数
def 函数名 (形参列表):
函数体(需要执行的代码)
[return 返回值] # 可选,没有 return 则返回 None
调用函数
函数的参数:灵活传递数据
函数的返回值:输出结果
函数的返回值用 return 语句指定,有以下特性:
变量作用域:变量的有效范围
变量不是在所有地方都能使用,它的有效范围称为作用域。Python 中变量作用域主要分两种:
函数的调用:嵌套与递归
函数的设计原则
列表和元组是 Python 中用于批量表示序列型数据的核心结构,二者功能相似但存在'可变 / 不可变'的关键差异。
列表(List):可变的散装辣条容器
[]中填写元素);空列表创建([] 或 list())。[start:end:step] 获取连续的子列表,规则为前闭后开区间。元组(Tuple):不可变的包装辣条容器
字典是 Python 中用于存储键值对(key-value)的结构,类似于 Java 的哈希,核心作用是通过 key 快速查找 value。
变量存储的数据在程序重启后会丢失,而文件能将数据持久化存储到硬盘,是程序与外部数据交互的核心方式。
文件路径:定位文件的地址
文件操作流程:打开 → 读写 → 关闭
文件对象 = open(文件路径,打开方式,encoding=编码方式)中文编码问题
文件编码与代码读取编码必须一致,否则会出现乱码。常见中文编码:gbk(Windows 默认)、utf-8(跨平台通用)。
标准库是 Python 安装后默认自带的库,无需额外安装即可直接使用。其覆盖场景极广,是 Python 生态的基础支撑。
核心分类及说明如下:
| 分类 | 核心功能示例 |
|---|---|
| 内置函数 / 类型 | 函数:print()、input();类型:int、str、list、dict |
| 文本处理 | 字符串切割、拼接、前缀判定等 |
| 时间日期 | 日期构造、差值计算(如 datetime 模块) |
| 数学计算 | 数值运算、三角函数(如 math 模块) |
| 文件目录 | 目录遍历、文件操作(如 os 模块) |
| 数据存储 | 数据库操作、数据序列化(如 json 模块) |
| 加密解密 | 哈希计算、加密算法(如 hashlib 模块) |
| 操作系统相关 | 进程管理、环境变量(如 os 模块) |
| 并发编程 | 多进程、多线程、协程(如 threading、multiprocessing 模块) |
| 网络编程 | TCP/UDP 通信、HTTP 请求(如 socket 模块) |
| 多媒体 / 图形化界面 | 音频处理、窗口开发(如 tkinter 模块) |
标准库的使用:import 导入模块
标准库的模块本质是独立的 .py 文件,需通过 import [模块名] 导入当前代码文件后使用。
案例 1:日期计算(datetime 模块)
import datetime
# 构造两个日期对象(参数格式:年,月,日)
date1 = datetime.datetime(2012, 2, 14)
date2 = datetime.datetime(2022, 7, 12)
# 日期对象相减,输出间隔
print(date2 - date1)
案例 2:字符串操作(内置 str 类型)
字符串是 Python 内置类型,其方法无需导入额外模块,可直接使用。常用方法包括 replace()、strip()、split()、join()、lower()、upper() 等。
案例 3:文件查找工具(os 模块)
需求:指定路径和关键词,查找路径下所有文件名含关键词的文件。
import os
inputPath = input('请输入待搜索路径:')
pattern = input('请输入待搜索关键词:')
# 递归遍历目录
for dirpath, dirnames, filenames in os.walk(inputPath):
for f in filenames:
if pattern in f:
print(f'{dirpath}/{f}')
第三方库是开发者或组织编写并发布的库,需额外安装才能使用。其覆盖场景远超标准库,是 Python 生态强大的核心原因。
第三方库的核心使用流程
步骤 1:找库 —— 确定合适的第三方库。
步骤 2:安装 —— 用 pip 管理库。基本命令:pip install [库名]。
步骤 3:导入使用 —— 与标准库用法一致。
第三方库实战案例
案例 1:生成二维码(qrcode 库)
import qrcode
img = qrcode.make('请关注中草药')
img.save('qrcode.png')
案例 2:操作 Excel(xlrd 库)
import xlrd
xlsx = xlrd.open_workbook('d:/test.xlsx')
table = xlsx.sheet_by_index(0)
nrows = table.nrows
count = 0
total = 0
for i in range(1, nrows):
classId = table.cell_value(i, 1)
if classId == 101:
score = table.cell_value(i, 2)
total += score
count += 1
print(f'101 班平均分:{total / count}')
案例 3:程序猿鼓励师(pynput + playsound 库)
监听键盘按键,每按 10 次自动播放音频,鼓励开发者。
推荐资源

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online