python内函数名加括号和不加括号的区别

 我来答
从空去听8
2017-10-30 · TA获得超过7442个赞
知道大有可为答主
回答量:6907
采纳率:93%
帮助的人:5791万
展开全部
  • import thread  

  • import time  

  • def loop1():  

  • print  time.ctime()  

  • time.sleep(2)  

  • print time.ctime()  

  • def loop2():  

  • print  time.ctime()  

  • time.sleep(4)  

  • print  time.ctime()  

  • if __name__ == '__main__':  

  • thread.start_new_thread(loop1(),())<pre name="code" class="python">import thread  

  • import time  

  • def loop1():  

  • print  time.ctime()  

  • time.sleep(2)  

  • print time.ctime()  

  • def loop2():  

  • print  time.ctime()  

  • time.sleep(4)  

  • print  time.ctime()  

  • if __name__ == '__main__':  

  • thread.start_new_thread(loop1(),())  

  • thread.start_new_thread(loop2(),())  

  • time.sleep(6)  

  • </pre><br>  

  • thread.start_new_thread(loop2(),()) time.sleep(6)  

  • <pre></pre>  

  • <br>  

  • <p>TypeError: first arg must be callable</p>  

  • <p><br>  

  • </p>  

  • <p>返回的错误结果是这个,表示调用的要是一个可  支  配  的函数</p>  

  • <p><br>  

  • </p>  

  • <p><br>  

  • </p>  

  • <p>后来我把代码改成了这样</p>  

  • <p> </p>  

  • <p></p><pre name="code" class="html">import thread  

  • import time  

  • def loop1():  

  • print  time.ctime()  

  • time.sleep(2)  

  • print time.ctime()  

  • def loop2():  

  • print  time.ctime()  

  • time.sleep(4)  

  • print  time.ctime()  

  • if __name__ == '__main__':  

  • thread.start_new_thread(loop1,())  

  • thread.start_new_thread(loop2,())  

  • time.sleep(6)  

  • </pre><br>  

  • <br>  

  • <p></p>  

  • <p>将thread后面调用的函数名改成了 loop1( 原来是loop1()),</p>  

  • <p>在python中,函数名加(),表示返回的是一个函数的结果,不加括号表示的是对函数的调用。</p>  

  • <p><br>  

  • </p>  

  • <p><br>  

  • </p>  

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式