< >
Home » ROS与Python入门教程 » ROS与Python入门教程-代码风格

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版本。

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros与python入门教程