We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent c8c2eec commit 2dc9b9eCopy full SHA for 2dc9b9e
contents/Python/cmdline/fire-1.md
@@ -31,11 +31,11 @@ pip install fire
31
32
回忆下使用 `argparse`、`docopt` 和 `click` 实现命令行程序的步骤:
33
34
-- 对于 `argparse` 来说,要先设置解析器,再定义参数,再解析命令行,最后实现业务逻辑
35
-- 对于 `docopt` 来说,要先定义定义接口描述,再解析命令行,最后实现业务逻辑
36
-- 对于 `click` 来说,就是实现业务逻辑和通过装饰器的方式定义参数
+- 对于 `argparse` 来说,要先设置解析器,再定义参数,再解析命令行,最后实现业务逻辑(四步)
+- 对于 `docopt` 来说,要先定义定义接口描述,再解析命令行,最后实现业务逻辑(三步)
+- 对于 `click` 来说,就是实现业务逻辑和通过装饰器的方式定义参数(两步)
37
38
-它们的实现步骤越来越简单,从四步简化到了两步。而今天的主角 `fire` 则是跟进一步,只需实现业务逻辑就够了。
+它们的实现步骤越来越简单,从四步简化到了两步。而今天的主角 `fire` **只需一步,现业务逻辑就够了。**
39
40
这简直简单的不可思议,为什么这样做就够了?我们不妨考虑下 Python 中的函数,函数是不是可以对应一个命令行程序,而函数的参数可以对应命令行程序的参数和选项呢?再看看 Python 中的类,一个类是不是可以对应一个命令行程序,而类中的每个实例方法就可以对应子命令,实例方法中的参数就是对应子命令的参数和选项。
41
0 commit comments