Skip to content

Python

Python是一种出色且强大的编程语言,易于使用(易于阅读和编写),并且与树莓派一起使用,可让您将项目连接到真实世界。

Python徽标

Python语法非常简洁,强调可读性,并使用标准的英语关键字。

通尼

对 Python 最简单的介绍是通过 Python3 开发环境 Thonny 。从桌面或应用程序菜单中打开 Thonny :

Thonny为您提供了一个 REPL (读取-评估-打印循环),可以提示您输入 Python 命令。因为它是 REPL ,所以您甚至可以在不使用print的情况下将命令输出打印到屏幕上。在 Thonny 应用程序中,这称为 Shell 窗口。

您可以根据需要使用变量,但是甚至可以像计算器一样使用它。例如:

python

1 + 2 3 名称="萨拉" "你好" +名称 '你好莎拉'


Thonny还内置有语法突出显示功能,并且对自动完成功能提供了一些支持。您可以使用" Alt + P"(上一个)和" Alt + N"(下一个)来回顾您在 REPL 中输入的命令的历史记录。

## Python基本用法

Python中的 Hello  world:

python
打印(" Hello world")

就那么简单!

缩进

某些语言使用花括号" {"和"}"来包裹属于同一行的代码行,然后让编写者缩进这些行以使其看起来嵌套。但是,Python不使用花括号,而是需要缩进嵌套。例如 Python 中的for循环:

python 对于我在范围(10)中: 打印(" Hello")


缩进在这里是必需的。缩进的第二行将成为循环的一部分,而缩进的第二行将在循环之外。例如:

python
对于我在范围(2)中:
    打印(" A")
    打印(" B")

将打印:

一种
乙
一种
乙

而以下内容:

python 对于我在范围(2)中: 打印(" A") 打印(" B")


将打印:

一种 一种 乙


### 变量

要将值保存到变量,请按以下方式分配它:

python
名称="鲍勃"
年龄= 15

请注意,未使用这些变量指定数据类型,因为可以推断类型,以后可以更改。

python 年龄= 15 年龄+ = 1#年龄增加 1 打印(年龄)


这次我使用了增量命令旁边的注释。

### 评论

注释在程序中被忽略,但您可以在其中留下注释,并以井号"#"表示。多行注释使用三引号,如下所示:

python
""
这是一个非常简单的 Python 程序,显示" Hello"。
这就是全部。
""

打印(" Hello")

列表

Python还具有列表(在某些语言中称为数组),这些列表是任何类型的数据的集合:

python 数字= [1、 2 、 3 ]


列表用方括号" []"表示,每一项用逗号隔开。

### 迭代

某些数据类型是可迭代的,这意味着您可以遍历它们包含的值。例如一个列表:

python
数字= [1、 2 、 3 ]

对于数字:
    打印(数量)

这将获取"数字"列表中的每个项目并打印出该项目:

1个
2
3

注意,我用"数字"一词来表示每个项目。这只是我为此选择的单词-建议您为变量选择描述性单词-为列表使用复数形式,并且每一项的单数形式都有意义。它使阅读时更容易理解。

其他数据类型是可迭代的,例如字符串:

python dog_name ="宾果"

对于 dog _name中的 char : 打印(字符)


这将遍历每个字符并打印出来:

乙 一世 ñ G Ø


### 范围

整数数据类型不可迭代,尝试对其进行迭代将产生错误。例如:

python
对于我在 3 :
    打印(i)

将产生:

python TypeError:" int"对象不可迭代


![Python错误](images/python-error.png)

但是,您可以使用`range`函数创建一个可迭代的对象:

python
对于我在范围(3)中:
    打印(i)

range(5)包含数字 0 、 1 、 2 、 3 和 4 (总共 5 个数字)。要获取数字" 1"到" 5"(包括 5 ),请使用" range(1,6)"。

长度

您可以使用len之类的函数来查找字符串或列表的长度:

python 名称="杰米" print(len(name))#5

名称= ["鲍勃","简","詹姆斯","爱丽丝"] 打印(len(名字))#4


### If语句

您可以对控制流使用`if`语句:

python
名称="乔"

如果 len (name)> 3:
    print("好名字,")
    打印(名称)
其他:
    print("那是一个短名称,")
    打印(名称)

Thonny中的 Python 文件

要在 Thonny 中创建 Python 文件,请单击"文件">"新建",然后会显示<无标题>窗口。这是一个空文件,而不是 Python 提示符。您在此窗口中编写一个 Python 文件,保存它,然后运行它,您将在另一个窗口中看到输出。

例如,在新窗口中,键入:

python n = 0

对于范围(1,101)中的 i : n + =我

print("数字 1 到 100 的总和是:") 打印(n) ```然后保存此文件("文件">"保存"或" Ctrl + S")并运行("运行">"运行模块"或按" F5"),您将在原始 Python 窗口中看到输出。

从命令行执行 Python 文件

您可以在标准editor中编写 Python 文件,然后从命令行将其作为 Python 脚本运行。只需导航到文件保存的目录(使用 cd 和 ls 作为指导)并使用 python3 运行即可,例如 python3 hello.py

Python命令行

使用 Python 的其他方式

命令行

通过在终端中输入python3可以访问标准的内置 Python shell。

该 shell 提示您准备输入 Python 命令。您可以使用与 Thonny 相同的方式来使用它,但是它没有语法突出显示或自动完成功能。您可以使用 Up/Down 键回顾在 REPL 中输入的命令的历史记录。使用 Ctrl + D退出。

IPython

IPython是一个交互式 Python shell,具有语法突出显示,自动完成,漂亮的打印,内置文档等等。默认情况下未安装 IPython 。安装方式:

`` sudo pip3 安装 ipython


然后从命令行使用`ipython`运行。它的工作方式类似于标准的 python3 ,但具有更多功能。尝试输入`len?`并点击`Enter`。显示的信息包括 len 函数的文档字符串:

python
类型:builtin_function_or_method
字符串形式:<内置函数 len >
命名空间:内置 Python 
Docstring:
len(object)->整数

返回序列或映射的项目数。

尝试以下字典理解:

python {i:我**在范围(12)中代表 3 }


这将漂亮地打印以下内容:

python
{0:0
 1:1
 2:8
 3:27,
 4:64
 5:125,
 6:216,
 7:343,
 8:512,
 9:729,
 10:1000,
 11:1331}

在标准的 Python shell中,这将打印在一行上:

python {0:0,1:1、 2 :8、 3 :27、 4 :64、 5 :125、 6 :216、 7 :343、 8 :512、 9 :729、 10 :1000、 11 :1331}


![Python vs ipython](images/python-vs-ipython.png)

您可以使用<kbd> Up/Down </kbd>键(如在 python 中)来查看在 REPL 中输入的命令的历史记录。历史记录还会保留到下一个会话,因此您可以退出`ipython`并返回(或在 v2 /3之间切换),历史记录仍然存在。使用 Ctrl  + D退出。

## 安装 Python 库

### apt

可以在树莓派 OS归档文件中找到一些 Python 软件包,并且可以使用 apt 进行安装,例如:

``
sudo apt update
sudo apt安装 python -picamera

这是一种较好的安装方法,因为这意味着可以使用常用的" sudo apt update"和" sudo apt full-upgrade"命令轻松地使安装的模块保持最新。

树莓派 OS归档文件中并非所有 Python 软件包都可用,有时这些软件包可能已过期。如果在树莓派 OS归档文件中找不到合适的版本,则可以从Python软件包索引(称为 PyPI )安装软件包。

为此,请安装 pip :

`` sudo apt安装 python3 -pip


然后使用`pip3`安装 Python 软件包(例如`simplejson`):

``
 sudo  pip3 安装 simplejson 

此处阅读更多有关在 Python 中安装软件的信息。

摩天轮

官方 Python 软件包索引(PyPI)托管由软件包维护者上传的文件。某些软件包需要编译(编译 C /C ++或类似代码)才能安装,这是一项耗时的工作,尤其是在单核树莓派 1或 Pi Zero上。

piwheels是一项服务,提供可在树莓派上使用的预编译软件包(称为 Python wheel )。 树莓派 OS已预先配置为使用 piwheel 进行 pip 。在www.piwheels.org上了解有关 piwheels 项目的更多信息。

更多