python - 什么是 namedtuples _replace 更好的替代品?

标签 python namedtuple

拿这段代码:

>>> import urlparse
>>> parts = urlparse.urlparse('http://docs.python.org/library/')
>>> parts = parts._replace(path='/3.0'+parts.path)

parts._replace 有效 但由于它是带下划线的方法,因此应该是内部方法,未使用。有其他选择吗?我不想做:

>>> parts = parts[:2] + ('/3.0'+parts.path,) + parts[3:]

因为这使它成为一个普通的元组,而不是一个命名元组,并且做:

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

有点傻。 :)

想法?

最佳答案

namedtuple 的方法以初始下划线开头的原因只是为了防止名称冲突。他们 should not be considered to be for internal use only :

To prevent conflicts with field names, the method and attribute names start with an underscore.

关于python - 什么是 namedtuples _replace 更好的替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2213102/

相关文章:

python - 存储固定 key key :value datasets that are accessed by keys in python?的最佳方式

python - 无法为 namedtuple 的子类设置属性

python - 图像数据的 numpy 形状的维度顺序是什么?

python - 如何在 x 轴上以小时和分钟格式显示所有 x 值的标签

python - 如何在 Windows 上安装 PyGI(Python Gobject Introspection)?

python - Django vs Python2.7 单元测试测试用例?

python - 如何在 MacOSX 上用 pyinstaller 打包 tensorflow?

python - namedtuple 字段名称 : single string or sequence?

python - 通过元组名称将不同命名元组的列表传递给不同的 csv

python - 对 namedtuple 类进行自定义排序