03 写第一个带逐行注释的 Python 程序

  • 本节目标:写出第一个可运行的 Python 文件,并理解 print()、字符串、变量、函数和程序入口

1. 本节要完成什么

本节新增文件:

text 复制代码
projects/00-python-dev-workbench/hello_python.py

运行命令:

powershell 复制代码
.\.venv\Scripts\python.exe projects/00-python-dev-workbench/hello_python.py

运行结果:

text 复制代码
Hello, Python!
当前学习者:Python 初学者
当前任务:00-03 写第一个 Python 程序
这几行内容会按照代码编写顺序依次显示。

2. Python 文件是什么

2.1 概念

Python 文件通常以 .py 结尾。它是一个普通文本文件,里面写的是 Python 代码。

例如:

text 复制代码
hello_python.py

2.2 作用

.py 文件用于保存程序逻辑。这样代码可以反复运行、提交到 Git、被别人阅读和维护。

2.3 原理

当我们运行:

powershell 复制代码
.\.venv\Scripts\python.exe projects/00-python-dev-workbench/hello_python.py

Python 会做这些事:

  1. 启动 .venv 里的 Python 解释器。
  2. 读取 hello_python.py 文件。
  3. 从上到下执行文件里的代码。
  4. 遇到 print() 时,把内容输出到命令行。

3. print() 是什么

3.1 概念

print() 是 Python 内置函数,用来把内容显示到命令行。

示例:

python 复制代码
print("Hello, Python!")

3.2 作用

print() 常用于:

  1. 显示程序结果。
  2. 学习阶段观察代码是否运行。
  3. 简单调试。
  4. 给命令行用户输出提示。

3.3 原理

print() 会把括号里的内容转成文本,然后写到标准输出。

标准输出可以先理解成"命令行屏幕"。

3.4 常见坑

  1. 忘记写引号:print(Hello) 会被 Python 当成变量名。
  2. 中文括号写成 print("你好"),Python 不认识中文括号。
  3. 引号不成对:print("你好) 会报语法错误。
  4. print 写成 printf,Python 默认没有这个函数。

4. 字符串是什么

4.1 概念

字符串就是文本数据。Python 里通常用引号包起来:

python 复制代码
"Hello, Python!"
"Python 初学者"
"00-03"

4.2 作用

字符串用于表示:

  1. 用户名。
  2. 提示语。
  3. 文件路径。
  4. 网页内容。
  5. JSON 文本。
  6. 日志消息。

4.3 原理

引号告诉 Python:这里是一段文本,不是变量名,也不是命令。

例如:

python 复制代码
message = "Hello, Python!"

这行代码的意思是:把文本 "Hello, Python!" 保存到变量 message 里。

4.4 常见坑

  1. 字符串忘记加引号。
  2. 前后引号类型不匹配。
  3. Windows 路径里的反斜杠可能被当成转义字符。

本节代码顶部 docstring 使用了 r"""...""",其中 r 表示 raw string,也就是原始字符串。这样 Windows 路径里的 \ 不容易触发转义警告。

5. 变量是什么

5.1 概念

变量是给数据起的名字。

示例:

python 复制代码
message = "Hello, Python!"

可以理解为:

text 复制代码
变量名 message -> 保存文本 "Hello, Python!"

5.2 作用

变量让代码更容易阅读和复用。

如果不使用变量,代码可能是:

python 复制代码
print("Hello, Python!")

使用变量后:

python 复制代码
message = "Hello, Python!"
print(message)

这样可以先给数据命名,再在后面使用它。

5.3 原理

Python 执行赋值语句时,会先创建右边的数据,再把左边的名字绑定到这个数据上。

python 复制代码
learner = "Python 初学者"

意思是:创建字符串 "Python 初学者",并让 learner 这个名字指向它。

5.4 常见坑

  1. 变量名不能随便加空格,例如 user name 不合法。
  2. 变量名不能以数字开头,例如 1name 不合法。
  3. 变量名区分大小写,nameName 是两个不同变量。
  4. 变量要先定义再使用。

6. f-string 是什么

6.1 概念

f-string 是 Python 里格式化字符串的一种写法。

示例:

python 复制代码
learner = "Python 初学者"
print(f"当前学习者:{learner}")

输出:

text 复制代码
当前学习者:Python 初学者

6.2 作用

f-string 用于把变量值放进字符串里。

6.3 原理

字符串前面的 f 告诉 Python:请把 {} 里的表达式计算出来,再放进字符串。

python 复制代码
f"当前任务:{stage} 写第一个 Python 程序"

如果 stage = "00-03",最后会变成:

text 复制代码
当前任务:00-03 写第一个 Python 程序

6.4 常见坑

  1. 忘记在字符串前加 f,导致 {learner} 原样输出。
  2. 花括号没有成对。
  3. {} 里写了不存在的变量。

7. 函数是什么

7.1 概念

函数是一组有名字的代码。

本节代码里有:

python 复制代码
def main() -> None:
    ...

main 是函数名,函数体是缩进进去的代码。

7.2 作用

函数能把代码组织起来:

  1. 让程序结构更清楚。
  2. 让一段逻辑可以被重复调用。
  3. 让后续测试更方便。
  4. 让代码更容易阅读。

7.3 原理

定义函数时,函数体不会立刻执行。

只有调用函数时才会执行:

python 复制代码
main()

所以:

python 复制代码
def main() -> None:
    print("Hello")

只是定义了一个函数。真正执行输出的是:

python 复制代码
main()

7.4 常见坑

  1. 忘记函数体缩进。
  2. 只定义函数,不调用函数。
  3. 函数名拼写前后不一致。
  4. 把中文冒号写成 ,Python 需要英文冒号 :

8. if __name__ == "__main__" 是什么

8.1 概念

这是 Python 常见的程序入口写法:

python 复制代码
if __name__ == "__main__":
    main()

8.2 作用

它用于区分两种情况:

  1. 这个文件是被直接运行。
  2. 这个文件是被其他文件导入。

当文件被直接运行时,__name__ 的值是 "__main__",于是会执行 main()

8.3 原理

你现在可以先记住:

text 复制代码
直接运行本文件 -> __name__ 等于 "__main__" -> 执行 main()
被其他文件 import -> __name__ 不是 "__main__" -> 不自动执行 main()

8.4 常见坑

  1. __name__ 左右各有两个下划线,不能少。
  2. "__main__" 也有前后两个下划线。
  3. == 是比较是否相等,不是赋值。
  4. 这一行末尾要有英文冒号。

9. 本节完整代码讲解

本节文件:

text 复制代码
projects/00-python-dev-workbench/hello_python.py

核心结构:

python 复制代码
r"""文件说明。"""


def main() -> None:
    message = "Hello, Python!"
    learner = "Python 初学者"
    stage = "00-03"

    print(message)
    print(f"当前学习者:{learner}")
    print(f"当前任务:{stage} 写第一个 Python 程序")
    print("这几行内容会按照代码编写顺序依次显示。")


if __name__ == "__main__":
    main()

运行顺序:

  1. Python 先读取文件顶部说明。
  2. 遇到 def main(),知道这里定义了一个函数,但先不执行函数体。
  3. 继续往下,遇到 if __name__ == "__main__"
  4. 因为当前是直接运行本文件,所以条件成立。
  5. 调用 main()
  6. 进入函数内部,从上到下执行变量赋值和 print()

10. 当前项目中的应用

这个文件虽然很小,但已经建立了后续项目的基本写法:

  1. 文件顶部写用途说明。
  2. 主要逻辑放进 main()
  3. 使用 if __name__ == "__main__" 作为入口。
  4. 用变量保存数据。
  5. print() 输出结果。
  6. 用虚拟环境里的 Python 运行。

后面命令行任务管理器、Web 服务、爬虫脚本都会继续沿用这种"入口清晰、职责清楚"的写法。

11. 课后复盘

你现在要记住:

  1. .py 文件是 Python 代码文件。
  2. Python 会从上到下读取和执行代码。
  3. print() 用来输出内容。
  4. 字符串是文本,要用引号包起来。
  5. 变量是数据的名字。
  6. f-string 可以把变量放进字符串。
  7. 函数是一组有名字的代码。
  8. if __name__ == "__main__" 是常见程序入口写法。
相关推荐
星越华夏10 小时前
python办公自动化,csv文件/excel文件差集合并
开发语言·python·excel
弹简特10 小时前
【零基础学Python】04-Python运算符、分支、循环与随机数实战教程
开发语言·python
一天 24h10 小时前
Python自定义迭代器:从入门到精通
开发语言·python·迭代器模式·学习方法·新人首发
在繁华处10 小时前
Hermes Agent 完全使用指南:从安装到多平台部署的全流程教程
python·开源·飞书
暴躁小师兄数据学院10 小时前
【AI大模型应用开发工程师特训笔记】第04讲(第五章):条件判断与流程控制
大数据·人工智能·python·学习
郝学胜-神的一滴10 小时前
系统设计 013:高并发系统缓存:从原理到实践全解析
java·开发语言·python·缓存·系统架构·php·软件构建
半壶清水11 小时前
用 Python 和 OpenCV 提取书法作品中的每一个单字
python·opencv·计算机视觉
rayyy911 小时前
卡牌抽取游戏
开发语言·python