ما هو البديل أجمل لاستضاعيد _Replace؟
-
19-09-2019 - |
سؤال
خذ هذا الرمز:
>>> 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
ابدأ من خلال السفل الأولي هو فقط لمنع تصادم الاسم. هم لا ينبغي أن يعتبر للاستخدام الداخلي فقط:
لمنع النزاعات مع أسماء الحقول، تبدأ أسماء الأسماء وأسماء السمة مع الشرطة السفلية.
لا تنتمي إلى StackOverflow