2024-05-26 04:24:38 发布
网友
假设我有这个函数签名:
def foo(a=True, b=True, c=True, d=True, e=True):
考虑到所有传递的参数都应该是False,所以我决定用这些方法来调用这个函数:
False
但有些东西告诉我,这将是糟糕的Python风格。你怎么认为?在
如果读起来很难,那就是不好的风格。在
请记住,代码的读写次数要比写的多。在
你的代码应该解释清楚并且易于阅读。Style Guide for Python给出了一个有助于回答您的问题的示例:
Use ''.startswith() and ''.endswith() instead of string slicing to check for prefixes or suffixes.startswith() and endswith() are cleaner and less error prone. Forexample: Yes: if foo.startswith('bar'): No: if foo[:3] == 'bar':
Use ''.startswith() and ''.endswith() instead of string slicing to check for prefixes or suffixes.
startswith() and endswith() are cleaner and less error prone. For
example:
Yes: if foo.startswith('bar'): No: if foo[:3] == 'bar':
我喜欢使用默认值遵循80-20规则。如果一个函数有一个参数的默认值,而我选择使用另一个值,我需要在调用中清楚地表明这一点,因为这是一个重要的信息。在
如果你真的要“违反”五个默认参数,我会在调用中显式地显示这一点,让读者明白。i、 例如,我会按名称显式列出每个参数,并指出错误。在
虽然你写的代码应该可以工作,但它是分散注意力的,而且有人会专注于弄清楚你到底在做什么,而不是意识到重要的一点——你正在进行一个非常特殊的调用,因为你没有接受任何默认设置。这不是拯救(电子)树木的地方。在
如果读起来很难,那就是不好的风格。在
请记住,代码的读写次数要比写的多。在
你的代码应该解释清楚并且易于阅读。Style Guide for Python给出了一个有助于回答您的问题的示例:
我喜欢使用默认值遵循80-20规则。如果一个函数有一个参数的默认值,而我选择使用另一个值,我需要在调用中清楚地表明这一点,因为这是一个重要的信息。在
如果你真的要“违反”五个默认参数,我会在调用中显式地显示这一点,让读者明白。i、 例如,我会按名称显式列出每个参数,并指出错误。在
虽然你写的代码应该可以工作,但它是分散注意力的,而且有人会专注于弄清楚你到底在做什么,而不是意识到重要的一点——你正在进行一个非常特殊的调用,因为你没有接受任何默认设置。这不是拯救(电子)树木的地方。在
相关问题 更多 >
编程相关推荐