
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(),())<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>