@Impossible_PhD I train with bladed weapons (well, blunt ones) every week, and the thought of using them in self-defense is fucking stupid. Like what's the plan here? You get jumped and then expect to have a minute to pull a knife out of your bag? Or walk around with one in your hand whenever you feel unsafe, thus pre-escalating any confrontation? A knife is an offensive weapon, not a defensive one. They only get more people hurt.
No, your first plan should always be to de-escalate and defuse the situation. Keep your hands low, make it clear you're not interested in a fight. Don't brandish anything at anyone.
Your second plan, if you can, is to run. Keep an eye on your escape routes, don't let people back you into a corner.
Only after both those options are exhausted should you turn to fighting. And the only "weapon" I'd recommend is a good stout umbrella. It's not perceived as a weapon, meaning you can still de-escalate with one in your hand. You can give someone a swift knock in the jaw or round the head to daze them, or you knock the knife out of their hand, and then you run.
Self-defense is about getting away safely, not escalating a confrontation into a fight.