Мне хотелось бы знать, какой способ написания кода Python будет более питоничным с использованием _ в модулях, классах и методах.
Пример 1:
Код: Выделить всё
import threading as _threading
class Thread(_threading.Thread):
pass
по сравнению с
Код: Выделить всё
from threading import Thread
class MyThread(Thread):
pass
на уровне модуля имеет ли смысл вводить частные переменные в таких методах:
Код: Выделить всё
def my_module_method():
_throw = foo + bar
return _throw
по сравнению с
Код: Выделить всё
def my_module_method():
throw = foo + bar
return throw
Правильно ли я предполагаю, что лучшим использованием частного имени будет запретить экземпляру класса использовать какой-либо частный временный метод, например:
Код: Выделить всё
class MyClass(object):
_my_internal = 0
def _do_not_use_me()
pass
чтобы конечный пользователь этого класса знал, что не следует использовать эти методы непосредственно в:
Код: Выделить всё
foo = MyClass._do_not_use_me()
bar = MyClass._my_internal
Мы будем очень признательны за любые другие советы по общему использованию частных имен.
Подробнее здесь:
https://stackoverflow.com/questions/686 ... -in-python