gpt4 book ai didi

python模块导入语法

转载 作者:太空宇宙 更新时间:2023-11-03 14:24:35 25 4
gpt4 key购买 nike

我正在自学 Python(我有使用其他语言的经验)。

我找到了一种导入“模块”的方法。在 PHP 中,这将被命名为包含文件。但我想 Python 将其命名为模块。我正在寻找一种简单的最佳实践方法。我可以稍后再看。但现在,我正在努力保持简单,同时不养成坏习惯。这是我所做的:

  1. 我创建了一个名为 __init__.py 的空白文件,我将其存储在 Documents(Mac 上的文件夹)中

  2. 我创建了一个名为 myModuleFile.py 的文件,我将其存储在 Documents 中

  3. 在 myModuleFile.py 中,我创建了一个函数:

    def myFunction()
    print("hello world")
  4. 我创建了另一个文件:myMainFile.py,我将其存储在 Documents 中

  5. 在此文件中,我输入了以下内容:

    import myModuleFile.py

    myModuleFile.myFunction()

当我在终端上运行时,它成功地将“hello world”打印到控制台。

对于我当前的简单工作流程,这是执行此操作的最佳做​​法吗?

我不确定圆点表示法是指好事还是坏事。如果我尝试使用 myFunction() 而不是 myModuleFile.myFunction(),它会抛出错误。我觉得这会很好。如果有第二个导入模块,它会知道从 myModuleFile 而不是另一个调用 myFunction()。所以点符号让每个人都知道您正试图从哪个文件调用函数。

我认为有一些高级的东西使用 sys 或某种奇特的配置东西。但我希望我的这种简单的小方法暂时没问题。

感谢您对此的任何澄清。

最佳答案

对于您的导入,您不需要“.py”扩展名

您可以使用:

import myModuleFile
myModuleFile.myFunction()

或者

from myModuleFile import myFunction
myFunction()

如果您导入模块的多个函数或全局变量,则最后一个语法很常见。

除了使用“main”函数,我会把它放在你的模块上:

from myModuleFile import myFunction

if __name__ == '__main__':
myFunction()

否则主要代码可能会在导入或其他情况下执行。

我将只为 myModuleFile.py 和 myMainFile.py 使用一个模块,使用之前的模式让您知道您的模块是从命令行调用还是作为导入调用。

最后,我会更改您的文件的名称以避免 CamelCase,也就是说,我会将 myModuleFile.py 替换为 my_module.py。 Python 喜欢小写字母 ;-)

关于python模块导入语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22575172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com