python3模块导入/命名难题

特拉维斯·格里格斯

我刚刚完成了一个用于Linux的小全Python3 gpio模块gpiolib我玩弄了两种在客户端中命名和导入内容的不同方式:

1个

gpio.py

class GPIOInput(object):
    ...

class GPIOEvent(object):
    ...

class GPIOOutput(object):
    ...

client.py

from gpio import GPIOEvent, GPIOOutput, GPIOInput

irq = GPIOEvent(1, 14)

2

gpio.py

class Input(object):
    ...

class Event(object):
    ...

class Output(object):
    ...

client.py

import gpio

irq = gpio.Event(1, 14)

问题:是否有充分/具体的理由偏爱一个而不是另一个?还是只是偏爱?

(对我而言)没有一个真正快乐的混合体。我喜欢将短名称放在模块内部,但如果在模块外部使用,则确实需要模块名称来限定它们的名称。但是导入gpio,然后引用gpio.GPIOOutput似乎是多余的。

罗伯

PEP8主张gpio.Input(),等等。

还有一种使用短的唯一前缀将相关名称组合在一起的样式。这在Python中使用不多,...

在Python中,这种样式通常被认为是不必要的,因为属性和方法名称以对象为前缀,函数名称以模块名作为前缀。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章