相关疑难解决方法(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万
查看次数

Python程序启动

我应该用以下内容启动Python程序:

if__name__ == '__main__':
some code...
Run Code Online (Sandbox Code Playgroud)

如果是这样,为什么?我多次看到它,但对它没有任何线索.

python

19
推荐指数
3
解决办法
2万
查看次数

我不懂Python的主要部分.那是什么东西?

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

所以我启动了pyscripter,我得到了一个文件:

def main():
    pass

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

那是什么?为什么我的程序在没有它的情况下工作?无论如何,这是什么目的?我的代码会在哪里?让我们说一个打印你好世界的功能.那会怎么样?我在哪里打电话给它?

python

16
推荐指数
1
解决办法
1万
查看次数

我应该在 main() 内部还是外部定义函数?

阅读以下内容后,我想我明白将最简单的脚本包装在 main() 函数中的价值。

我应该在 main() 内部还是外部定义所有函数?

有正确或错误的方法吗?两种方法的优缺点是什么?

python program-entry-point code-structure

7
推荐指数
2
解决办法
1万
查看次数

导入将所有功能都包含在 main() 函数中的模块

我读了下面给出的答案:

为什么使用 def main()?

似乎更好的做法(?)main()在创建模块时将所有代码放入函数中以避免在导入时执行它。

但同时,当我将所有函数放入其中main()并想将其导入另一个程序时,我将如何调用所有这些函数?

这样做似乎适得其反,但显然我理解错误,所以我很感激我能得到的任何帮助。

编辑:如果我理解的话,请告诉我,我们不会在 main() 中放置任何实际的函数,它们是单独的函数。里面唯一的东西是它的部分__main__?例如:

程序test.py

def my_function():
    print('Hello')

def my_function2(num):
    return num*num

print('Hi')
Run Code Online (Sandbox Code Playgroud)

修改的test.py

def my_function():
    print('Hello')

def my_function2(num):
    return num*num

def main():    #so it doesn't execute when imported
    print('Hi')
Run Code Online (Sandbox Code Playgroud)

这是您使用的准确方式吗main()

python program-entry-point

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

在Go中创建包的工作流程

我知道Go中的程序是从main函数中作为起点运行的.但我想知道为新包创建功能的工作流程.

例如在python中,我__main__直接调用模块时使用模块.从其他文件导入模块时__main__将被忽略.在开发新模块时,这很有用.

if __name__ == "__main__":
    # Run module code here if module called directly
Run Code Online (Sandbox Code Playgroud)

对于Go我正在使用test.go文件package main以及我的main.go文件来测试我正在创建的包中的函数.

// test.go
package main

import (
    "newpackage"
)

func main() {
    newpackage.MyNewFunc()
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做到这一点,还是标准的工作流程?谢谢.

packages go

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

我正在尝试学习如何编写循环但它似乎没有打印到控制台

我正在练习Python,我正在尝试编写一个循环,但是当我运行它时它不会打印.我通过jupyter笔记本使用Python 2.7.当我运行代码时,它所做的就是启动另一个内核但不打印任何内容.

def main():
    x = 0

    while (x < 5):
        print (x)
        x = x + 1
Run Code Online (Sandbox Code Playgroud)

python

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