def __init__(self, declension, usual_conjugation, number, gender, person_groups): # Personal pronoun, augmented with number for uniform conjugation. # # Conflates person, number, gender, and a little bit more (eg, WHO vs # WHOEVER, THEY1 vs ONE vs HE, etc). self.declension = declension assert Declension.is_valid(self.declension) # Form used when conjugating verbs (3 persons x 2 numbers). self.usual_conjugation = usual_conjugation assert Conjugation.is_valid(self.usual_conjugation) # Number: singulr or plural. # # This is about the count of the underlying thing(s) in question, not # grammatical number. self.number = number assert N2.is_valid(self.number) # Gender: male, female, neuter, any (None). self.gender = gender if self.gender: assert Gender.is_valid(self.gender) # List of possible groupings of person it could refer to. # # Only WE and YOU2 have multiple options. self.person_groups = person_groups for pg in self.person_groups: for p in pg: assert Person.is_valid(p)
def __init__(self, person, number, gender): self.person = person self.number = number self.gender = gender assert Person.is_valid(self.person) assert N2.is_valid(self.number) assert Gender.is_valid(self.gender)