python – namedtuple和可选关键字参数的默认值
作者:互联网
我正在尝试将一个冗长的空洞“数据”类转换为一个命名元组.我的班级目前看起来像这样:
class Node(object):
def __init__(self, val, left=None, right=None):
self.val = val
self.left = left
self.right = right
转换为namedtuple后,它看起来像:
from collections import namedtuple
Node = namedtuple('Node', 'val left right')
但这里有一个问题.我的原始类允许我传入一个值,并使用命名/关键字参数的默认值来处理默认值.就像是:
class BinaryTree(object):
def __init__(self, val):
self.root = Node(val)
但是这对我重构的名为元组的情况不起作用,因为它希望我传递所有字段.我当然可以将Node(val)的出现替换为Node(val,None,None),但这不符合我的喜好.
那么有没有一个好的技巧可以让我的重写成功而不会增加很多代码复杂性(元编程)或者我应该吞下药丸并继续“搜索和替换”?
标签:optional-arguments,python,default-value,namedtuple 来源: https://codeday.me/bug/20190925/1816853.html