I carry my scissors and keys as self-defence weapons in my purse at all times because too many are trying to touch my private parts or sexually harass me. Yes, I’m a very beautiful and exotic woman, no indeed I’m not vain, because my ex college mate has been hitting on me for over ten years. It’s especially an ordeal for Asian women because white men fetish, obsess over and stalk us. Been phone sexually harassed lately by a male I’ve trusted wrongly as a friend. But he’s kissed me and touched me without my consent twice on the 2nd meeting and on the 3rd, he’s been saying that I’m a beautiful and exotic woman!
A lot will depend on the law where you live. Somewhere like the UK you'd need to work with the kind of thing you can justify carrying because anything like a knife or pepper spray is against the law. Things like keys and a sharp pencil can work. For a time the key to my front door had a very sharp point on the end. I could have filed it off but decided it had a potential use as a slashing weapon if I ever needed it and, since I could prove to anyone that it was my front door key, it was something nobody could expect me not to carry anywhere I went.
Another thing to consider is how willing you are to actually do something that might cause major harm to someone else. Something like pepper spray will temporarily incapacitate most people without causing long term harm. Some people aren't affected much by it, and some might have a harsher reaction than you might expect. Depending on the law where you live you could also look at a stun gun - these will put something like 50,000 volts though two terminals and from what I gather that will drop just about anybody. They are also designed to be used in close situations - if you can't reach someone you can't use it against them but if they are close enough to be touching you then a zap from the stun gun should drop them. As before, consider what you would actually be willing to do and how willing you are to handle a situation where perhaps someone drops to the ground and hits their head, causing life-altering injury. Even if they deserved it, you still have to live with knowing you did it. Even if you were to stab someone in the leg with a pair of scissors, would you struggle to live with the knowledge that the reason they are confined to a wheelchair is because you stabbed them? Again, even if they deserved it and you acted in self-defense you need to be able to live with that situation.
If someone is close enough to you to be touching you inappropriately then something like a firearm would be unworkable.
Another consideration with carrying any form of weapon is to be sure it won't end up being used against you. If someone is looking to touch you inappropriately and you produce a weapon, if they are able to take the weapon from you the chances are it's not going to end well for you. General advice regarding any weapon is not to reveal it unless you're willing to use it.