“但是”, “可是”and “只是”。 They are both conjunctions, both indicate transitions, why invent so many of one meaning? What is the difference?
The way I see it, not much. If the sentence in the front has "虽然",then "但是" is your best choice.
eg, 我虽然不喜欢运动,但是我喜欢跳舞。
If we talk about position, "但是" is the one that couldn't follow the subject. That means "但是" always leads to a sentence. But the other two can both before or after the subject.
eg,
1 他不喜欢吃糖,可是我喜欢吃糖。(我可是喜欢吃糖。)
2 他人很好的,只是不会和陌生人相处。(他只是不会和陌生人相处,人还是不错的。)
3 we can't say 我但是不喜欢跳舞。
If we use "只是"as a inflectional conjunctions,then most of the times the front part sentence should be positive.
eg. 1 他很帅气,只是个子有点矮。
2 她平时很努力,只是这次题太难了,所以没有考好。
3 他是个很棒的老师,只是这次公开课紧张了。
We distinguished these three conjunctions today, but I don't want you to become a technical expert, because language is a tool. Don't worry, native speakers can understand you. If you want to sound like a native speaker, then what you need to do more is to talk to a native speaker and practice. If you just want to communicate and read, then I don't think you need to dwell on that. Now take it easy. Let's do some practice.
Fill the gaps we learned using “但是”“可是”“只是”.
1 天气预报说今天下雨,___今天没有下雨。
2 小菊已经十四岁了,___她的身高只有小学二年级孩子那么高。
3 他知道这道题的答案,___不说。
4 我喜欢他,___他不喜欢我。