He's generally well behaved - the usual three year old stuff I suppose. But this is really bothering me. He's obviously heard the word and knows that it describes something bad, but he constantly uses it and speaks to me in a very disrespectful way. I've tried a few ways of dealing with it, including ignoring and explaining that it's a word which hurts people's feelings, and could be substituted for 'silly'. I don't have a problem with him using the word, but don't think it should be aimed at people, which I have also explained to him.
He sometimes says it to me in anger, or sometimes just because he's irritated or any reason, really. A very common one is something like "Could you please take your shoes off?", "No, stupid".
Being called stupid twenty times a day is really starting to get to me. How would you deal with this?