有两个函数:init 和 set_info。(完整的视觉显示在最后)
class DefaultNode(object):
def __init__(self, node_name, node_pre= None, node_next = None,
act_func='sign', agg_func='sum', bias=0.0, response=1.0, node_type=None):
...
def set_info(self, node_pre= None, node_next = None, act_func='sign',
agg_func='sum', bias=0.0, response=1.0):
...
Set_info 函数有许多默认参数值。我不想重写那些在初始化过程中给出的参数。换句话说,如果要使用set_info设置参数之一,则其他参数应保持不变。
例如,
temp_node = DefaultNode("givenname", node_pre = PRE)
temp_node.set_info("changedname")
temp_node 的“node_pre”参数在初始化时应该是“PRE”,而不是被函数“set_info”中的默认参数替换,即
node_temp.node_pre != sign
问题很简单:如何实现它?
谢谢~
class DefaultNode(object):
def __init__(self, node_name, node_pre= None, node_next = None, act_func='sign', agg_func='sum', bias=0.0, response=1.0, node_type=None):
self.node_name = node_name
self.node_pre = node_pre
self.node_next = node_next
self.act_func_name = act_func
self.agg_func_name = agg_func
if act_func == "sign":
self.act_func = signmus_activation()
if agg_func == 'sum': # sign 和sum 是作为一个初始标记使用
self.agg_func = sum
self.bias = bias
self.response = response
self.node_type = node_type
def set_info(self, node_pre= None, node_next = None, act_func='sign', agg_func='sum', bias=0.0, response=1.0):
self.node_pre = node_pre
self.node_next = node_next
self.act_func_name = act_func
self.agg_func_name = agg_func
if act_func == "sign":
self.act_func = signmus_activation()
if agg_func == "sum":
self.agg_func = sum
self.bias = bias
self.response = response
神不在的星期二
相关分类