में कक्षा के कुछ फ़ंक्शन को परिभाषित करने का क्या फायदा है Python में कक्षा के बाहर फ़ंक्शंस को क्यों घोषित किया जाना चाहिए?पायथन प्रोग्राम
उदाहरण के लिए, following project on Github अपने _hash
, _task_from_taskline
, और _tasklines_from_tasks
कार्यों के साथ करता है। प्रारूप में निम्न रूप में ही है:
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
लेकिन मुझे लगता है इन कार्यों वर्ग TaskDict
के साथ एक रिश्ता नहीं है।
उन्हें कक्षा से बाहर क्यों रखा गया? उन्हें कक्षा के बाहर घोषित करने का क्या फायदा है?
बारी उसके चारों ओर है: क्या लाभ कक्षा में उन्हें बजाय डाल करने के लिए हो सकता है? –
@MartijnPieters Encapsulation। –
@ जॉर्जस्टॉकर: क्या होगा अगर फ़ंक्शन का उदाहरण स्थिति पर कोई असर न हो? –