当前位置: 首页 > news >正文

Python语法篇二:当你的代码开始“有思想”

前言

学完基础语法,却感觉代码还是笨笨的?今天,我们让Python学会记事情、做选择、有组织——这才是编程真正有趣的地方。

一、列表:你的万能收纳盒

python

列表可以装下整个世界

我的收藏 = [“Python笔记”, 42, 3.14, True, [“嵌套列表”, “也行”]]

核心操作四件套

待办事项 = [“写代码”, “学语法”, “改bug”, “喝咖啡”]

1. 增

待办事项.append(“刷微博”) # 末尾添加
待办事项.insert(1, “吃早餐”) # 在指定位置插入

2. 删

完成项 = 待办事项.pop(0) # 移除并返回第一个
待办事项.remove(“刷微博”) # 移除指定项

3. 改

待办事项[1] = “深度学习” # 直接赋值修改

4. 查

print(f"第二件事是:{待办事项[1]}“) # 索引从0开始
print(f"总共有 {len(待办事项)} 件事”) # 长度

列表切片:精准切割

全部事项 = [“周一会议”, “周二报告”, “周三编码”, “周四测试”, “周五总结”]
工作日 = 全部事项[0:5] # 取索引0到4(不包含5)
print(工作日) # [‘周一会议’, ‘周二报告’, ‘周三编码’, ‘周四测试’, ‘周五总结’]
真实场景:批量处理文件名、管理任务清单、存储用户数据。

二、字典:给每样东西贴上标签

python

字典 = 键值对(key-value)的集合

个人档案 = {
“姓名”: “张三”,
“年龄”: 28,
“技能”: [“Python”, “数据分析”, “机器学习”],
“已婚”: False,
“联系方式”: {
“电话”: “13800138000”,
“邮箱”: “zhangsan@example.com”
}
}

访问数据(两种方式)

print(个人档案[“姓名”]) # 直接键访问
print(个人档案.get(“地址”, “未填写”)) # 安全访问,不存在则返回默认值

更新和添加

个人档案[“年龄”] = 29 # 修改已有
个人档案[“地址”] = “北京市海淀区” # 添加新项

遍历字典

for 键, 值 in 个人档案.items():
print(f"{键}: {值}")
字典精髓:快速查找。通过“键”直接找到对应的“值”,比列表遍历快得多。

三、字符串的魔法方法

python
文本 = " Python让编程变得有趣! "

1. 清理与分割

干净文本 = 文本.strip() # 去掉首尾空格
单词列表 = 干净文本.split(" ") # 按空格分割
print(单词列表) # [‘Python让编程变得有趣!’]

2. 查找与替换

位置 = 干净文本.find(“编程”) # 返回首次出现的位置
新文本 = 干净文本.replace(“有趣”, “超级有趣”) # 替换
print(新文本) # Python让编程变得超级有趣!

3. 判断与格式化

print(干净文本.startswith(“Python”)) # True
print(干净文本.endswith(“!”)) # True

f-string(Python 3.6+ 最强功能)

姓名, 分数 = “小明”, 95
报告 = f"{姓名}同学的分数是{分数}分,{‘优秀’ if 分数 >= 90 else ‘加油’}"
print(报告) # 小明同学的分数是95分,优秀

四、异常处理:给代码戴上安全帽

python

没有异常处理 - 程序会崩溃

def 危险除法(a, b):
return a / b

有异常处理 - 程序优雅处理错误

def 安全除法(a, b):
try:
结果 = a / b
except ZeroDivisionError:
print(“错误:除数不能为零!”)
return None
except TypeError:
print(“错误:请输入数字!”)
return None
else:
print(f"计算成功:{a} ÷ {b} = {结果}")
return 结果
finally:
print(“计算过程结束”) # 无论是否出错都会执行

实际使用

安全除法(10, 2) # 正常执行
安全除法(10, 0) # 捕获除零错误
安全除法(“10”, 2) # 捕获类型错误
重要理念:不要害怕错误,要预见并优雅处理它。

五、面向对象入门:让代码有“组织架构”

python

类 = 蓝图,对象 = 根据蓝图造出的具体物品

class 学生:
# 初始化方法(构造函数)
definit(self, 姓名, 学号):
self.姓名 = 姓名
self.学号 = 学号
self.成绩 = []

# 方法 = 对象能做的事情 def 添加成绩(self, 科目, 分数): self.成绩.append({"科目": 科目, "分数": 分数}) def 计算平均分(self): if not self.成绩: return 0 总分 = sum(成绩["分数"] for 成绩 in self.成绩) return 总分 / len(self.成绩) def 显示信息(self): print(f"学生:{self.姓名}(学号:{self.学号})") for 成绩 in self.成绩: print(f" {成绩['科目']}: {成绩['分数']}分") print(f" 平均分: {self.计算平均分():.1f}分")

使用类创建对象

学生1 = 学生(“张三”, “2023001”)
学生1.添加成绩(“数学”, 90)
学生1.添加成绩(“英语”, 85)

学生2 = 学生(“李四”, “2023002”)
学生2.添加成绩(“数学”, 95)
学生2.添加成绩(“英语”, 88)

调用方法

学生1.显示信息()
print(“-” * 20)
学生2.显示信息()
面向对象核心:

封装:把数据和操作打包在一起

继承:创建新类时复用已有类的功能(下篇详解)

多态:不同对象对同一方法有不同的实现

六、综合实战:简易学生管理系统

python
class 学生管理系统:
definit(self):
self.学生列表 = []

def 添加学生(self, 姓名, 学号): 新学生 = 学生(姓名, 学号) self.学生列表.append(新学生) print(f"已添加学生:{姓名}") def 查找学生(self, 学号): for 学生对象 in self.学生列表: if 学生对象.学号 == 学号: return 学生对象 print(f"未找到学号为 {学号} 的学生") return None def 显示所有学生(self): if not self.学生列表: print("系统中暂无学生") return print("=" * 30) print("学生列表:") for idx, 学生对象 in enumerate(self.学生列表, 1): print(f"{idx}. {学生对象.姓名}({学生对象.学号})") print("=" * 30)

使用系统

系统 = 学生管理系统()
系统.添加学生(“王五”, “2023003”)
系统.添加学生(“赵六”, “2023004”)
系统.显示所有学生()
七、从“会语法”到“会编程”的关键
多写:语法是工具,不练就会生锈

多看:阅读别人的代码,学习优雅写法

多思:思考“为什么这样设计”

多用:用学到的东西解决真实问题

记住:学语法不是为了考试,而是为了创造。当你用这些语法构建出第一个真正有用的程序时,那种成就感,会告诉你这一切都值得。

这篇进阶语法对你有帮助吗?点赞/收藏是最好的鼓励! 在评论区分享你用这些语法做的小项目,或者遇到的具体问题。下篇我们深入面向对象和模块化编程,让你的代码从“能跑”到“专业”。

http://www.jsqmd.com/news/342375/

相关文章:

  • 激光粒度仪选购全指南:品牌推荐与性价比分析 - 品牌推荐大师1
  • 多线程(4) - 实践
  • 2026安全靠谱的零食品牌推荐:6大品牌、3大维度让你更会选 - Top品牌推荐
  • 微论:AI的分层自我认知
  • 基于深度学习YOLOv11的小目标车辆检测系统(YOLOv11+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • 2026 十大商用高清图片购买网站推荐,正版素材放心用 - 品牌2026
  • 膜分离技术哪家服务好?口碑推荐的优质供应商有哪些? - 品牌推荐大师
  • 基于深度学习YOLOv11的超市商品识别检测系统(YOLOv11+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • 2026年除疣厂家最新推荐:取肉痣、点痣、祛休子、祛痣、祛色素痣、祛血管痣、去大黑痣、去痣、去瘊子、去黑痣、取大肉痣选择指南 - 优质品牌商家
  • 膜分离技术厂家哪家强?源头生产厂家实力大比拼! - 品牌推荐大师
  • 2026年取痣厂家权威推荐榜:祛血管痣、去大黑痣、去痣、去瘊子、去黑痣、取大肉痣、取疣子、取肉痣、点痣、祛休子选择指南 - 优质品牌商家
  • 前端入门必备|互联网基础技术之HTML/CSS核心解析
  • 基于深度学习YOLOv12的大豆杂草检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • 基于深度学习YOLOv12的小目标车辆识别检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • 想找本地膜分离技术供应商?这些优质厂家响应快、服务好! - 品牌推荐大师
  • 基于深度学习YOLOv12的超市商品识别检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • Nodejs毕设选题推荐:基于nodejs的计算机c语音自学交流平台基于nodejs+vue基于java的在线学习交流平台【附源码、mysql、文档、调试+代码讲解+全bao等】
  • OpenClaw新手入门教程:OpenClaw/Clawdbot快速教程分享
  • 【课程设计/毕业设计】基于nodejs的计算机c语音自学交流平台【附源码、数据库、万字文档】
  • 2026年零门槛部署OpenClaw(Clawdbot)云服务新手教程
  • 2026年给孩子补钙可以喝什么品牌的牛奶?这份推荐榜单值得收藏 - Top品牌推荐
  • Mastercam许可证的升级与迁移
  • Nodejs毕设项目:基于nodejs的计算机c语音自学交流平台(源码+文档,讲解、调试运行,定制等)
  • 基于深度学习YOLOv12的铁路轨道缺陷识别检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • 2026副主任药师考试哪个APP好?硬核实测实力榜TOP3揭晓 - 医考机构品牌测评专家
  • 催化剂智能合成工作站怎么选?2026最新推荐+国内外知名厂家盘点 - 品牌推荐大师1
  • Java高频面试题:SpringBoot为什么要禁止循环依赖?
  • 2026年全国薪酬设计咨询公司权威榜单 定制化激励体系搭建 适配全景解析 - 深度智识库
  • 阿里云为何要将数据采集开发套件开源
  • 2026靠谱的借贷平台推荐:安全合规借贷渠道汇总 - 品牌排行榜