2024-04-26 23:58:34 发布
网友
我在Python上创建了一个函数grid(n)(使用networkx),它返回一个带有“n”节点的简单图。我现在正在尝试创建另一个名为“edge”的函数。我希望“edge”接受grid(n)作为参数,并希望使用edge函数体中的“n”(在grid(n)中)。这可能吗?你知道吗
grid(n)
我试过:
def edge(grid(n)): "function body"
但它给了我一个无效的语法错误?你知道吗
任何帮助都将不胜感激
杰克
定义函数时,应仅指定参数:
def edge(graph): pass
调用函数时,将向其中传递参数:
edge(grid(n))
或者可以编写依赖于“n”参数的边函数:
def edge(n): graph = grid(n) #using graph variable
不可能!!!
在定义方法时,只会提到参数名(而不是值)。因此,典型的方法定义如下:
def fun(param1,param2,...):
请注意,您可以随时提及参数的默认值。
当您编写:def edge(grid(n)):时,grid(n)方法将首先执行,然后它将返回一些对象,但是您应该在定义方法时提供参数名。你知道吗
def edge(grid(n)):
替代:
可以这样定义边方法:
def edge(grid,n): g = grid(n) #do rest of the stuff here !!!!
在上面的代码中,传递grid方法作为第一个参数,然后传递n作为第二个参数。如图所示,始终可以调用grid method inside edge方法。你知道吗
如果调用edge(grid(n)),那么edge将被grid(n)调用。什么是grid(n)?显然这是一个有n个节点的简单图。所以它的反应和你一样
edge
n
G = grid(n) edge(G)
你可以这样做
def edge(fxn, argument): G = fxn(argument) print G.edges()[0] edge(grid,n)
将一个函数作为参数发送给另一个函数。从你的问题我不清楚这是否符合你的意愿。你知道吗
定义函数时,应仅指定参数:
调用函数时,将向其中传递参数:
或者可以编写依赖于“n”参数的边函数:
不可能!!!
在定义方法时,只会提到参数名(而不是值)。因此,典型的方法定义如下:
请注意,您可以随时提及参数的默认值。
当您编写:
def edge(grid(n)):
时,grid(n)方法将首先执行,然后它将返回一些对象,但是您应该在定义方法时提供参数名。你知道吗替代:
可以这样定义边方法:
在上面的代码中,传递grid方法作为第一个参数,然后传递n作为第二个参数。如图所示,始终可以调用grid method inside edge方法。你知道吗
如果调用
edge(grid(n))
,那么edge
将被grid(n)
调用。什么是grid(n)
?显然这是一个有n
个节点的简单图。所以它的反应和你一样你可以这样做
将一个函数作为参数发送给另一个函数。从你的问题我不清楚这是否符合你的意愿。你知道吗
相关问题 更多 >
编程相关推荐