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