首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python:命名具有两个单词名称的模块。

python:命名具有两个单词名称的模块。
EN

Stack Overflow用户
提问于 2010-05-17 19:56:57
回答 4查看 51.6K关注 0票数 86

我正在尝试将一个包含一个.py源文件的非常简单的模块组合在一起,并且已经遇到了一个障碍。我本来打算叫它scons-config,但import scons-config在Python中不起作用。我找到了这个问题,看了看PEP8风格指南,但有点困惑,它不谈两个字的名字约定。

处理这件事的正确方法是什么?

  • 模块名称: SconsConfig?scons_config?斯克瑞配置?scons.config?
  • 其中单个.py文件的名称:skes-config.py?scons_config.py?

编辑:我确实看到了“不鼓励使用下划线”,这让我陷入了死胡同:我应该使用"sconsconfig“还是"scons_config”(我猜其他的已经过时了)?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-05-17 20:00:00

如果有必要,请始终使用下划线_

使用点.甚至不能工作,否则

代码语言:javascript
运行
复制
from scons.config import whatever

就会崩溃。

但是PEP 8清楚地描述了它:

包和模块名称 模块应该有短的、全小写的名称.如果下划线提高了的可读性,则可以在模块名中使用。Python 包也应该有短的、全小写的名称,尽管使用下划线是不鼓励的。

更新:

直接针对你的问题:我认为sconsconfig很好。它不是太长,也不是很可读的。

但是老实说,如果您使用下划线,并且您的代码将与任何一个决定一起运行,我认为没有人会责怪您。总有一定的水平,你不应该再关心那么多。

票数 96
EN

Stack Overflow用户

发布于 2010-05-17 20:08:00

首先,模块名与单个.py文件的名称相同。在Python中,几个.py文件的集合是一个包。

PEP-8不鼓励用下划线分割包名。在我的站点包目录中,一个快速的峰值显示多个单词名称通常只是一起运行(例如setuptools,sqlalchemy)。

模块名称(即文件名)可以用下划线来划分(我通常会这样做,因为我讨厌一起运行的名称-您可以硬地读它们)。

只使用小写( PEP-8)。这避免了从区分大小写到不区分大小写的文件系统的问题,反之亦然。

票数 23
EN

Stack Overflow用户

发布于 2016-04-19 10:59:26

除了PEP-8之外,您还可以查看原生Python模块是如何处理这个问题的。

如果您要将Python 2的本机模块Python 3进行比较,您会发现官方开发人员的新趋势是避免大写和下划线。例如,Python2中的ConfigParser在Python3中变为configparser

考虑到这一点,最好的做法是避免大写和下划线,只需将单词连接在一起,即sconsconfig

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2852283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档