ROS与Python入门教程-代码风格
ROS与Python入门教程-代码风格
说明
- 本节介绍在ROS下Python的代码风格
代码风格
Python官方的代码风格说明
核心摘要:
- package_name
- ClassName
- method_name
- field_name
-_private_something - self.__really_private_field
- _global
- 4 space indentation
Loader(装载器)
- 只针对rosbuild/rosmake使用,catikin不需要
- 通过如下方式导入依赖:
import roslib
roslib.load_manifest('your_package_name')
- roslib查找Manifest文件,增加依赖到Python路径。
- 不能多次调用load_manifest
Package/Module Names(包名/模块名) (init.py 文件)
- 所有Python代码必需放在一个模块的命名空间。
- ROS导出源码到依赖所在的路径,因此不能跟其他人的导入冲突。
- 推荐使用模块名作为包名
- 推荐两种代码结构:
- 不带msg/srvs:
packagename
|- src/
|- packagename.py
|- scripts/
|- non-exported python files
- 带msgs/srvs
packagename
|- src/
|- packagename/
|- __init__.py
|- yourfiles.py
|- scripts/
|- non-exported python files
- 不了解init.py, 请看init.py说明
- 针对msg/srv,需要python生成器来生成,并放进包的命名空间里。
- 一些特殊情况,你不能放源码在src目录(如第三方代码)。你可以编辑mainfest文件来覆盖python导出包的路径。
Node Files(节点文件)
- 在ROS里,节点类型名与执行名称是相同的。意思就是脚本名就是节点名。
- 如果您的节点是简单的,这个脚本可能包含它的整个代码。否则,该节点的文件可能会
import packagename
,再调用代码。 - 注意:我们提倡独立出可通用和可重用的特定代码,并放在src/packagename下。
Indigo的python版本
- Ubuntu 14.04 + indigo 默认使用Python 2.7.6版本。
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号