問題描述
我想要講d3.js中的一段代碼轉(zhuǎn)成python,然后遇到了一個問題,就是js中可以不傳遞參數(shù)值接把函數(shù)像變量一樣使用。我這邊python中不知道該如何實現(xiàn)相同的功能。
下面是這段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都是函數(shù),定義是這樣的:
function defaultX$1(d) {
return d[0];
}
function defaultY$1(d) {
return d[1];
}
1 回答

斯蒂芬大帝
TA貢獻1827條經(jīng)驗 獲得超8個贊
Python 也是可以的啊。
你的問題可能是 Python 不支持 標(biāo)識符 里有 $ 符號。
你的函數(shù)名帶 $ ,把 $ 去掉。
# 不知道你的類內(nèi)容是什么,寫了空的 __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
提交
取消