问题描述
我想要讲d3.js中的一段代码转成python,然后遇到了一个问题,就是js中可以不传递参数值接把函数像变量一样使用。我这边python中不知道该如何实现相同的功能。
下面是这段js代码。
function quadtree(nodes, x, y) {
var tree = new Quadtree(x == null ? defaultX$1 : x, y == null ? defaultY$1 : y, NaN, NaN, NaN, NaN);
return nodes == null ? tree : tree.addAll(nodes);
}
这段js代码中使用到的defaultX$1和defaultY$1都是函数,定义是这样的:
function defaultX$1(d) {
return d[0];
}
function defaultY$1(d) {
return d[1];
}
1 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
Python 也是可以的啊。
你的问题可能是 Python 不支持 标识符 里有 $ 符号。
你的函数名带 $ ,把 $ 去掉。
# 不知道你的类内容是什么,写了空的 __init__ 和 addAll
class Quadtree:
def __init__(self, a1, a2, a3, a4, a5, a6):
pass
def addAll(node):
pass
def defaultX1(d):
return d[0]
def defaultY1(d):
return d[1]
def quadtree(nodes, x, y):
tree = Quadtree(
defaultX1 if x == None else x,
defaultY1 if y == None else y,
None, None, None, None
)
return tree if nodes == None else tree.addAll(nodes)
添加回答
举报
0/150
提交
取消