我对在Python中为函数选择名称感到困惑。有时,Python内置函数势在必行,例如:print
function和string method find
。有时它们不是这样的:例如,len
它的名称不是必须的calculate_len
,而type
不是find_type
。
我可以理解,它print
返回了一个我们不使用的值(即None
),并且执行了某项操作(即,它在屏幕上显示了一个字符串),因此其名称势在必行。
但是len
返回一个我们使用并执行某项操作的值(即,计算序列或映射中有多少个项。),其名称不是必须的。另一方面,find
字符串方法(as len
)返回一个我们使用并执行某操作的值,并且它的名称是必要的。
问这个问题的原因是,我将使用Caesar密码对字符串进行加密和解密的脚本进行了审查。审稿人说:
只是一种直觉:函数可以完成任务。因此,一个函数的好名字是势在必行的:我会用
rotate_letter
代替rotated_letter
。
rotated_letter
返回表示由数字旋转的字母的单字母字符串。我不知道有什么更好的,我用rotated_letter
它返回一个值,就像random模块中的randint
function,不是。generate_randint
因此,在这种情况下,我应该如何命名一个返回要使用的值的函数?我应该将名称设为命令性还是仅是名词。在其他情况下,显而易见的是如何执行此操作,例如布尔函数,例如is_even
和is_palindrome
我们将其设为是/否问题,以及仅执行并返回未使用的值(即None
)的函数,例如print
and list方法。sort
。
len
例如,最好将其视为“长度”-您将获得其参数的元级描述。