Warum sollten Funktionen außerhalb der Klasse deklariert werden, in denen sie in Python verwendet werden?Was ist der Vorteil zu definieren, eine Funktion außerhalb der Klasse in Python-Programm
Zum Beispiel funktioniert die following project on Github dies mit seinen _hash
, _task_from_taskline
und _tasklines_from_tasks
Funktionen. Das Format ist das gleiche wie die folgenden:
class UnknownPrefix(Exception):
"""Raised when trying to use a prefix that does not match any tasks."""
def __init__(self, prefix):
super(UnknownPrefix, self).__init__()
self.prefix = prefix
def _hash(text):
return hashlib.sha1(text).hexdigest()
def _task_from_taskline(taskline):
"""
snipped out actual code
"""
return task
def _tasklines_from_tasks(tasks):
"""Parse a list of tasks into tasklines suitable for writing."""
return tasklines
Aber ich denke, diese Funktionen haben eine Beziehung mit der Klasse TaskDict
.
Warum sie aus der Klasse setzen? Was ist der Vorteil, wenn sie außerhalb der Klasse deklariert werden?
drehen Sie sich um: Statt Was wäre der Vorteil, sie in der Klasse zu setzen? –
@MartijnPieters Verkapselung. –
@GeorgeStocker: Was ist, wenn die Funktionen keinen Einfluss auf den Instanzstatus haben? –