内部函数无法执行/调用

时间:2016-03-01 22:24:37

标签: python python-2.7

我是Python的新手,提前感谢您的帮助。 我在Windows 7操作系统上使用Python v2.x。

我的程序的目标是与机器人交谈(通过Serial)并让机器人移动一些dist。请参阅下面的代码。

import serial

ser = serial.Serial( )
ser.port = 'COM4'
ser = serial.Serial('COM4', 9600, timeout = 0.05)
print ser

def tryIt():
    def runRobot():
        ser.write('testmode on \n')
        ser.write('setmotor lwheeldist 200 speed 100 rwheeldist 200 speed 100 \n')

tryIt()
ser.close()

我觉得有线的是,可以调用'tryIt'函数,但不能调用内部函数'runRobot'。串口通讯没问题。没有错误报告弹出......我很困惑......有什么建议吗?

2 个答案:

答案 0 :(得分:1)

在tryit方法中,您需要调用runrobot。

或者为什么要有嵌套定义?

答案 1 :(得分:1)

因为您刚刚在runRobot()中定义了tryIt(),但您没有调用该函数。如下所述更新tryIt(),它会起作用。

def tryIt():
    def runRobot():
        ser.write('testmode on \n')
        ser.write('setmotor lwheeldist 200 speed 100 rwheeldist 200 speed 100 \n')
    runRobot()