verb module¶
- class inflex.verb.Verb[source]¶
Bases:
inflex.term.Term
Class for detecting and converting to verb forms.
- __init__(term: str)[source]¶
Creates a Verb instance with detection and conversion methods.
Examples
>>> verb = Verb("fly") >>> verb.singular() 'flies' >>> verb.past() 'flew' >>> verb.past_part() 'flying' >>> verb.pres_part() 'flown'
>>> verb.is_plural() True
Note
Capitalisation and whitespace will be preserved between input term and generated output.
- Parameters
term (str) – Input word or collocation.
- is_verb() bool [source]¶
Returns True only if this verb is instantiated via Verb(term).
- Returns
Returns True only if this verb is instantiated via Verb(term).
- Return type
bool
- is_singular() bool [source]¶
Detect whether this verb is in singular form.
- Returns
True if this verb is deemed singular.
- Return type
bool
- is_plural() bool [source]¶
Detect whether this verb is in plural form.
- Returns
True if this verb is deemed plural.
- Return type
bool
- singular(person: int = 0) str [source]¶
Returns this verb’s singular form.
- Parameters
person (Optional[int], optional) – Represents the grammatical “person” (1st, 2nd, 3rd). Defaults to 0.
- Returns
This verb’s singular form.
- Return type
str
- plural(person: int = 0) str [source]¶
Returns this verb’s plural form.
- Parameters
person (Optional[int], optional) – Represents the grammatical “person” (1st, 2nd, 3rd). Defaults to 0.
- Returns
This verb’s plural form.
- Return type
str
- lemma() str [source]¶
Return this object’s lemma form.
Examples
>>> Verb('eating').lemma() 'eat'
- Returns
This object’s lemma form.
- Return type
str
- as_regex() Pattern[str] [source]¶
Returns a re.Pattern which case-insensitively matches any inflected form of the verb.
- Returns
- Compiled regex object which case-insensitively matches any inflected form
of the verb.
- Return type
re.Pattern
Examples
>>> Verb('eat').as_regex() re.compile('eats|eating|eaten|eat|ate', re.IGNORECASE)
- static split_prefix(term: str) Tuple[str, str] [source]¶
Split the prefix from the term.
Examples
>>> Verb.split_prefix("unbind") ("un", "bind") >>> Verb.split_prefix("mistake") ("mis", "take") >>> Verb.split_prefix("reappear") ("re", "appear") >>> Verb.split_prefix("use") ("", "use")
- Parameters
term (str) – The input word to potentially split a prefix from.
- Returns
- The first string is the prefix, the second string is the remainder.
If the input does not have a prefix to split, then the first string is empty, while the second string is the full input term.
- Return type
Tuple[str, str]
- static get_subterm(term: str) Tuple[str, str] [source]¶
Extract last sub-section (split by ‘-’) of the first word.
Examples
>>> Verb.get_subterm("aaa-bbb ccc") ('bbb', 'aaa-{} ccc')
- Parameters
term (str) – The input word to potentially split the subterm from.
- Returns
- The first string is the format string, e.g. “aaa-{} ccc”, while
the second string is the last sub-section, e.g. “bbb”.
- Return type
Tuple[str, str]
- past() str [source]¶
Returns this Verb’s past form.
Examples
>>> verb = Verb("fly") >>> verb.past() "flew"
- Returns
This Verb’s past form.
- Return type
str
- pres_part() str [source]¶
Returns this Verb’s present participle form.
Examples
>>> verb = Verb("fly") >>> verb.pres_part() "flying"
- Returns
This Verb’s present participle form.
- Return type
str
- past_part() str [source]¶
Returns this Verb’s past participle form.
Examples
>>> verb = Verb("fly") >>> verb.pres_part() "flown"
- Returns
This Verb’s past participle form.
- Return type
str
- is_past() bool [source]¶
Detect whether this Verb is in past form.
- Returns
True if this Verb is deemed past.
- Return type
bool
- is_pres_part() bool [source]¶
Detect whether this Verb is in present participle form.
- Returns
True if this Verb is deemed present participle.
- Return type
bool
- is_past_part() bool [source]¶
Detect whether this Verb is in past participle form.
- Returns
True if this Verb is deemed past participle.
- Return type
bool
- classical() inflex.term.Term ¶
Returns an object always inflecting in the classical/unassimilated manner.
Examples
>>> Noun('cow').plural() 'cows' >>> Noun('cow').unassimilated().plural() 'kine'
Note
Identical to unassimilated().
- Returns
A Term object, or a subclass thereof.
- Return type
- indefinite(count: Optional[int] = 1) str [source]¶
Return the singular if count == 1, and the plural otherwise.
Examples
>>> verb = Verb("fly") >>> verb.indefinite(count = 1) 'flies' >>> verb.indefinite(count = 3) 'fly'
- Parameters
count (Optional[int], optional) – The number of objects on which this verb applies. Defaults to 1.
- Returns
The singular if count == 1, and the plural otherwise.
- Return type
str
- is_adj() bool ¶
Returns True only if this object is instantiated via Adjective(term).
- Returns
Returns True only if this object is instantiated via Adjective(term).
- Return type
bool
- is_noun() bool ¶
Returns True only if this object is instantiated via Noun(term).
- Returns
Returns True only if this object is instantiated via Noun(term).
- Return type
bool
- unassimilated() inflex.term.Term ¶
Returns an object always inflecting in the classical/unassimilated manner.
Examples
>>> Noun('cow').plural() 'cows' >>> Noun('cow').unassimilated().plural() 'kine'
Note
Identical to classical().
- Returns
A Term object, or a subclass thereof.
- Return type