Python 3 非程序员教程/简介
所以,你以前从未编程过。在我们学习本教程的过程中,我将尝试教你如何编程。学习编程实际上只有一条路。你必须阅读代码并编写代码(因为计算机程序通常被称为代码)。我将向你展示很多代码。你应该输入我展示给你的代码,看看会发生什么。尝试改变它,玩玩它。最坏的结果就是它不工作。当我输入代码时,它将以这种格式显示
# Python is easy to learn
print("Hello, World!")
这样很容易与其他文本区分开。如果你在网上阅读,你会注意到代码是彩色的——这只是为了让它突出,以及让代码的不同部分彼此区分开。你输入的代码可能不会有颜色,或者颜色可能不同,但只要你以与这里打印的方式相同的方式输入,它就不会影响代码。
如果计算机打印了一些东西,它将以这种格式显示
Hello, World!
(注意,打印的文本会显示在你的屏幕上,并且不涉及纸张。在计算机有屏幕之前,计算机程序的输出将打印在纸上。)
请注意,这是一个 Python 3 教程,这意味着大多数示例在 Python 2.7 及更早版本中将无法运行。此外,除了少数额外的 Python 2.7 库(第三方库)之外,几乎所有库都已转换为 Python 3。你很可能想要学习 Python 3,但如果你正在学习 Python 用于仅用 Python 2.7 编写的特定包或模块集,你可能需要考虑从Python 2.6 非程序员教程学习。但是,Python 2 和 3 之间的差异并不特别大,所以如果你学习了其中一种,你应该能够轻松地阅读为另一种编写的程序。
你通常会看到你输入的文本(以粗体显示)和程序打印到屏幕上的文本的混合,它将看起来像这样
Halt! Who Goes there? Josh You may pass, Josh
(教程的某些部分尚未转换为这种格式。由于这是一个维基,你可以在找到它时进行转换。)
我还会向你介绍编程的术语——例如,编程通常被称为编码或黑客。这不仅有助于你了解程序员在说什么,还有助于学习过程。
现在,让我们开始更重要的事情。为了用 Python 编程,你需要 Python 3 软件。如果你还没有 Python 软件,请访问www.python.org/download并获取适合你的平台的版本。下载它,阅读说明并进行安装。
对于 Python 编程,你需要一个有效的 Python 安装和一个文本编辑器。Python 自带一个编辑器,IDLE,它非常不错,对于初学者来说完全足够。当你更深入编程时,你可能会切换到其他编辑器,比如nano, emacs, vi或其他。
Python 下载页面是https://www.pythonlang.cn/download。最新版本是 Python 3.11.5(截至 2023 年 10 月);Python 2.7 及更早版本将无法使用本教程。下载网站上提供了适用于不同计算机平台的各种不同的安装文件。以下是一些针对最常见操作系统的一些具体说明
你可能很幸运,你的机器上已经安装了 Python。要在命令行上测试它,请键入python3
。如果你看到类似于下一节中显示的内容,那么你就可以开始了。
IDLE 可能需要单独安装,从其自己的包中安装,例如idle3或作为python-tools.
的一部分。如果你必须安装 Python,首先尝试使用操作系统的包管理器或转到包所在的存储库,并获取 Python 3。Python 3.0 于 2008 年 12 月发布;所有发行版都应该提供 Python 3,因此你可能不需要从头开始编译它。Ubuntu 和 Fedora 确实提供了 Python 3 二进制包,但它们还不是默认的,因此需要专门安装它们。
大致来说,以下是在 Unix 中从源代码编译 Python 的步骤(如果这些步骤完全没有意义,你可能需要阅读另一个关于 *nix 的介绍,比如Linux 简介)
- 下载 .tgz 文件(使用你的 Web 浏览器从https://www.pythonlang.cn/ftp/python/3.7.4/Python-3.7.4.tgz获取压缩的 tar 文件)
- 解压缩 tar 文件(输入你下载它的正确路径)
$ tar -xvzf ~/Download/Python-3.7.4.tgz ... list of files as they are uncompressed
- 切换到该目录,并告诉计算机编译并安装程序
$ cd Python-3.7/ $ ./configure --prefix=$HOME/python3_install ... lots of output. Watch for error messages here ... $ make ... even more output. Hopefully no error messages ... $ make install
- 将 Python 3 添加到你的路径。你可以先通过指定完整路径来测试它。你应该将 $HOME/python3_install/bin 添加到你的 PATH bash 变量中。
$ ~/python3_install/bin/python3 Python 3.7.4 (... size and date information ...) [GCC 9.1.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
上面的命令会将 Python 3 安装到你的主目录,这可能就是你想要的,但如果你跳过--prefix=$HOME/python3_install,它将安装到/usr/local。如果你想使用 IDLE 图形代码编辑器,你需要确保tk和tcl库及其开发文件都安装在系统上。如果你没有这些库,你将在make阶段收到警告。
从 Mac OS X Tiger(10.4)到 MacOS 12.3,Python 2 的版本默认随操作系统一起提供,但你需要安装 Python 3,除非 Mac OS 开始包含 Python 3(通过在命令行终端启动python3
检查版本)。此外,IDLE(Python 编辑器)可能在标准安装中缺失。如果你想(重新)安装 Python,请从Python 下载网站获取 Mac OS 安装程序。
下载相应的 Windows 安装程序(x86 MSI 安装程序,如果你没有 64 位 AMD 或 Intel 芯片)。通过双击它启动安装程序,并按照提示进行操作。
有关更多信息,请参阅https://docs.pythonlang.cn/3/using/windows.html#installing-python。
Python 3 也可从 Windows 应用商店获取,但此版本尚未在本维基教科书中进行测试。
PATH 环境变量是文件夹的列表,它们之间用分号隔开,每当你尝试通过在命令提示符中键入其名称来执行程序时,Windows 会在这些文件夹中查找该程序。你可以通过在命令提示符中键入以下命令来查看当前 PATH 的值
echo %PATH%
永久更改环境变量的最简单方法是在 Windows 中调出内置的环境变量编辑器。在不同版本的 Windows 上,你进入此编辑器的方式略有不同。
在 Windows 8 或 Windows 10 上:按 Windows 键,然后键入控制面板,找到 Windows 控制面板。打开控制面板后,选择“查看方式:大图标”,然后点击系统。在弹出的窗口中,点击高级系统设置链接,然后点击环境变量…按钮。
在 Windows 7 或 Vista 上:点击屏幕左下角的开始按钮,将鼠标移至计算机,右键点击,然后从弹出菜单中选择属性。点击高级系统设置链接,然后点击环境变量…按钮。
配置环境变量编辑器后,无论运行哪个版本的 Windows,操作都相同。在编辑器下半部分的“*系统变量*”下,找到名为PATH的变量。如果有该变量,请选择它并点击“*编辑...*”。假设你的 Python 根目录为C:\Python37,将这两个文件夹添加到你的路径(并确保分号正确,列表中每个文件夹之间应使用分号分隔)
C:\Python37 C:\Python37\Scripts
注意:如果你想双击并从 Windows 文件夹启动 Python 程序,并且不希望控制台窗口消失,可以在每个脚本的底部添加以下代码
#stops console from exiting
end_prog = ""
while end_prog != "q":
end_prog = input("type q to quit")
交互模式
[edit | edit source]进入 IDLE(也称为 Python GUI)。你应该看到一个包含类似以下文本的窗口
Python 3.0 (r30:67503, Dec 29 2008, 21:31:07) [GCC 4.3.2 20081105 (Red Hat 4.3.2-7)] on linux2 Type "copyright", "credits" or "license()" for more information. **************************************************************** Personal firewall software may warn about the connection IDLE makes to its subprocess using this computer's internal loopback interface. This connection is not visible on any external interface and no data is sent to or received from the Internet. **************************************************************** IDLE 3.0 >>>
>>>
是 Python 用来告诉你正在交互模式下运行的方式。在交互模式下,你输入的任何内容都会立即执行。尝试输入 1+1
。Python 将返回 2
。交互模式允许你测试和查看 Python 将执行的操作。如果你需要尝试新的 Python 语句,可以进入交互模式并测试它们。
创建和运行程序
[edit | edit source]如果你还没有,请进入 IDLE。在顶部的菜单中,选择“*文件*”,然后选择“*新建文件*”。在出现的新的窗口中,输入以下内容
print("Hello, World!")
现在保存程序:从菜单中选择“*文件*”,然后选择“*保存*”。将它保存为“hello.py
”(你可以在任何你想要的文件夹中保存它)。现在它已保存,可以运行了。
接下来,通过进入“*运行*”然后“*运行模块*”运行程序(或者如果你使用的是旧版本的 IDLE,请使用“*编辑*”然后“*运行脚本*”。这将在“*Python Shell*”窗口中输出 Hello, World!
。
有关 IDLE 的更深入介绍,一个带有屏幕截图的更长的教程可以在 http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/index.html 找到。
程序文件名
[edit | edit source]严格遵守 Python 程序文件名的规则非常有用。否则,某些事情*可能会*意外出现错误。这些规则对于程序来说没有那么重要,但如果你没有遵守这些规则,则可能会在模块名称方面遇到奇怪的问题(模块将在后面讨论)。
- 始终使用扩展名保存程序.py。不要在文件名中添加其他点。
- 仅使用标准字符作为文件名:字母、数字、连字符(-)和下划线(_).
- 空格(“ ”)不应该使用(使用下划线代替)。
- 在文件名开头不要使用除字母以外的任何字符(特别是不要使用数字!)。
- 不要使用“非英语”字符(如å, ɓ, ç, ð, é, õ, ü)作为文件名 - 或者,更好的做法是在编程时完全不使用它们。
- 不要使用模块名称作为文件名(如print.py, math.py, list.py)
从命令行使用 Python
[edit | edit source]如果你不想从命令行使用 Python,你可以选择使用 IDLE。要进入交互模式,只需输入 python3
而不带任何参数。要运行程序,可以使用文本编辑器创建程序(Emacs 有一个不错的 Python 模式),然后使用 python3 program_name
运行它。
在 *nix 中运行 Python 程序
[edit | edit source]如果你使用的是 Unix(如 Linux、Mac OS 或 BSD),如果你使用 chmod 使程序可执行,并且第一行是
#!/usr/bin/env python3
你可以像运行其他命令一样,使用 ./hello.py
运行 Python 程序。
在哪里获得帮助
[edit | edit source]在你的 Python 之旅中,你可能会遇到困境,无法解决你应该处理的问题。本教程只涵盖 Python 编程的基础知识,但还有很多其他信息可供参考。
Python 文档
[edit | edit source]首先,Python 有非常完善的文档。你的计算机上可能已经包含这些文档的副本,这些副本是与 Python 安装一起提供的
- 由 Guido van Rossum 编写的官方 Python 3 教程 经常是解决一般问题的良好起点。
- 对于有关标准模块的问题(你将学习这些模块在后面是什么),Python 3 库参考 是查找答案的地方。
- 如果你真的想了解该语言的细节,Python 3 参考手册 是一个全面的资源,但对于初学者来说非常复杂。
Python 用户社区
[edit | edit source]还有很多其他的 Python 用户,他们通常都很乐于助人,愿意帮助你。这个非常活跃的用户社区主要通过邮件列表和新闻组进行组织
- tutor 邮件列表 是供那些想要提问如何使用 Python 语言学习计算机编程的人使用。
- python-help 邮件列表 是 python.org 的帮助台。你可以向一群知识渊博的志愿者咨询所有 Python 问题的答案。
- Python 新闻组 comp.lang.python (Google groups 存档) 是 Python 一般讨论、问题以及社区主要集会点的场所。
- Python wiki 有一份 本地用户组列表,你可以加入该组的邮件列表并提出问题。你也可以参加用户组会议。
- LearnPython subreddit 是另一个可以提问初学者级别问题的地方。
为了避免重复造轮子并反复讨论相同的问题,如果你*在联系这些列表之前搜索网络解决方案,人们会非常感谢你*!
在线使用 Python
[edit | edit source]如果你不想下载 Python,或者你使用的是无法下载程序的计算机(如 Chromebook),可以使用众多可用的在线 Python 编辑器之一。