Skip to content

Instantly share code, notes, and snippets.

@Nnwww
Last active December 18, 2017 06:29
Show Gist options
  • Save Nnwww/302431fb7d698ce12ba15764815f1c26 to your computer and use it in GitHub Desktop.
Save Nnwww/302431fb7d698ce12ba15764815f1c26 to your computer and use it in GitHub Desktop.
A function added inspect.getmember to obtaining method's signatures.
import inspect
def getobjinfos(obj, pred=lambda a: True):
for symbolstr, value in inspect.getmembers(obj, pred):
yield (value, symbolstr , inspect.signature(value)) if inspect.ismethod(value) else (value, symbolstr)
@Nnwww
Copy link
Author

Nnwww commented Dec 18, 2017

e.g. enumerate all methods of a Synset instance in wordnet.

>> list(getobjinfos(wordnet.synsets("america")[0], pred=inspect.ismethod))
[(<bound method _WordNetObject.__eq__ of Synset('united_states.n.01')>,
  '__eq__',
  <Signature (other)>),
 (<bound method _ge_from_lt of Synset('united_states.n.01')>,
  '__ge__',
  <Signature (other, NotImplemented=NotImplemented)>),
 (<bound method _gt_from_lt of Synset('united_states.n.01')>,
  '__gt__',
  <Signature (other, NotImplemented=NotImplemented)>),
 (<bound method _WordNetObject.__hash__ of Synset('united_states.n.01')>,
  '__hash__',
  <Signature ()>),
 (<bound method Synset.__init__ of Synset('united_states.n.01')>,
  '__init__',
  <Signature (wordnet_corpus_reader)>),
 (<bound method _le_from_lt of Synset('united_states.n.01')>,
  '__le__',
  <Signature (other, NotImplemented=NotImplemented)>),
 (<bound method _WordNetObject.__lt__ of Synset('united_states.n.01')>,
  '__lt__',
  <Signature (other)>),
 (<bound method _WordNetObject.__ne__ of Synset('united_states.n.01')>,
  '__ne__',
  <Signature (other)>),
 (<bound method Synset.__repr__ of Synset('united_states.n.01')>,
  '__repr__',
  <Signature ()>),
 (<bound method _WordNetObject._hypernyms of Synset('united_states.n.01')>,
  '_hypernyms',
  <Signature ()>),
 (<bound method _WordNetObject._instance_hypernyms of Synset('united_states.n.01')>,
  '_instance_hypernyms',
  <Signature ()>),
 (<bound method Synset._iter_hypernym_lists of Synset('united_states.n.01')>,
  '_iter_hypernym_lists',
  <Signature ()>),
 (<bound method Synset._needs_root of Synset('united_states.n.01')>,
  '_needs_root',
  <Signature ()>),
 (<bound method Synset._related of Synset('united_states.n.01')>,
  '_related',
  <Signature (relation_symbol, sort=True)>),
 (<bound method Synset._shortest_hypernym_paths of Synset('united_states.n.01')>,
  '_shortest_hypernym_paths',
  <Signature (simulate_root)>),
 (<bound method _WordNetObject.also_sees of Synset('united_states.n.01')>,
  'also_sees',
  <Signature ()>),
 (<bound method _WordNetObject.attributes of Synset('united_states.n.01')>,
  'attributes',
  <Signature ()>),
 (<bound method _WordNetObject.causes of Synset('united_states.n.01')>,
  'causes',
  <Signature ()>),
 (<bound method Synset.closure of Synset('united_states.n.01')>,
  'closure',
  <Signature (rel, depth=-1)>),
 (<bound method Synset.common_hypernyms of Synset('united_states.n.01')>,
  'common_hypernyms',
  <Signature (other)>),
 (<bound method Synset.definition of Synset('united_states.n.01')>,
  'definition',
  <Signature ()>),
 (<bound method _WordNetObject.entailments of Synset('united_states.n.01')>,
  'entailments',
  <Signature ()>),
 (<bound method Synset.examples of Synset('united_states.n.01')>,
  'examples',
  <Signature ()>),
 (<bound method Synset.frame_ids of Synset('united_states.n.01')>,
  'frame_ids',
  <Signature ()>),
 (<bound method Synset.hypernym_distances of Synset('united_states.n.01')>,
  'hypernym_distances',
  <Signature (distance=0, simulate_root=False)>),
 (<bound method Synset.hypernym_paths of Synset('united_states.n.01')>,
  'hypernym_paths',
  <Signature ()>),
 (<bound method _WordNetObject.hypernyms of Synset('united_states.n.01')>,
  'hypernyms',
  <Signature ()>),
 (<bound method _WordNetObject.hyponyms of Synset('united_states.n.01')>,
  'hyponyms',
  <Signature ()>),
 (<bound method _WordNetObject.instance_hypernyms of Synset('united_states.n.01')>,
  'instance_hypernyms',
  <Signature ()>),
 (<bound method _WordNetObject.instance_hyponyms of Synset('united_states.n.01')>,
  'instance_hyponyms',
  <Signature ()>),
 (<bound method Synset.jcn_similarity of Synset('united_states.n.01')>,
  'jcn_similarity',
  <Signature (other, ic, verbose=False)>),
 (<bound method Synset.lch_similarity of Synset('united_states.n.01')>,
  'lch_similarity',
  <Signature (other, verbose=False, simulate_root=True)>),
 (<bound method Synset.lemma_names of Synset('united_states.n.01')>,
  'lemma_names',
  <Signature (lang='eng')>),
 (<bound method Synset.lemmas of Synset('united_states.n.01')>,
  'lemmas',
  <Signature (lang='eng')>),
 (<bound method Synset.lexname of Synset('united_states.n.01')>,
  'lexname',
  <Signature ()>),
 (<bound method Synset.lin_similarity of Synset('united_states.n.01')>,
  'lin_similarity',
  <Signature (other, ic, verbose=False)>),
 (<bound method Synset.lowest_common_hypernyms of Synset('united_states.n.01')>,
  'lowest_common_hypernyms',
  <Signature (other, simulate_root=False, use_min_depth=False)>),
 (<bound method Synset.max_depth of Synset('united_states.n.01')>,
  'max_depth',
  <Signature ()>),
 (<bound method _WordNetObject.member_holonyms of Synset('united_states.n.01')>,
  'member_holonyms',
  <Signature ()>),
 (<bound method _WordNetObject.member_meronyms of Synset('united_states.n.01')>,
  'member_meronyms',
  <Signature ()>),
 (<bound method Synset.min_depth of Synset('united_states.n.01')>,
  'min_depth',
  <Signature ()>),
 (<bound method Synset.name of Synset('united_states.n.01')>,
  'name',
  <Signature ()>),
 (<bound method Synset.offset of Synset('united_states.n.01')>,
  'offset',
  <Signature ()>),
 (<bound method _WordNetObject.part_holonyms of Synset('united_states.n.01')>,
  'part_holonyms',
  <Signature ()>),
 (<bound method _WordNetObject.part_meronyms of Synset('united_states.n.01')>,
  'part_meronyms',
  <Signature ()>),
 (<bound method Synset.path_similarity of Synset('united_states.n.01')>,
  'path_similarity',
  <Signature (other, verbose=False, simulate_root=True)>),
 (<bound method Synset.pos of Synset('united_states.n.01')>,
  'pos',
  <Signature ()>),
 (<bound method _WordNetObject.region_domains of Synset('united_states.n.01')>,
  'region_domains',
  <Signature ()>),
 (<bound method Synset.res_similarity of Synset('united_states.n.01')>,
  'res_similarity',
  <Signature (other, ic, verbose=False)>),
 (<bound method Synset.root_hypernyms of Synset('united_states.n.01')>,
  'root_hypernyms',
  <Signature ()>),
 (<bound method Synset.shortest_path_distance of Synset('united_states.n.01')>,
  'shortest_path_distance',
  <Signature (other, simulate_root=False)>),
 (<bound method _WordNetObject.similar_tos of Synset('united_states.n.01')>,
  'similar_tos',
  <Signature ()>),
 (<bound method _WordNetObject.substance_holonyms of Synset('united_states.n.01')>,
  'substance_holonyms',
  <Signature ()>),
 (<bound method _WordNetObject.substance_meronyms of Synset('united_states.n.01')>,
  'substance_meronyms',
  <Signature ()>),
 (<bound method _WordNetObject.topic_domains of Synset('united_states.n.01')>,
  'topic_domains',
  <Signature ()>),
 (<bound method Synset.tree of Synset('united_states.n.01')>,
  'tree',
  <Signature (rel, depth=-1, cut_mark=None)>),
 (<bound method Synset.__repr__ of Synset('united_states.n.01')>,
  'unicode_repr',
  <Signature ()>),
 (<bound method _WordNetObject.usage_domains of Synset('united_states.n.01')>,
  'usage_domains',
  <Signature ()>),
 (<bound method _WordNetObject.verb_groups of Synset('united_states.n.01')>,
  'verb_groups',
  <Signature ()>),
 (<bound method Synset.wup_similarity of Synset('united_states.n.01')>,
  'wup_similarity',
  <Signature (other, verbose=False, simulate_root=True)>)]

@Nnwww
Copy link
Author

Nnwww commented Dec 18, 2017

(To read documents, you can use help().)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment