импорт / наименование модуля python3 - PullRequest
0 голосов
/ 25 апреля 2018

Я только что закончил небольшой модуль все-Python3 GPIO для использования с Linux 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 представляется излишним.

1 Ответ

0 голосов
/ 25 апреля 2018

PEP8 указывает на gpio.Input() и т. Д.

Также существует стиль использования короткого уникального префикса для группировки связанных имен.Это мало используется в Python, ...

В Python этот стиль обычно считается ненужным, потому что имена атрибутов и методов имеют префикс перед объектом, а имена функций имеют префикс имени модуля.

...