相关疑难解决方法(0)

如果__name__ =="__ main__":怎么办?

怎么if __name__ == "__main__":办?

# Threading example
import time, thread

def myfunction(string, sleeptime, lock, *args):
    while True:
        lock.acquire()
        time.sleep(sleeptime)
        lock.release()
        time.sleep(sleeptime)

if __name__ == "__main__":
    lock = thread.allocate_lock()
    thread.start_new_thread(myfunction, ("Thread #: 1", 2, lock))
    thread.start_new_thread(myfunction, ("Thread #: 2", 2, lock))
Run Code Online (Sandbox Code Playgroud)

python program-entry-point idioms namespaces python-module

5545
推荐指数
36
解决办法
261万
查看次数

为什么要使用def main()?

可能重复:
if __name__== "__main__"什么?

我见过一些使用的代码示例和教程

def main():
    # my code here

if __name__ == "__main__":
    main()
Run Code Online (Sandbox Code Playgroud)

但为什么?是否有任何理由不在文件顶部定义您的函数,然后只在其下编写代码?即

def my_function()
    # my code here

def my_function_two()
    # my code here

# some code
# call function
# print(something)
Run Code Online (Sandbox Code Playgroud)

我只是想知道主要有没有押韵?

python coding-style

545
推荐指数
5
解决办法
69万
查看次数

为什么这样做?if - __name__ =='__ main__'

可能重复:
<if name ==" main ":>做什么?

考虑以下代码:

if __name__ == '__main__':
    import pdb
    pdb.run("interact()\n")
Run Code Online (Sandbox Code Playgroud)

以下行是什么意思?

if(__name__=='__main__')
Run Code Online (Sandbox Code Playgroud)

我昏了过去.

python

8
推荐指数
2
解决办法
4837
查看次数

GitHub上的Python文件结构

我一直在寻找一些关于Python的开源项目,我看到了很多我不熟悉的文件和模式.

首先,很多项目只有一个名为的文件setup.py,通常包含一个函数:

setup(blah, blah, blah)
Run Code Online (Sandbox Code Playgroud)

其次,很多包含一个简单调用的文件,__init__.py旁边没有任何信息.

第三,一些.py文件包含类似于此的语句:

if __name__ == "__main__"
Run Code Online (Sandbox Code Playgroud)

最后,我想知道是否有任何"最佳实践"用于在git存储库中划分Python文件.使用Java,由于类结构,文件分割的想法很自然.使用Python,许多脚本根本没有类,有时一个程序会有OOP方面,但是逐类分类并没有多大意义.它只是"无论是什么使代码最具可读性",还是有某些指导方针?

python

8
推荐指数
1
解决办法
2648
查看次数