But knives/swords are actually really stuffty for self defense.
The winner of a knife fight dies in the hospital, the loser dies on the sidewalk
Why defend yourself within striking distance when a firearm affords you more distance (and thus, more time) to incapacitate any attacker.
You can ask "well what if you're being attacked by someone with a gun?"
The point of carrying a gun for self defense is to give an advantage over those with shorter range while keeping yourself on relatively even footing with those that also have guns.
It's not like criminals follow gun laws either way, so you might as well do what is within the law to protect yourself from them.