3、第一个脚本:Hello World!、脚本的执行方式、注释与文档字符串

好,咱们正式开始写代码了。

第一个脚本,永远是 Hello World。这就像学编程的「开机仪式」。我当年第一次在屏幕上看到那行字时,说实话,心里还挺激动的。你想想看,一行代码就能让电脑听你的话,这种感觉很奇妙。

3.1 第一个脚本:Hello World!

打开你的文本编辑器(记事本、VS Code、Sublime 都行),新建一个文件,输入下面这行内容:

print("Hello World!")

然后保存。文件名一定要以 .py 结尾。比如 hello.py

注意: 文件名不要用中文,不要有空格。我见过有人把文件命名为 第一个脚本.py,结果在命令行里死活跑不起来。老老实实用 hello.py 最稳。

就这么一行。但别小看它。这行代码背后,Python 解释器做了三件事:读取文件、解析语法、调用内置函数把字符串输出到终端。嗯,以后你会慢慢理解这些细节。

3.2 脚本的执行方式

脚本写好了,怎么让它跑起来?有三种常见方式。我挨个说说。

3.2.1 命令行执行(推荐)

这是最正统的方式。打开终端(Windows 叫 cmd 或 PowerShell,Mac/Linux 叫终端),输入:

python hello.py

回车,屏幕上就会显示 Hello World!

为什么会这样?因为 python 命令会启动解释器,然后解释器读取 hello.py 文件,逐行执行代码。

小技巧: 如果你电脑上装了多个 Python 版本,可以用 python3 hello.py 来指定使用 Python 3。我在项目中遇到过因为默认 Python 是 2.7 版本,结果 print 语法报错的情况。嗯,那会儿排查了半天。

3.2.2 IDE 执行(适合开发阶段)

用 PyCharm、VS Code 这类 IDE 打开你的 .py 文件,右上角通常有个绿色的「运行」按钮。点一下就行。

我个人习惯在开发阶段用 IDE。原因很简单:调试方便。你可以打断点、看变量值、一步步跟踪代码执行。这在排查复杂逻辑时特别好用。

但注意一点:IDE 本质上也是在后台调用 python 命令。它只是帮你封装了操作。所以别觉得 IDE 跑起来和命令行有什么不同——底层是一样的。

3.2.3 双击运行(不推荐)

在 Windows 上,双击 .py 文件确实能运行。但问题来了:窗口一闪而过

为什么?因为脚本执行完后,终端窗口会自动关闭。你根本来不及看输出结果。

我曾经犯过这个错。写了个脚本,双击运行,啥也没看到。我还以为代码写错了。后来才知道,需要在脚本末尾加一行 input("按回车键退出...") 才能让窗口停留。

避坑指南: 双击运行只适合那些不需要看输出的脚本(比如后台任务、定时任务)。对于学习阶段,请老老实实用命令行或 IDE。

三种方式对比一下:

执行方式 适用场景 优点 缺点
命令行 生产环境、服务器 最稳定、可控 需要手动输入命令
IDE 开发调试 调试方便、可视化 依赖 IDE 环境
双击 简单测试 操作简单 窗口一闪而过

3.3 注释与文档字符串

代码是写给机器看的,但也是写给人看的。你想想看,三个月后你回头看自己写的代码,如果没有注释,你可能都忘了当初为什么这么写。

3.3.1 单行注释

# 开头。这一行后面的内容都会被解释器忽略。

# 这是单行注释
print("Hello World!")  # 这行代码输出 Hello World!

我个人习惯在关键逻辑前加注释。比如「这里为什么要用列表推导式而不是 for 循环」。这种注释能帮未来的自己(或者接手你代码的人)快速理解意图。

3.3.2 多行注释

用三个引号 '''""" 包裹。虽然 Python 里这其实是字符串,但没人用它做其他事时,它就相当于多行注释。

"""
这是一个多行注释
可以写很多行
解释器不会执行这里的内容
"""
print("Hello World!")
小技巧: 多行注释常用于临时屏蔽一大段代码。调试时特别好用。我曾经在排查线上问题时,用多行注释快速屏蔽了半个模块的代码,逐步缩小问题范围。

3.3.3 文档字符串(Docstring)

文档字符串和普通注释不一样。它是用来描述函数、类、模块的用途的。Python 会把它当作一个特殊属性保存下来。

def say_hello():
    """这个函数用来打印 Hello World!"""
    print("Hello World!")

你可以通过 say_hello.__doc__ 来获取这个文档字符串。很多 IDE 和自动文档生成工具都会读取它。

为什么要有文档字符串?说白了,就是让别人(包括未来的你)一眼就知道这个函数是干嘛的。不需要看代码细节。

我建议你养成习惯:每个函数、每个类、每个模块,都写文档字符串。哪怕只有一行。我在项目中遇到过最头疼的事,就是接手一个完全没有文档字符串的项目。几千行代码,每个函数名都起得莫名其妙。那感觉,就像在迷宫里找出口。

核心总结:
  • 注释用 #,解释「为什么这么写」
  • 文档字符串用 """,解释「这个函数/类是做什么的」
  • 注释是写给维护者看的,文档字符串是写给使用者看的

好了,第一个脚本就到这里。你写完了吗?去跑一下试试。看到 Hello World! 出现在屏幕上,你就正式入门了。

下一章,咱们聊聊变量和数据类型。这些东西看着简单,但坑不少。到时候我把我踩过的坑都告诉你。