Python 基础语法速查手册:从入门到精通
Python 作为最受欢迎的编程语言之一,以其简洁易读的语法和强大的功能吸引了大量开发者。本文全面汇总 Python 基础语法知识,帮助初学者快速掌握核心概念,并为后续深入学习打下坚实基础。
1. Python 基础语法结构
1.1 代码结构与缩进规则
Python 最显著的特点就是使用缩进来表示代码块,而不是像其他语言那样使用大括号。官方推荐使用 4 个空格进行缩进:
if True:print("这是缩进4个空格的代码块") # 正确print("同一代码块保持相同缩进") # 正确
以下是不规范的写法:
if True:
print("没有缩进") # 会报IndentationError
代码注释有两种形式:
- 单行注释:使用
#
- 多行注释:使用三引号
'''
或"""
# 这是单行注释'''
这是多行注释
可以跨越多行
'''
1.2 变量与基本数据类型
Python 是动态类型语言,变量不需要声明类型:
counter = 100 # 整型
miles = 999.0 # 浮点型
name = "Python" # 字符串
变量命名规则:
- 只能包含字母、数字和下划线
- 不能以数字开头
- 区分大小写
- 不能使用关键字(如
if
,for
等)
常见数据类型示例:
# 数字类型
a = 10 # int
b = 3.14 # float
c = 3+4j # complex# 字符串操作
s = "Hello"
print(s[1]) # 输出 'e'
print(s + " World") # 字符串拼接# 布尔运算
x = True
y = False
print(x and y) # False
2. 流程控制语句
2.1 条件判断(if-elif-else)
基本语法结构:
score = 85if score >= 90:print("优秀")
elif score >= 80:print("良好") # 这里会执行
elif score >= 60:print("及格")
else:print("不及格")
三元运算符简化条件判断:
age = 20
status = "成年" if age >= 18 else "未成年"
print(status) # 输出"成年"
2.2 循环结构
for 循环示例:
# 遍历列表
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:print(fruit)# 使用range
for i in range(5): # 0到4print(i)
while 循环示例:
count = 0
while count < 5:print(count)count += 1 # 不要忘记更新条件变量
循环控制语句:
for num in range(10):if num == 3:continue # 跳过本次循环if num == 8:break # 终止循环print(num)
3. 函数与模块
3.1 函数定义与调用
基本函数定义:
def greet(name):"""这是一个问候函数"""return f"Hello, {name}!"print(greet("Alice")) # 输出: Hello, Alice!
参数传递方式:
# 位置参数
def power(x, n):return x ** n# 关键字参数
print(power(n=3, x=2)) # 8
3.2 模块化编程
导入模块示例:
import math
print(math.sqrt(16)) # 4.0from random import randint
print(randint(1, 100)) # 随机数
创建自定义模块:
- 创建
mymodule.py
文件 - 写入函数定义
- 在其他文件中
import mymodule
使用
4. 数据结构进阶
4.1 列表(List)与元组(Tuple)
列表操作示例:
colors = ["red", "green", "blue"]# 增删改查
colors.append("yellow") # 添加
colors.remove("green") # 删除
colors[0] = "orange" # 修改# 列表推导式
squares = [x**2 for x in range(10)]
元组是不可变序列:
dimensions = (1920, 1080)
# dimensions[0] = 1280 # 会报错,元组不可修改
4.2 字典(Dict)与集合(Set)
字典操作:
person = {"name": "Alice","age": 25,"city": "New York"
}print(person["name"]) # 访问
person["job"] = "Engineer" # 添加
集合特性:
a = {1, 2, 3}
b = {3, 4, 5}print(a | b) # 并集 {1, 2, 3, 4, 5}
print(a & b) # 交集 {3}
5. 文件操作与异常处理
5.1 文件读写
安全读写文件:
# 使用with自动关闭文件
with open("example.txt", "w") as f:f.write("Hello, World!")with open("example.txt", "r") as f:content = f.read()print(content)
5.2 异常处理机制
完整异常处理示例:
try:num = int(input("请输入数字: "))result = 10 / num
except ValueError:print("请输入有效数字!")
except ZeroDivisionError:print("不能除以零!")
else:print(f"结果是: {result}")
finally:print("程序执行完毕")
6. 总结
本文涵盖了 Python 基础语法的核心内容:
- 基础语法结构与数据类型
- 流程控制语句
- 函数与模块化编程
- 常用数据结构
- 文件操作与异常处理
推荐练习项目:
- 简易计算器
- 待办事项列表
- 单词频率统计器
进阶学习方向:
-
面向对象编程
-
常用第三方库(NumPy、Pandas)
-
Web 开发框架(Django、Flask)
print(f"结果是: {result}")
finally:
print(“程序执行完毕”)
---## 6. 总结本文涵盖了 Python 基础语法的核心内容:
- 基础语法结构与数据类型
- 流程控制语句
- 函数与模块化编程
- 常用数据结构
- 文件操作与异常处理推荐练习项目:
1. 简易计算器
2. 待办事项列表
3. 单词频率统计器进阶学习方向:
- 面向对象编程
- 常用第三方库(NumPy、Pandas)
- Web 开发框架(Django、Flask)掌握这些基础知识后,你已经具备了继续探索 Python 更高级特性的坚实基础。
相关文章:

Python 基础语法速查手册:从入门到精通
Python 作为最受欢迎的编程语言之一,以其简洁易读的语法和强大的功能吸引了大量开发者。本文全面汇总 Python 基础语法知识,帮助初学者快速掌握核心概念,并为后续深入学习打下坚实基础。 1. Python 基础语法结构 1.1 代码结构与缩进规则 Py…...
Spring框架--IOC技术
一、Spring框架的介绍 1、Spring框架的概述 Spring 是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003年兴起的一个轻量级的Java开发框架,由 Rod Jo…...
前端vue2-完全前端生成pdf->pdf-lib,html2canvas+jspdf,原生打印,三种方式(打印带有echarts图的pdf)
pdf-lib:优点是可以控制输出内容,缺点是麻烦 html2canvas:优点是直接把html页面转成图片之后插入pdf很方便,不用过多的代码,缺点是不好控制图片大小,容易被戒断,可以把想打印的内容藏在页面外面…...

论文阅读笔记——Emerging Properties in Unified Multimodal Pretraining
BAGEL 论文 商业闭源系统与学术/开源模型的差距很大,BAGEL 旨在通过开源统一架构大规模交错数据主要解决: 架构割裂:理解/生成分属两条网络,信息被压缩在少量条件 token 中,长上下文推理受限。数据贫乏:主…...

JAVA批量发送邮件(含excel内容)
EmailSenderHtmlV1 是读取配置文件《批量发送邮件.xlsx》,配置sheet获取 发件人邮箱 邮箱账号 口令,发送excel数据sheet获取收件人邮箱 抄送人邮箱 邮件标题 第N行开始(N>1,N0默认表头) 第M行结束(M>1,M0默认表头) 附件文件夹…...

Linux(Ubuntu)新建文件权限继承问题
当你在一个工作目权限为777的文件下,新建一个文件的时候,就有可能发生,新建的这个文件,权限和其他文件,或者工作目录不一致的问题,我们不可能每次新建一个文件,就要 sudo chmod -R 777 /PATH 所…...

Java中的String的常用方法用法总结
1.1 String (1)声明 (2)字符串常量 存储字符串数据的容器:private final char value[] 字符串常量都存储在字符串常量池(StringTable)中 字符串常量池不允许存放两个相同的字符串常量 ÿ…...

QGIS如何打开 ARCGIS的mxd工程文件
“SLYR”是一款由著名开源组织“北路开源”开发的一套QGIS兼容和转换ARCGIS样式、工程、设置信息的插件!其主要功能为: 最近项目需要,我使用了一些功能,发现其对中文环境及中文信息支持不太好,还有一些其它BUG…...

基于微信小程序的智能问卷调查系统设计与实现(源码+定制+解答)基于微信生态的问卷管理与数据分析系统设计
博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…...

React 如何封装一个可复用的 Ant Design 组件
文章目录 前言一、为什么需要封装组件?二、 仿antd组件的Button按钮三、封装一个可复用的表格组件 (实战)1. 明确需求2. 设计组件 API3. 实现组件代码4. 使用组件 三、封装组件的最佳实践四、进阶优化 总结 前言 作为一名前端开发工程师,在日常项目中&a…...
CloudWeGo-Netpoll:高性能NIO网络库浅析
一、Netpoll 简介 Netpoll 是由字节跳动开发的高性能 NIO(Non-blocking I/O)网络库,专注于 RPC 场景。在 RPC 场景中,通常有较重的处理逻辑,无法串行处理 I/O。而 Go 的标准库 net 设计了 BIO(Blocking I/…...
Mac的显卡架构种类
目录 一、Intel架构时期的Mac显卡(2006 年至 2020 年) 1. Intel 集成显卡(iGPU) 2. 独立显卡(dGPU)—— AMD 和 NVIDIA (1)AMD Radeon(主流独显选择) &a…...
HTTP基本概述
HTTP基本概述 报文格式 HTTP报文分为 请求报文 和 响应报文 一、请求报文 请求行(Request Line)请求头部(Request Headers)(空行)请求体(Request Body) ← 可选,如 P…...

Canvas SVG BpmnJS编辑器中Canvas与SVG职能详解
Canvas详解与常见API 一、Canvas基础 核心特性 • 像素级绘图:Canvas是基于位图的绘图技术,通过JavaScript操作像素实现图形渲染,适合动态、高性能场景(如游戏、数据可视化)。 • 即时模式:每次绘制需手动…...

dify多实例部署,一台机器部署多个dify实例
dify多实例部署 目的 实现在一台机器上,部署多个dify的实例。比如一个部署1.2版本,一个部署1.3版本。废话没有,直接上干货。 前提 你的电脑已经部署了一个dify实例,并成功运行。比如已经部署成功0.15.3版本。 步骤如下&#…...

ML 48.机器学习之临床生存树(rpartSurv)
简介机器学习中生存树(Survival Tree)的原理详解 生存树是结合决策树与生存分析的机器学习模型,主要用于处理带有时间-事件数据(包含删失数据)的预测问题。其核心目标是:通过树状结构对数据进行递归分割&am…...

HarmonyOS 应用开发,如何引入 Golang 编译的第三方 SO 库
本指南基于笔者临时修复的 ohos_golang_go 项目fork,解决HO 应用导入 cgo编译产物时的 crash 问题。 1. 下载 ohos_golang_go git clone https://gitcode.com/deslord/ohos_golang_go.git📌 该仓库为笔者临时修复版本,修复了 CGO 编译模式下…...
Axure元件动作六:设置图片
亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢!如有帮助请订阅专栏! Axure产品经理精品视频课已登录CSDN可点击学习https://edu.csdn.net/course/detail/40420 案例视频: Axure元件动作:设置图片 课程主题:设置图片 主要内容:图片悬停、鼠标按下时、选中...

一体化雷达波明渠流量计简介
一、技术定义与核心原理 一体化雷达波明渠流量计是基于微波技术的全自动流量监测设备,采用 24G K 波段平面雷达技术,通过非接触式测量方式实现对明渠、河道、排水管网等场景的水位、流速及流量监测。其核心原理是利用雷达发射高频电磁波,经水…...

Pr -- 耳机没有Pr输出的声音
问题 很久没更新视频号了,想用pr剪辑一下,结果使用Pr打开后发现耳机没有Pr输出的声音 解决方法 在编辑--首选项-音频硬件中设置音频硬件的输出为当前耳机设备...

白皮精读:2024年国家数据基础设施建设指引【附全文阅读】
《国家数据基础设施建设指引》提出建设覆盖数据采集至安全全链条的新型基础设施,目标到 2029 年形成横向联通、纵向贯通的格局,聚焦数据可信流通、算力协同、高速传输、安全保障四大功能,明确技术架构与重点方向,强调政府与市场协同,分阶段推进试点及规模化部署,为数字中…...
【信息系统项目管理师】第21章:项目管理科学基础 - 23个经典题目及详解
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 【第1~2题】【第3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20题】【第21题】…...
Mocha-Webpack 使用教程
Mocha-Webpack 使用教程 mocha-webpackmocha test runner with integrated webpack precompiler项目地址:https://gitcode.com/gh_mirrors/mo/mocha-webpack 项目介绍 Mocha-Webpack 是一个结合了 Mocha 和 Webpack 的测试工具,它允许开发者在使用 Webpack 打包的…...
AI硬件革命:OpenAI“伴侣设备”——从概念到亿级市场的生态重构
2025年5月23日,OpenAI宣布以65亿美元全股收购苹果前首席设计师Jony Ive创立的AI硬件公司io,并计划于2026年底前推出首款“AI伴侣设备”,目标出货量达1亿台。这一消息迅速成为全球AI领域的热点,标志着AI技术从云端大模型向端侧硬件…...

穿屏技巧:Mac-Windows一套鼠标键盘控制多台设备 (sharemouse6.0-Keygen)| KM-401A
文章目录 引言I sharemouse6.0介绍功能介绍关闭自动更新安装包II 安装系统对应的sharemouse软件Windowsmac版本III 知识扩展:SCP、FTP、SSH文件传输SCP配置SSH密钥免密登录FTP(File Transfer Protocal,文件传输协议)引言 基于USB进行同步键盘和鼠标事件,更流畅。 基于局域…...

【写在创作纪念日】基于SpringBoot和PostGIS的各省东西南北四至极点区县可视化
目录 前言 一、空间检索简介 1、空间表结构 2、四至空间检索 二、前后端实现 1、后端实现 2、前端集成 三、成果展示 1、东部省份 2、西部省份 3、南部省份 4、北部省份 5、中部省份 四、总结 前言 在当今数字化时代,地理信息数据的分析与可视化对于众…...
【C/C++】线程状态以及转换
文章目录 线程状态以及转换1 基本状态1.1 新建(New)1.2 就绪(Ready / Runnable)1.3 运行中(Running)1.4 阻塞/等待(Blocked / Waiting / Sleeping)1.5 挂起(Suspended&am…...
从零开始:Python语言进阶之异常处理
一、认识异常:程序运行中的“意外事件” 在编写Python程序时,即使代码语法完全正确,运行过程中也可能遭遇各种意外情况。这些意外被称为异常,它们会打断程序的正常执行流程。例如,当我们尝试打开一个不存在的文件、用0…...
关于vue彻底删除node_modules文件夹
Vue彻底删除node_modules的命令 vue的node_modules文件夹非常大,常规手段根本无法删除. 解决方法: 在node_modules文件夹所在的路径运行命令窗口,并执行下面的命令. npm install rimraf -g rimraf node_modules说明: npm install rimraf -g 该命令是安装 node…...

如何制作可以本地联网搜索的MCP,并让本地Qwen3大模型调用搜索回答用户问题?
环境: SearXNG Qwen3-32B-FP8 vllm 0.8.5 问题描述: 如何制作可以本地联网搜索的MCP,并让本地Qwen3大模型调用搜索回答用户问题? 解决方案: 一、安装searxng 1.按需新建模型相关文件夹 mkdir MCP chmod 777 /mnt/program/MCP2.配置conda源 nano ~/.condarc nano…...