在看绘制决策树代码时候看到作者这么用, 这个稍微有点违反了我的感觉, 伪代码大概如下:
def plot_tree(tree):
fig_size = plot_tree.fig_size
offset = plot_tree.offset
plot_tree.offset = some_func(fig_size, offset) # 这里给函数指定了 attr
for key in tree.keys():
if isinstance(tree[key], dict):
plot_tree(tree[key])
else:
plot_node(tree[key])
def main():
tree = make_tree()
plot_tree.fig_size = size_func(tree) # 这里给函数指定了 attr
plot_tree.offset = offset_func(tree) # 这里给函数指定了 attr
plot_tree(tree)
我觉得似乎把属性作为参数传递更符合大部分人阅读习惯?
还是我段位不够?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.