2.1. 你的第一个脚本

Python 脚本 是保存在以 .py 为扩展名的文本文件中的一系列指令。当你按下绿色的 Run 按钮时,OpenMV Cam 会运行当前在 IDE 中打开的脚本,并在窗口底部的 IDE 串行终端中打印所有输出。

最简单的脚本只有一行:

print("Hello, OpenMV!")

按下 Run 会把这个脚本发送给摄像头,摄像头执行它并把消息打印回 IDE 中。

2.1.1. print 的作用

print() 是一个内置函数——它是一段位于固件内部、无需任何设置即可随时使用的代码。在括号中传给它一个或多个值,它就会在 IDE 中打印这些值的文本表示。

你可以传给 print() 任何东西,不仅仅是文本:

print(42)
print(3.14)
print("temperature", 25)

在输出中,多个参数之间以空格分隔:

>>> temperature 25

2.1.2. 注释

# 开始一段 注释——该行剩余部分会被 Python 忽略。用注释来解释代码 为什么 这样做;代码本身已经说明了它 做了什么

# Send a startup banner over the serial terminal.
print("camera ready")

print("running")  # Marker for the operator monitoring the IDE.

Python 中没有专门的多行注释语法。可以逐行添加注释,或者在 IDE 中选中这些行并按 Ctrl+/ 来切换它们的注释状态。

2.1.3. 缩进很重要

Python 使用缩进——即一行开头的空白——来将相关的行归为一组。在函数、if 语句或循环内部,属于该代码块的每一行都缩进 相同的量(惯例是四个空格)。在一个代码块内混用制表符和空格,或改变缩进宽度,都会导致语法错误。

像上面那些 print 调用一样的顶层语句位于缩进零处。当你开始编写分支和循环时,才会出现缩进的代码块。

小技巧

一旦你写完以 : 结尾的一行,IDE 就会自动为你缩进。如果你遇到莫名其妙的 IndentationError,选中出问题的代码块并按 Tab / Shift+Tab 重新对齐它。

2.1.4. 再次运行脚本

每次你按下 Run,摄像头都会停止当前正在执行的任务,加载当前脚本,并从头开始执行。这里没有单独的编译步骤。改一行,再按一次 Run,新的输出就会出现在终端里。

要让脚本在摄像头每次上电时自动运行,请将其保存为摄像头文件系统上的 main.py