我刚刚完成了一个基于Linux gpiolib
的小型全Python3 gpio模块。在客户端,我尝试过两种不同的方式来命名和导入模块:
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似乎有些冗余。
from gpio import *
这样的事情,那么就采用GPIO
前缀方案吧。 - mustachioedimport *
是一种从未被鼓励的做法,除了在repl
中。 - Travis Griggs