a good swimmer在这里不是指具体的一个人,而是指“游泳健将”这一类人,表示类别所以只能用which。另外还有个例子:
He is not the man that he used to be. 他不再是过去的他了。
这个句子中的the man也不是具体的人,而是某种性格的一类人(比如他以前性格懦弱,现在不这样了),所以用that,不用who。
其实这里的 which 不是指人,而是指人的某种“属性”(具体地说,这种属性包括人的品质、性格、地位等),此时只能用 which,不能用 who。又如:
He is a fool, which you are not. 他傻,你不傻。
He is a cadre, which his sister is not. 他是个干部,他的妹妹就不是了。
She looks like a Russian, which you are not. 她看上去像个俄国人,而你不像。
She thought him a rather annoying child, which he was not. 她认为他是一个相当讨厌的孩子,他并非如此。
She was dressed like an actress, which she was not. 她打扮得像个演员,其实她不是。
Diana is an experienced teacher which her boyfriend was not. 戴安娜是一位经验丰富的教师,而她的男朋友则缺乏经验。
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!