Three ways to add pronoun method/property to gendered class in Python
I usually try to use data structure over code whenever it's possible.
It usually make things shorter, easier to read and easier to update.

If I had to write such a thing, I'd probably write something like (untested code but just to show the idea) :

pronouns = {
    'male' =&gt; ("he","his"),
    'female' =&gt; ("she", "her")
}

def pronoun(self, possessive=False):
    return pronouns.get(self.gender, default=("they","their"))[possessive]


If we could be sure that self.gender has only 3 different values, the default value could be put in the pronouns dictionnary straightaway (associated to "plural" for instance).

Different variations could be written. I guess one could use defaultdict to ensure that we always retrieve the default value. I don't like this solution that much as the dictionnary would get bigger as we try to retrieve using invalid keys.

I don't know if there's a (simple) way to have a dictionnary which returns a default value when the key is not present without updating the dictionnary but I'd be interested in such a thing.