1. 基本区别
三者都可表示“除外”,但 besides 表示一种累加关系,意指“除了什么之外,还有……”;而 except 或 but 则表示一种排除关系,意指“除了什么之外,不再有……”。如:
Besides his wife,his daughter also went to see him. 除他妻子外,他女儿也去看过他。(即妻子女儿都去看过他)
Nobody went to see him except [but] his wife. 除他妻子外,没有一个人看过他。(即只有他妻子去看过他)
注:在否定句中,besides 也表示“除……之外不再有……”,与but, except 同义。如:
No one passed the exam besides [except] Jim. 除吉姆外,没一个人通过考试。
2. but 与except
两者都可表示“除……外不再有……”,但含义上略有差别:but侧重指意义的几乎完整性,而 except 则侧重指后面除去的部分。比较:
All are here but one. 除一个人外都到了。
All are here except one. 还有一个人没到。
在现代英语中, but 的介词用法十分有限,一般说来,它只能用在下列词语之后:no, no one, nobody, nothing, nowhere 等;any, anyone, anybody, anything, anywhere 等;every, everyone, everybody, everything, everywhere等;all, none等;who, what, where等。如:
Everyone knows it but you. 除你之外大家都知道。
I haven’t told anybody but you. 除你之外,我没告诉任何人。
No one but he [him] showed much interest in it. 除他之外没有一个人对此有很大兴趣。
一般说来,若没有出现上述词汇,就不宜使用介词 but,否则可能造成错句。但是 except 却没有以上限制。比较:
除夏天外,这扇窗户从不打开。
正:The window is never opened except in summer.
误:The window is never opened but in summer.
3. 用于句首时
but 一定不能用于句首,except 通常不用于句首。如:
除我之外每个人都累了。
正:Everyone is tired but (except) me.
正:Everyone but (except) me is tired.
误:But (Except) me, everyone is tired.
注:except for 可用于句首,表示 except 的意思。如:
正:Except for me, everyone is tired.
4. except 与 except for
except 主要用来谈论同类的东西,而 except for 则主要用来谈论不同类的东西,有时含有惋惜之意。如:
All compositions are well written except yours. 除了你的作文外,其他的作文都写得很好。
His composition is good except for a few spelling mistakes. 他的作文写得不错,只是有几处拼写错误。
注:若用于句首,则 except for 与 except 同义(但 except 通常不用于句首)。
5. except for 与 but for
except for 主要表示排除,but for 主要表示一种虚拟条件(与虚拟语气连用)。如:
Except for me, everyone passed the exam. 除了我之外,大家都通过了考试。
But for my help, she would not have passed the exam. 若不是我的帮助,她就不会通过考试。
But for the atmosphere, plants would die. 如果没有大气,植物就会死亡。