我有一个 Python 函数,它需要一些参数,其中之一是要执行的模拟类型。例如,选项可以是“solar”、“view”或“both.
允许用户设置这些的 Pythonic 方法是什么?
我可以看到各种选项:
使用字符串变量并检查它 - 所以它将是
func(a, b, c, type='solar')
在类中设置一些常量并使用
func(a, b, c, type=classname.SOLAR)
如果只有两个选项(就像我的一些函数一样),通过使用诸如
func(a, b, c, do_solar=False)
之类的东西来强制它进入 True/False 参数,让它使用“view”选项。
对 Pythonic 方式的任何偏好(或其他想法)?
原文由 robintw 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果 Niklas 在 他的回答 中提出的观点不成立,我会使用字符串参数。标准库中有使用类似参数的 Python 模块。例如
csv.reader()
。请记住在函数内部给出一个合理的错误,这可以帮助人们在输入错误的内容时解决问题。