应该在什么时候定义Python函数?

时间:2016-05-11 14:06:20

标签: python function compiler-errors telegram-bot python-telegram-bot

我环顾四周,并不知道该怎么办。在我调用它之后,我的函数没有定义。我认为它可能是愚蠢的东西,但我无法找到它。

def function1():
    global tobegrouped
    if(len(tobegrouped) >= 2): 
        print(len(tobegrouped)) 
        prs1 = random.choice(tobegrouped)
        print("got prs1")
        prs2 = random.choice(tobegrouped)
        print("got prs2")
        newgroup = group(prs1, prs2)
        print("made group")
        global groups
        groups.append(newgroup)
        print("appended to group")
        newgroup.send_message("Welcome to robinbot, have fun, and don't spam", self)
    else :
        print("no group ready yet")

这就是我所说的。我已经检查了它过去文件中函数的定义。

if command == '/start':
        #   MAYBE CHECK IF IN GROUP HERE
        global tobegrouped
        tobegrouped.append(chat_id)
        print("in to be grouped")
        self.sendMessage(chat_id, "welcome to robin, please wait to be grouped")
        print("sent message")
        function1()
        print("function1s working")

以下是您需要的错误

enter image description here

编辑:文本错误

  

文件" bot.py",第133行,在on_chat_message

     

功能1()

     

NameError:name' function1'未定义

     

追踪(最近一次呼叫最后一次):

     

文件" bot.py"第223行,(模块)

     

time.sleep(10)

1 个答案:

答案 0 :(得分:0)

错误发生在第133行,可能是在最终从第223行调用的某个函数中(如果我正确地解释你的代码片段)。显然,在您的代码到达第223行时,{em}未定义function1()

如果function1()出现在同一文件的第223行之前,则必须在另一个限定其定义范围的函数(或可能是类)中定义它。或者,定义可能位于ifFalse内,或者某些块。{1}}。 Python函数定义是普通代码,因此可以在不执行它们的情况下通过它们。

相关问题