>>> from env_helper import info; info()
页面更新时间: 2023-06-22 15:08:20
运行环境:
    Linux发行版本: Debian GNU/Linux 12 (bookworm)
    操作系统内核: Linux-6.1.0-9-amd64-x86_64-with-glibc2.36
    Python版本: 3.11.2

1.1. Python基础

1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣, 决心开发一个新的脚本解释程序,作为ABC 语言的一种继承,它就是Python。 Python发展至今,已成为一门解释型、面向对象、动态数据类型的高级程序设计语言, 它拥有活跃的社区支持,丰富的工具包帮助我们完成编程。 从云端、客户端,到物联网终端,再到现在的人工智能,python无处不在。

在动手学习编程之前必须先了解一些基本编程概念。 这就像魔法师培训,你可能认为这些概念既深奥又啰嗦,但有了一些知识和实践,你就能像魔法师一样指挥你的计算机,完成难以置信的事情。

下面是一些基本概念:

  • 算法:算法犹如菜谱,告诉你如何完成特定的任务。从本质上说,编写计算机程序就是使用计算机能够理解的语言(如Python)描述一种算法。 这种对机器友好的描述被称为程 序,主要由表达式和语句组成。

  • 表达式:表达式为程序的一部分,结果为一个值。例如, 2 + 2 就是一个表达式,结果为 4 。 简单表达式是使用运算符(如 +% )和函数(如 pow )将字面值(如 2"Hello" )组 合起来得到的。 通过组合简单的表达式,可创建复杂的表达式,如 (2 + 2) *(3 - 1) 。表达式还可能包含变量。

  • 变量:变量是表示值的名称。通过赋值,可将新值赋给变量,如 x = 2 。赋值是一种语句。

  • 语句:语句是让计算机执行特定操作的指示。这种操作可能是修改变量(通过赋值)、 将信息打印到屏幕上(如 print("Hello, world!") )、导入模块或执行众多其他任务。

  • 函数:Python函数类似于数学函数,它们可能接受参数,并返回结果。

  • 模块:模块是扩展,可通过导入它们来扩展Python的功能。例如,模块math包含多个很有 用的函数。

  • 程序:你通过练习学习了如何编写、保存和运行Python程序。

  • 字符串:字符串非常简单。它们其实就是一段文本,其中的字符是用Unicode码点表示的。 然而,对于字符串,需要学习的知识有很多。本章介绍了很多表示字符串的方式,第3章 将介绍众多字符串用法。

1.1.1. 为什么使用Python?

Python 得到广泛的应用,下面仅列举几个例子:

  • 美国国家航空航天局(NASA)使用Python来完成开发工作,并在多个系统中将其用作脚本语言;

  • 工业光魔公司在预算庞大的故事片中使用Python来制作特效;

  • Yahoo!使用Python(以及其他技术)来管理讨论组;

  • Google使用Python实现了网络爬虫和搜索引擎的众多组件;

  • Python在统计领域排名第一,在人工智能编程领域排名第一,在脚本编写方面排名第一,在系统测试方面排名第一;

  • Python在Web编程和科学计算方面处于领先地位。

    据说Python之父Guido van Rossum有一台时光机,因为这样的情况出现了多次:大家要求 Python提供某项功能时,却发现这项功能早已实现。当然,并非什么人都能进入这台时光机,不 过Guido很体贴,通过神奇模块future让Python具备了时光机的部分功能。对于Python当前不 支持,但未来将成为标准组成部分的功能,你可从这个模块进行导入。

1.1.2. Python2.x与3.x版本区别

Python的3.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。

为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下兼容。 许多针对早期Python版本设计的程式都无法在Python 3.0上正常执行。

新的Python程式建议使用Python 3.0版本的语法, 除非执行环境无法安装Python 3.0或者程式本身使用了不支援Python 3.0的第三方库。 目前(至少自2018年开始)不支持 Python 3 的类库几乎没有,除了极少数的类库本身没有价值,没有人来做迁移的工作,或者是类库已经由其他的类库替代。

大多数第三方库都正在努力地兼容 Python 3.0 版本。即使无法立即使用Python 3.0, 也建议编写相容Python 3.0版本的程式,然后使用Python 2.6, Python 2.7来执行。

1.1.3. 运行 Python 程序的方法

运行 Python 有很多方法,可以在终端交互输入,也可以写成程序文件执行。 在本教程中,则是使用 Jupyter 环境执行 Python 程序。

要注意,不同的环境对于能运行的功能,以及输出的结果并不完全相同。 Jupyter 的运行对于图形、GUI的运行有一些限制,毕竟在 Web 上没法调用与操作系统相关的图形界面接口(GUI)。

1.1.4. 安装 Python

1.1.5. 查看 Python 版本

我们可以使用以下命令来查看我们使用的 Python 版本:

>>> !python3 -V
Python 3.11.2

你也可以进入Python的交互式编程模式,查看版本:

Python 3.7.3 (default, Dec 20 2019, 18:57:59)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

1.1.6. 交互式解释器

交互式解释器是什么?它其实是一种让源代码程序运行起来的解释翻译工具,解释器将读取程序,并按照程序中的一些命令语句来执行程序,最终按要求显示结果。交互式解释器是对计算机进行控制的第一步。请尝试像下面这样做,以核实它是否管用:

>>> print("Hello, world!")
Hello, world!

注意 >>> 是前导符(或提示符),是在交互界面中用以提示程序员进行代码输入的。 本教程使用 Jupyter 来运行代码,所以代码中会尽可能省略 >>>

如果输入截然不同的内容呢?请尝试这样做:

>>> print('Hello")
  Cell In [4], line 1
    print('Hello")
          ^
SyntaxError: unterminated string literal (detected at line 1)

显然,解释器没有看懂,它还指出了问题出在什么地方。

>>> print('Hello')
Hello
>>> print("Hello")
Hello

如果程序中包含计算机不能理解的代码,就会崩溃,这将导致Python显示错误信息。错误信息并不会破坏你的计算机,所以不要害怕犯错误。“崩溃” 只是意味着程序意外地停止执行。

如果你输入错误的Python 指令,Python也不能理解,就会显示出错误信息,像下面这样:

>>> 5 +
  Cell In [7], line 1
    5 +
             ^
SyntaxError: invalid syntax
>>> 42 + 5 + * 2
  Cell In [8], line 1
    42 + 5 + * 2
             ^
SyntaxError: invalid syntax

如果你希望对一条错误信息了解更多, 可以在网上查找这条信息的准确文本, 找到关于这个错误的更多内容。

你总是可以在交互式环境中输入一条指令,检查它是否能工作。不要担心会弄坏计算机:最坏的情况就是Python显示出错信息。专业的软件开发者在编写代码时,也常常会遇到错误信息。

小技巧 如果你要获取使用指南,可在提示符下输入命令 help() 并按回车键。在IDLE中,还可按F1来获取帮助信息。

1.1.7. 在交互式环境中输入表达式

启动 IDLE 就运行了交互式环境,这是和Python—起安装的。 在Windows上, 打开“开始”菜单,选择 “All Programs ► Python 3.3”,然后选择 “IDLE (Python GUI)”。 在 OS X 上,选择 “Applications ► MacPython 3.3 ► IDLE”。 在 Ubuntu 上,打开新的 终端窗口并输入idle3。一个窗口会出现,包含 >>> 提示符,这就是交互式环境。 在提示符后输入 2+2 ,让Python做一些简单的算术。

IDLE窗口现在应该显示下面这样的文本:

>>> 2+2
4

在Python中,2+2称为“表达式”,它是语言中最基本的编程结构。 表达式包含“值”(例如2 )和“操作符”(例如 + ), 并且总是可以求值(也就是归约)为单 个值。 这意味着在Python代码中,所有使用表达式的地方,也可以使用一个值。

在前面的例子中,2 + 2 被求值为单个值4。 没有操作符的单个值也被认为是一个表达式, 尽管它求值的结果就是它自己,像下面这样:

>>> 2
2

1.1.8. 注意使用 _

下线线 _ 在 Python 交互环境下有特殊意义,表示上一次执行的结果。

>>> 2 + _
4

这里的 _ 就是上面的结果 2 。 如果重复执行上面的语句, 会看到其值逐渐加大。

>>> 2 + _
6