Python脚本

1. 脚本就是一步一步告诉计算机怎么做

  • 从上往下执行,顺序别乱。

  • 每行写一个"指令",比如算个数、打印一句话、读个文件。


2. 变量就是给东西贴个标签

  • 名字 = 值,比如 年龄 = 18,后面用 年龄 就代表 18。

  • 不用提前声明类型,爱存数字就数字,爱存文字就文字,灵活但别把自己搞晕。


3. 缩进比括号更重要

  • 代码块(比如 if 判断、循环、函数)靠缩进来区分,一般用 4 个空格,别混用 Tab。

  • 缩进错了,程序直接报错,比语法错误还常见。


4. 三种常见结构

  • 顺序:挨着写就行。

  • 分支if 条件: 满足就干这个,else: 不满足就干那个。

  • 循环for 变量 in 范围: 重复做某件事,while 条件: 条件满足就一直做。


5. 函数:把重复的活儿打包

  • def 函数名(参数): 把一段代码包起来,起个名字,需要时调用它。

  • 好处:不用复制粘贴,改一处全改好,逻辑更清楚。


6. 报错别慌,看最后一行

  • Python 会告诉你哪一行出错了,是什么类型的错(比如 NameError 名字没定义、TypeError 类型不匹配)。

  • 学会看错误提示,大部分问题都能自己解决。


7. 导入别人写好的功能

  • import 模块名,比如 import os(操作系统相关)、import json(处理JSON数据)。

  • 用模块里的东西:模块名.功能名(),比如 os.getcwd() 获取当前目录。

  • 常用内置模块就那十来个,记住怎么查文档就够了。


8. 文件操作:打开→操作→关闭

python

复制代码
with open('文件名.txt', 'r', encoding='utf-8') as f:
    内容 = f.read()
  • with 会自动帮你关文件,防止忘关或出错。

  • 模式:'r' 读,'w' 写(覆盖),'a' 追加。

  • 处理中文记得加 encoding='utf-8',否则容易乱码。


9. 列表、字典是装东西的"箱子"

  • 列表[1, 2, 3],有序,按编号(0,1,2...)取东西。

  • 字典{"名字": "张三", "年龄": 20},用"键"找"值",像查字典。

  • 这俩最常用,会循环遍历它们基本就能处理大部分数据。


10. 异常处理:先试试,不行再补救

python

复制代码
try:
    可能出错的代码
except 某种错误:
    出错了怎么办
  • 不用让程序因为一个小错误就整个崩溃,可以优雅地提示或跳过。

11. 写脚本的小习惯

  • 起名字用英文+下划线,比如 user_age,别用拼音缩写。

  • 复杂逻辑写注释,用 # 解释一下这步是干嘛的。

  • 开头加上 #!/usr/bin/env python3(Linux/Mac下指定解释器)。

  • 如果脚本要被其他文件调用,用 if __name__ == "__main__": 把执行代码包起来,防止被导入时自动运行。


12. 虚拟环境:每个项目一个干净的小房间

  • python -m venv 环境名 创建,激活后装的各种库互不干扰。

  • 避免 A 项目要 requests==2.0,B 项目要 requests==3.0 时打架。


13. 别重复造轮子

  • 遇到常见任务(比如发邮件、爬网页、处理Excel),先搜有没有现成好用的第三方库。

  • pip install 库名 安装,然后看官方示例,比自己从头写省力十倍。


Python 脚本的精髓就是:想清楚逻辑 → 用最简单的语法写出来 → 出错看提示改 → 重复的活儿让函数或循环做 → 复杂功能借别人现成的库。多写几次,手就熟了。

相关推荐
集成显卡6 小时前
Rust实战七 |基于带 colored 颜色文字控制台的批量文件删除工具
开发语言·后端·rust
夜焱辰6 小时前
浏览器端 Agent 的文件版本管理:不用 Git,基于 OPFS + SQLite 自己造了一个
前端·人工智能
梦想的颜色6 小时前
TypeScript 完全指南(下):从类型体操到生产级配置
前端·javascript·typescript
刀法如飞7 小时前
AI时代:DDD领域驱动建模与Ontology语义建模的区别
java·设计模式·架构
jeffer_liu7 小时前
Spring AI 生产级实战:工具调用
java·人工智能·后端·spring·ai编程
比昨天多敲两行7 小时前
linux 线程概念与控制
java·开发语言·jvm
huaweichenai7 小时前
php 根据每个类型的抽签范围实现抽签功能
开发语言·php
8Qi87 小时前
LeetCode 75:颜色分类(荷兰国旗问题)—— Java 题解 ✅
java·算法·leetcode·指针·排序
zzhongcy7 小时前
@Transactional 同类内部调用失效 + 两种自代理解决方案
java
AutumnWind04208 小时前
【Intelij IDEA使用手册】
java·ide·intellij-idea