将函数放入python的最佳方法

将函数放入python的最佳方法,python,function,Python,Function,我从Matlab带来了几天的python工作时间,我还有一个疑问: 我有一个matlab程序,在我的m文件末尾定义了很多函数。Matlab识别这些函数,即使我在开始时调用它们,并且它们在代码的底部定义 现在,对于python,我不知道放置函数的最佳方式是什么,因为python在调用函数之前需要知道函数的定义。 我不想为每个函数创建一个新文件。 我想把所有的函数放在一起,但我想不出来。 我希望你能帮助我 Thx,您可以将所有函数放在functions.py中,并将其包含在每个文档中 import

我从Matlab带来了几天的python工作时间,我还有一个疑问:

我有一个matlab程序,在我的m文件末尾定义了很多函数。Matlab识别这些函数,即使我在开始时调用它们,并且它们在代码的底部定义

现在,对于python,我不知道放置函数的最佳方式是什么,因为python在调用函数之前需要知道函数的定义。 我不想为每个函数创建一个新文件。 我想把所有的函数放在一起,但我想不出来。 我希望你能帮助我


Thx,

您可以将所有函数放在functions.py中,并将其包含在每个文档中

import functions

然后,您可以通过添加前缀
函数来调用函数。

您可以将所有函数放在functions.py中,并将其包含在每个文档中

import functions

然后,您可以通过添加前缀
函数来调用函数。

实际上,python不需要您以任何特定顺序声明函数来调用它们

例如,这很好:

def a():
  return b()

def b():
  return 1

a()

实际上,python不需要您以任何特定的顺序声明函数来调用它们

例如,这很好:

def a():
  return b()

def b():
  return 1

a()

拥有所有函数的另一种方法是添加一个函数,该函数可以执行您希望它执行的所有操作:

def main():
    #do stuff
    f()
    g()
    ...
并将其添加到文件末尾:

if __name__ == '__main__':
    main()

仅当您的文件是主文件时,才会执行此操作。如果您从另一个文件导入文件,则它不会执行main()中的所有代码。

拥有所有函数的另一种方法是添加一个函数,该函数可以执行您希望它执行的所有操作:

def main():
    #do stuff
    f()
    g()
    ...
并将其添加到文件末尾:

if __name__ == '__main__':
    main()

仅当您的文件是主文件时,才会执行此操作。如果从另一个文件导入文件,则它不会执行main()中的所有代码。

比预期的容易!准确使用:从函数导入*Thx@t如中所述,您应该避免使用来自函数导入的
*
。@tete,如果您不想调用所有函数(由@robjohncox提到),您可以执行来自
函数导入函数1
。这是推荐的,它被大量使用。比预期的容易!准确使用:从函数导入*Thx@t如中所述,您应该避免使用来自函数导入的
*
。@tete,如果您不想调用所有函数(由@robjohncox提到),您可以执行来自
函数导入函数1
。这是推荐的,并且被大量使用。这是真的,但我不喜欢把函数放在代码的顶部。Thx.同样需要注意的是,如果在
b()
的定义之上调用
a()
,Python会抛出一个异常。这是真的,但我不希望函数位于代码的顶部。Thx.同样需要注意的是,如果在
b()
的定义之上调用
a()
,Python会抛出一个异常。我更喜欢这种方法,因为它不会不必要地创建其他文件。如果需要在模块之间共享函数,您可以随时重构函数。我喜欢这种方式,而且效果也很好。谢谢。对我来说,现在它更像是matlab风格,因为我把主代码放在上面,函数放在文件的末尾。我更喜欢这种方法,因为它不需要创建其他文件。如果需要在模块之间共享函数,您可以随时重构函数。我喜欢这种方式,而且效果也很好。谢谢。对我来说,现在它更像是matlab风格,因为我在上面有主代码,在文件的末尾有函数。