我现在正在研究Python算法。我在def constraint()
中生成了一个名为raw_constraint
的字符串,类似于:
def constraint():
val=4
ind=[]
for i in range(1,7):
for j in range(val,val+i):
val = val+1
ind.append(j)
if(i < 6):
boundNode.insert(j, 'x%d' % (j-(2*i+1)))
raw_constraint = str(boundNode[j]) + " + " + str(boundNode[j-(2*(i+1))]) + " <= " + str(boundNode[(j-(2*(i+1))+i)] ) + " + " + str(boundNode[(j-(2*(i+1))+i)+1])
我想在另一个名为constraintBuild()
的模块中对raw_constraint
进行更多操作。我现在想知道如何在名为constraintBuild()
的def
中调用raw_constraint
。
(我在这里假设,当你说"模块"时,你的意思是"函数"。(你要么需要使它成为两个函数都可以访问的全局变量,要么让constraint
将它返回给调用者,然后将它作为参数传递给constraintBuild
。
示例:
raw_constraint = ''
def constraint():
global raw_constraint
# Your code
def constraintBuild():
global raw_constraint
# Your code
或
def constraint():
# Your code
return raw_constraint
def constraintBuild(raw_constraint):
# Your code
# Outer code
raw_constraint = constraint()
constraintBuild(raw_constraint)
后者通常是首选,因为应尽可能避免使用全局变量。