python - 从python中的另一个函数调用main是否错误
问题描述
我是 python 新手,我一直想知道如果某些条件不适用,从另一个函数调用 main 以基本上重新运行程序是否是不好的做法。
这是一个代码示例。
def main():
userInput = input("Please input a word(\"terminate\" exits): ")
if(len(userInput)>=5):
wordLength(userInput)
else:
wordLength()
def wordLength(word = "Default print"):
if (word != "Terminate"):
print(word)
main()
if __name__ == "__main__":
main()
这是不好的做法,我应该以不同的方式来做吗?也许有一个while循环?
解决方案
你应该在这里使用一个while循环。从另一个函数调用 main 并不是“坏事”,但是这种模式没有被广泛使用,未来的维护者(甚至是假设的维护者)很难阅读和理解。
如果出于同样的原因完全可以避免的话,通常也不建议使用这种类型的循环递归函数调用,以及向堆栈添加更多内存。
请记住,几乎所有已建立的设计规则和模式(包括此处列出的)都存在边缘情况和例外,因此当您认为可能“重新发明轮子”时,最好征求第二意见。
推荐阅读
- angular - 小型项目的Angular 5项目结构
- visual-studio-code - VSCode“将编辑器移动到下一个组”键盘映射在 Windows 上不起作用
- aurelia - Screen Freezing when Setting Multiple Roots
- go - Go 中的函数类型
- javascript - 在 php laravel 中过滤
- java - JDBC 在 Java 程序中无法正常工作
- python-3.x - 正则表达式 - 在 python 中使用 re.sub 将文本中的所有字母变为小写但排除特定字符串?
- android - 将 Observable 结果传递给另一个无穷无尽的 Observable
- docker - 由于 FPM 未在 docker 容器中以 root 身份运行,因此忽略 php_fpm 包中的指令
- python - 为什么哈希会为 API 调用中为输入文件创建的每个新临时文件考虑相同的值?