WoW! 让我们学一些Python基础编程吧
在上节课我们基于模板创建了一个ROS2的Python节点,所谓“模板”就是利用ROS2
预制的包结构和文件来创建一个新的ROS2包及其功能节点。
然而,如果我们想更加灵活地调整ROS2功能节点的行为细节,那么我们就需要利用Python编程、从各种代码细节上来规范机器人的行为,以满足满足我们五花八门的需求,从而做到“如臂使指”。 通过本节课的自学,我们关于Python基础编程的目标效果是:
- 掌握Python基础编程后,能够更加随心所欲地玩转ROS2功能节点开发。
- 通过Python代码,精细化控制ROS2节点的行为细节。
掌握如何在vs code中编写运行Python代码
安装Python
Ubuntu系统中自带Python3,通常是Python3.8或Python3.10版本。可以通过以下命令检查:
python3 --version
如果系统正常安装了Python3,命令行会返回类似如下的版本号:
Python 3.13.0
在vs code中安装Python插件
在vs code中安装Python
插件,参考添加 ROS 插件到 VS Code :
在vs code中编写你的第一个Python程序
创建Python的工作目录
bashcd ~ mkdir -p robotPython/
打开vs code程序,并在菜单栏中选择
File
->Open Folder...
,选择刚才创建的工作目录robotPython
:新建Python代码文件,如下图:
注意:新建文件的类型为
Python
,如下图所示:在新建代码文件中,输入如下代码:
print("Hello, World!")
print("Hello, Python!")
Ctrl+s
保存代码文件,文件名为test.py
,如下图:在vs code中运行Python代码。打开vs code的终端窗口,如下图:
在终端窗口中,输入如下命令运行Python代码:
python3 ./test.py
- 运行结果如下图所示:
至此,你已经掌握了如何在vs code中编写、运行Python代码。本节课后面的内容,请大家根据我们的简明自学提纲,在vs code中输入代码,并运行Python程序。在编写代码->运行代码->调试代码的过程中,逐步掌握Python编程的基本知识点。
备注:上述四条常识中,“行与缩进”是Python编程区别于很多其它编程语言的强制规范,如果代码缩进层次不正确,程序运行可能会出现程序员意料之外的错误或行为。我们可以使用vs code插件Blockman
来可视化代码块,以帮助我们检查代码的缩进、对齐是否符合我们的预期。
循序渐进掌握必要的Python知识点
建议使用《菜鸟教程》网站作为Python的简明自学教程,各个知识点的讲解都非常清晰易懂,配合代码示例,便于理解和实践。下述各知识点后的网页链接即为相关的学习教程。
在本节我们暂且抛开基于ROS2
的Python开发。按照认知规律,我们将循序渐进的掌握Python编程的知识点,最终达到能够编写、使用类库的目标:
- 【第一次练习课】变量和基本数据类型:Python3 基本数据类型
- 【第一次练习课】运算符:Python3 运算符
- 【第一次练习课】输入输出基础(print、input函数):print 输出,等待用户输入
- 【第一次练习课】字符串操作与格式化:Python3 字符串,该链接中,至少需要知道:
- 字符串的操作包括:Python 访问字符串中的值、Python 字符串运算符
- 字符串格式化:Python 字符串格式化、f-string
- 有点印象即可:Python三引号、Python 的字符串内建函数
- 【第二次练习课】控制语句:Python3 条件控制
- 【第二次练习课】循环语句:Python3 循环语句
- 【第三次练习课】列表、字典等容器类型操作:
- 【第三次练习课】函数:Python3 函数
- 【第四次练习课】模块与包的使用:Python3 模块
- 【第四次练习课】文件读写操作:文件读写和Python3 File(文件) 方法
- 【第五次练习课】错误处理与异常:Python3 错误和异常
- 【第五次练习课】类与面向对象编程:Python3 面向对象
这个顺序更符合学习的渐进性,每个概念都是在前一个基础上自然延伸。特别是在控制语句与函数之间,添加了容器类型和错误处理的学习,这样可以先掌握基本的数据结构操作,再进入更复杂的函数抽象。同时,在类之前学习模块与包的使用,有助于理解Python的代码组织方式,为后续ROS2开发打下更好的基础。
Tips:如果上述链接的知识一时无法理解,那么你有三个解决方式:
- 在课堂上咨询指导教师;
- 善用我们课程网站的AI助手;
- 利用搜索引擎,搜索相关的知识点。
基于自学的提问,谨记我们先前提到的:
- 为什么要聪明的提问:《提问的智慧》精读注解版
- 如何聪明的提问:关于“提问的智慧”和“别像傻瓜一样提问”-CSDN博客
小结
在本节课中,我们学习了如何在vs code中编写、运行Python代码,并循序渐进地掌握了Python编程的基本知识点。通过这些知识点的学习,我们将能够更加灵活地控制ROS2节点的行为细节,为后续的ROS2开发打下坚实的基础。
在接下来的课程中,我们将继续深入学习ROS2的功能节点开发,结合Python编程的知识,逐步实现更复杂的机器人应用。
课后作业
练习1:变量和字符串格式化练习
- 要求:
- 提示用户输入姓名和年龄
- 使用f-string格式化方式输出一句问候语
- 计算出100年后的年龄并输出
- 在输出中使用字符串运算符将姓名重复3次
- 练习目的:要求同学们使用input()、int()、f-string等知识点完成练习。
练习2:数据类型和运算符练习
- 要求:
- 提示用户输入两个数字(浮点数)
- 计算并输出这两个数的: 和, 差, 积, 商(保留2位小数).
- 比较这两个数的大小,使用比较运算符输出比较结果
- 练习目的:要求同学们使用float()、算术运算符、比较运算符等知识点完成练习。