我正在使用python,自己无法解决这个问题。我定义了变量(Rb)。)在下面的“主文件”中。我导入了'hp文件‘来使用热板功能。( i611Robot,Teachdata,MotionParam,位置包含在“A文件”中)
from hp import *
from A import *
def main():
rb = i611Robot()
data = Teachdata()
m1 = MotionParam(30,20,10,2,2)
position_1 = Position(100,200,100,0,0,0)
...
....
hotplate(rb)
if __name__ == '__main__':
main()这是导入的'hp文件‘。
from A import *
def hotplate(rb) :
rb.motionparam( m1 )
rb.move( position_1 )
.......但问题是当我播放“主文件”时,上面写着
File "main.py" line.., in <module>
main()
File "main/py", line ...., in main
hotplate()
File ".../hotplate.py", in line .., in hotplate
rb.motionparam( m1 )
NameError : global name 'm1' is not defined我已经问过关于如何在hotplate.py中使用rb的问题,并得到了必须将rb放在hotplate()中的答案。这个效果很好。但另一个问题是,有如此多的变量,如rb和m1、position_1等参数,它们将用于hotplate.py文件中。如何使用hotplate.py文件中的所有变量、实例、参数.
发布于 2022-03-16 07:41:10
正如@Barmar已经评论的那样,函数应该从参数中获取它们的信息。
你的代码
你所做的不起作用:
def a():
myVar = "Hello"
b()
def b():
print(myVar)
if __name__ == "__main__":
a()函数b不知道变量myVar,变量超出了作用域。
解决方案
您需要做的是将函数需要的参数传递给函数的参数:
def a():
myVar = "Hello"
b(myVar)
def b(myArg):
print(myArg)
if __name__ == "__main__":
a()输出
Hello在这里了解python函数:https://www.w3schools.com/python/python_functions.asp
https://stackoverflow.com/questions/71493098
复制相似问题