跳到主要内容
Python 核心语法精讲:变量、流程控制与数据结构 | 极客日志
Python AI 算法
Python 核心语法精讲:变量、流程控制与数据结构 Python 核心语法涵盖变量数据类型、运算符、输入输出、流程控制、函数定义、列表元组字典及文件操作。内容讲解动态类型特性、可变不可变对象区别、条件判断与循环结构、函数参数作用域递归调用、标准库与第三方库使用流程。适合零基础入门或巩固 Python 编程基础,通过实例演示计算器逻辑、数据持久化等常见场景,帮助开发者快速掌握脚本编写能力。
古灵精怪 发布于 2026/3/29 更新于 2026/4/25 1 浏览Python 核心语法精讲
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" 是完全等价的。
关键易错点解析
可变 vs 不可变类型 :列表、字典、集合是可变类型(能修改内部数据),整数、浮点数、字符串、元组是不可变类型(修改会生成新对象)。错误示例:s = "hello"; s[0] = "H"(报错,字符串不可变);正确示例:s = "hello"; s = "Hello"(重新赋值生成新字符串)。
列表与元组的区别 :元组用小括号,列表用中括号;元组不能修改,列表可以。新手常犯把元组当成列表修改,导致报错。
字典的键要求 :必须是不可变类型(如字符串、整数),不能用列表当键。
运算符:程序的计算器 + 判断器
运算符是实现数据运算和条件判断的核心工具。重点记清优先级和实用技巧。
核心运算符分类
算术运算符 :+(加)、-(减)、*(乘)、/(除)、%(取余)、//(整除)、**(幂运算)。
实例:print(7//3) 输出 2(整除取整数部分);print(2**3) 输出 8(2 的 3 次方)。
除零异常:/、//、 的除数不能为 0,否则会报错 。
%
ZeroDivisionError
%求余的正负:结果的正负和被除数一致。
print (7 % 3 )
print (-7 % 3 )
print (7 % -3 )
比较运算符 :==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)。注意:比较结果是布尔值(True/False)。
逻辑运算符 :and(与)、or(或)、not(非)。短路特性:and 前为 False 则不执行后面;or 前为 True 则不执行后面。
赋值运算符 :=、+=、-=、*=、/=(简化运算)。
成员运算符 :in(在...内)、not in(不在...内)。
⚠️ 注意:Python 没有 ++ 和 -- 运算符,如果需要自增 / 自减,用 a += 1 或 a -= 1。
优先级避坑:算术运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符。不确定时加括号,比如 (3+2)*4 比 3+2*4 更清晰,避免出错。
注释:代码的笔记本
单行注释 :#开头,适合简短解释。
多行注释 :三引号包裹,适合长段解释(比如函数功能、文件说明)。
num = 10
""" 这是多行注释的第一行
常用于函数/文件的开头,说明功能
"""
def calc_sum (a, b ):
''' 计算两个数的和
参数:a -> 第一个数,b -> 第二个数
返回值:a + b 的结果
'''
return a + b
输入输出:程序的交互窗口 程序需要和用户交互,Python 中最基础的交互方式是控制台输入输出。
输出:print 函数 print() 是 Python 内置函数,用于把内容输出到控制台。
print ("Hello Python" )
print (10 + 20 )
name = "张三"
age = 20
print ("姓名:" , name, "年龄:" , age)
格式化输出:f-string 如果想让输出更美观,可以用 f-string:在字符串前加 f,用 {变量/表达式} 嵌入内容。
name = "张三"
age = 20
score = 89.5
print (f"姓名:{name} ,年龄:{age} " )
print (f"平均分:{score} ,总分:{score * 3 } " )
输入:input() 函数 input() 函数用于读取用户在控制台输入的内容,返回值永远是字符串类型(即使输入的是数字,也需要手动转换类型)。
name = input ("请输入你的姓名:" )
print (f"你好,{name} !" )
age = int (input ("请输入你的年龄:" ))
print (f"明年你{age + 1 } 岁" )
score = float (input ("请输入你的成绩:" ))
流程控制:让程序做选择、重复做 默认情况下,程序是顺序执行的。但实际场景中,我们需要程序根据条件做选择或重复做一件事,这就需要流程控制语句。
条件语句:根据条件做选择 条件语句用 if、if-else、if-elif-else 表示'如果…就…否则…'的逻辑,缩进是关键(Python 用缩进表示代码块,通常是 4 个空格)。
if score >= 60 :
print ("及格" )
elif score >= 50 :
print ("补考" )
else :
print ("不及格" )
⚠️ 注意:elif是'else if'的缩写,不能写成 else if(会报错);且条件是互斥的,只要有一个条件成立,后续条件就不再判断。
循环语句:重复执行代码 循环语句用于重复执行一段代码,Python 中常用 while 循环和 for 循环。
while 循环:条件满足就循环 sum_result = 0
num = 1
while num <= 100 :
sum_result += num
num += 1
print (f"1~100 的和为:{sum_result} " )
⚠️ 注意:如果循环体中没有让条件变为 False 的语句,循环会无限执行(死循环)。
for 循环:遍历可迭代对象 for 循环比 while 更简洁,主要用于遍历可迭代对象(比如列表、元组、字符串,或用 range() 生成的序列)。
for i in range (1 , 11 ):
print (i)
s = "Python"
for char in s:
print (char)
循环控制:break 和 continue
break:结束整个循环,跳出循环体。
continue:结束本次循环,直接进入下一次循环。
for i in range (1 , 6 ):
if i == 3 :
print (f"第{i} 个包子有虫,不吃了!" )
break
print (f"吃完第{i} 个包子" )
for i in range (1 , 6 ):
if i == 3 :
print (f"第{i} 个包子有虫,跳过!" )
continue
print (f"吃完第{i} 个包子" )
函数:代码的复用神器 如果一段代码需要重复使用,每次都复制粘贴会很麻烦。这时候就需要函数:把重复的代码封装起来,需要时直接调用,不用重复写。
函数的语法:定义与调用 def add (x, y ):
result = x + y
return result
total = add(10 , 20 )
print (total)
⚠️ 注意:函数必须先定义,后调用(否则会报错 NameError);函数定义时,函数体不会执行;只有调用时才会执行。
函数的参数:灵活传递数据
参数默认值 :可以给形参设置默认值,调用时如果不传该参数,就用默认值。有默认值的参数必须放在无默认值参数的后面。
关键字参数 :显式指定实参传给哪个形参,顺序可以任意。
def add (x, y, debug=False ):
if debug:
print (f"计算{x} + {y} " )
return x + y
print (add(10 , 20 ))
print (add(10 , 20 , True ))
函数的返回值:输出结果
一个函数可以有多个 return 语句,但执行到第一个 return 时函数就会结束。
一个函数可以返回多个值,用逗号分隔,接收时用多个变量(或元组)接收。
如果没有 return,函数默认返回 None。
变量作用域:变量的有效范围
局部变量 :函数内部定义的变量,只能在函数内部使用,出了函数就失效。
全局变量 :函数外部定义的变量,可以在所有函数外部使用。函数内部要修改全局变量,需要用 global 关键字声明。
num = 10
def test ():
global num
num = 20
test()
print (num)
函数的设计原则
单一职责 :一个函数只做一件事。
逻辑与交互分离 :函数内部尽量不做控制台输入输出,打印交给调用者。
注释清晰 :用文档字符串说明函数功能、参数、返回值。
列表和元组:批量存储数据的容器 列表和元组是 Python 中用于批量表示序列型数据的核心结构,二者功能相似但存在'可变 / 不可变'的关键差异。
列表(List):可变的散装辣条容器 列表是一种可修改的序列结构,用于批量保存任意类型的数据。
访问与修改 :下标从 0 开始计数,也支持负数下标(表示倒数第 N 个)。
切片操作 :通过 [start:end:step] 获取连续的子列表,规则为前闭后开区间。
增删操作 :append(尾插)、extend(追加列表)、remove(按值删除)、pop(删除末尾或指定下标)。
alist = [1 , 2 , 3 , 4 ]
alist.append('hello' )
alist.pop(1 )
元组(Tuple):不可变的包装辣条容器 元组与列表结构相似,但创建后不可修改。当数据集需要只读保护时,优先使用元组。
创建 :用 () 表示,单个元素的元组必须加逗号(如 (1,))。
优势 :数据安全(不可被修改)、可作为字典的 key(因为不可变可哈希)。
字典:键值对映射的查询表 字典是 Python 中用于存储键值对(key-value)的结构,类似于 Java 的哈希,核心作用是通过 key 快速查找 value。
key 唯一 :key 是唯一的,value 可重复。
操作 :新增/修改通过 [key] = value 实现;删除用 pop(key)。
遍历 :核心是遍历 key,再通过 key 获取 value。
student = {'id' : 1 , 'name' : 'zhangsan' }
student['score' ] = 90
print (student.keys())
文件:数据持久化的硬盘容器 变量存储的数据在程序重启后会丢失,而文件能将数据持久化存储到硬盘。
文件操作流程:打开 → 读写 → 关闭 必须遵循'打开→操作→关闭'的流程,推荐使用上下文管理器 with 语句自动关闭文件。
with open ('D:/test.txt' , 'r' , encoding='utf-8' ) as f:
content = f.read()
print (content)
打开模式 :r(只读)、w(只写,清空原内容)、a(追加)。
编码问题 :处理中文必须设置 encoding 参数,如 utf-8 或 gbk。
标准库:Python 自带的工具箱 标准库是 Python 安装后默认自带的库,无需额外安装即可直接使用。其覆盖场景极广,是 Python 生态的基础支撑。
核心分类
内置函数/类型 :print()、input()、int、str 等。
文本处理 :字符串切割、拼接、前缀判定等。
时间日期 :datetime 模块。
数学计算 :math 模块。
文件目录 :os 模块。
数据存储 :json 模块。
第三方库:Python 生态的扩展包 第三方库是开发者或组织编写并发布的库,需额外安装才能使用。使用流程为:找库 → 安装 → 导入使用 。
找库 :通过搜索引擎查询需求。
安装 :用 pip install [库名] 命令安装。
导入 :通过 import [库名] 导入模块。
例如生成二维码可以使用 qrcode 库,操作 Excel 可以使用 xlrd 库。这些库极大地扩展了 Python 的能力边界。
相关免费在线工具 加密/解密文本 使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
RSA密钥对生成器 生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
Mermaid 预览与可视化编辑 基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
随机西班牙地址生成器 随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online
Gemini 图片去水印 基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online
curl 转代码 解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online