I have taught English for 3 years.
表示教英语这动作从过去某时开始持续了多久。
I have been teaching English for 3 years.
表示教英语这动作从过去某时延续到现在,也可能还要持续下去.
现在完成时,I have taught English for 3 years 过去三年教英语,现在可能教其他,或者转行了
现在完成进行时,I have been teaching English for 3 years过去三年教英语,现在仍然教英语
两者都表示已经做了的事情,但重点是对现在的生活产生一定的影响
I have taught English for 3 years.表示结果:我教了三年英语。(现在可能不教了,也可能还在教)。
I have been teaching English for 3 years. 表示三年来一直在教英语。(这动作延续到现在)(现在还在教)。
I have taught English for 3 years.表示结果:我教了三年英语。(现在可能不教了)。
I have been teaching English for 3 years. 表示教英语这动作延续到现在,(现在还在教)。