سؤال

خذ هذا الرمز:

>>> 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:]

لأن هذا يجعلها tuple عادية، وليس namedtuple، والقيام به:

>>> parts = namedtuple(scheme=parts.scheme, netloc=parts.netloc, etc etc)

هو غبي كيندا. :)

الأفكار؟

هل كانت مفيدة؟

المحلول

سبب طرق namedtuple ابدأ من خلال السفل الأولي هو فقط لمنع تصادم الاسم. هم لا ينبغي أن يعتبر للاستخدام الداخلي فقط:

لمنع النزاعات مع أسماء الحقول، تبدأ أسماء الأسماء وأسماء السمة مع الشرطة السفلية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top