To add to what others have said, it is completely true that something like kung fu or karate won't help you much in an actual self defense situation. This coming from someone that did medieval martial arts for three years (so swordfighting basically) and tae kwon do (a sport designed to wrok only in tournaments) for two.
It might have worked when these styles were first developed, but it does not now.
Guy has a knife: MAYBE your kung fu will work. A basic self defense class will work better.
Guy has a gun: lolno. Not unless he is a moron and puts it ON your head/back.
There are two things however that are good to take into account:
Apart from self defense, any martial art is a great confidence builder and pretty damn good for general fitness.
To add some usefull other skills to the list:
The book How to Make Friends and Influence People was written in the fifties and you should keep this in mind. If you take it too far you will come off as a creepy salesman. Here's skills you can substitute: