इस कोड डालें:नामित उपन्यास _replace के लिए एक अच्छा विकल्प क्या है?
>>> import urlparse
>>> parts = urlparse.urlparse('http://docs.python.org/library/')
>>> parts = parts._replace(path='/3.0'+parts.path)
parts._replace works
लेकिन के रूप में यह एक रेखांकित विधि है, यह आंतरिक होना चाहिए है, और उपयोग नहीं। क्या कोई विकल्प है? मुझे क्या करना नहीं चाहते:
>>> parts = parts[:2] + ('/3.0'+parts.path,) + parts[3:]
कि यह बनाता है क्योंकि एक साधारण टपल, और नहीं एक namedtuple, और कर:
>>> parts = namedtuple(scheme=parts.scheme, netloc=parts.netloc, etc etc)
थोड़े बेवकूफ है। :)
विचार?
Ahaaaa ......... –
AFAIK वहाँ एक पीईपी 'namedtuple' है, जहां एक बहस कर सकते है कि * प्रत्यय लगाना * एक अंडरस्कोर अधिक उचित होगा (ए ला' class_') बस के लिए कभी नहीं था ऐसी गलतफहमी से बचें। – tzot
प्रत्यय एक बेहतर विकल्प हो सकता है हालांकि यह नाम = सही विकल्प के साथ अच्छी तरह से काम नहीं करेगा। एफडब्ल्यूआईडब्ल्यू, नामित कोड को व्यापक रूप से समीक्षा और रिलीज से पहले चर्चा की गई थी। नुस्खा बनाना एक सामुदायिक प्रयास था (http://code.activestate.com/recipes/500261-named-tuples/ देखें) और इसमें पाइथन-देव पर और संशोधन और समीक्षा हुई। –