python - 是否通过参数分开方法?
问题描述
你能告诉我A或B哪个更好吗?
我有时会迷失在方法的定义中。
# Both returns same value.
# Only the arguments are difference.
# ------------------
# pattern A
def some_method_by_name(name: str):
record = <SELECT ... WHERE record_name=str>
return record
def some_method_by_id(id: int):
record = <SELECT ... WHERE record_id=id>
return record
# ------------------
# pattern B
def some_method(**kwargs):
if 'id' in kwargs:
record = <SELECT ... WHERE record_id=kwargs.get('id')>
elif 'str' in kwargs:
record = <SELECT ... WHERE record_name=kwargs.get('str')>
else:
raise Exception('wrong!')
return record
我认为'A'很好,因为通过参数分隔方法很容易理解,但我认为它很冗长。
谢谢。
解决方案
推荐阅读
- android - 更改 xml 时预览不更新
- asp.net - 发布到 IIS 7 后,Web Api 2 Post 方法生成内部服务器错误?我该怎么办?
- android - 如何使用活动结果将图像从片段上传到 Firebase?(科特林)
- c# - 接收到的静态串行数据中的非静态控制c#
- python - Kivy 应用程序在 Android 上崩溃
- r - 在 ggplot 上使用 input$
- ios - 带有可扩展栏的 UINavigationController
- java - 构建 presto 时出现异常
- swift - 从快速关闭中获取数据
- javascript - discord.js 如何运行一个函数然后打印答案