在这种特殊情况下,哪个内置函数应该先出现?

Which built-in function should come first in this particular case?

在程序的这个特定部分,我真的不明白为什么 .startswith 函数不是第一个使用的函数:

for line in fhand:
    line = line.rstrip()
    if not line.startswith('From ') : continue
    words = line.split()
    print words[2]

我的意思是,这不是比在开头剥离每一行更快吗?为什么或者为什么不?

这不是第一个,因为您的行可能以空格结尾。考虑以下字符串:

"From somebody"
"From "

您在上面发布的版本删除了尾随空格,分别留下 "From somebody""From"。对于第二个字符串,startswith 现在 returns False 而不是 True,因为您的版本具有交换功能。

我想这是某种形式的验证,即在 "From " 部分之后有实际内容,与空格相比,它不会被删除。