Как проверить класс? - PullRequest
       21

Как проверить класс?

0 голосов
/ 17 декабря 2018

Я пытаюсь понять, как проверять классы python3.В следующем примере onto.search_one возвращает объект класса owlready2.entity.ThingClass.Но help() показывает класс как class BTO_0000007(EFO_0001643, EFO_0002888).Почему существует такое расхождение?

help() также показывает, какой метод может печатать такую ​​информацию в командной строке?

 |  Method resolution order:
 |      BTO_0000007
 |      EFO_0001643
 |      EFO_0002888
 |      CL_0000010
 |      MaterialEntity
 |      EFO_0000001
 |      owlready2.individual.Thing
 |      builtins.object


In [1]: from owlready2 import *
   ...: onto = get_ontology('/tmp/EFO.owl')
   ...: onto.load()
   ...: 
Out[1]: get_ontology("http://www.ebi.ac.uk/efo/efo.owl#")

In [2]: print(type(onto.search_one(label="HEK-293 cell")))
<class 'owlready2.entity.ThingClass'>

In [3]: dir(onto.search_one(label="HEK-293 cell"))
   ...: 
Out[3]: 
['__class__',
 '__classcell__',
 '__delattr__',
 '__dict__',
 '__dir__',
 '__doc__',
 '__eq__',
 '__format__',
 '__ge__',
 '__getattr__',
 '__getattribute__',
 '__gt__',
 '__hash__',
 '__init__',
 '__init_subclass__',
 '__le__',
 '__lt__',
 '__module__',
 '__ne__',
 '__new__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__subclasshook__',
 '__weakref__',
 '_equivalent_to',
 '_get_instance_possible_relations',
 '_get_instance_prop_value',
 '_get_is_instance_of',
 '_instance_equivalent_to_changed',
 '_instance_is_a_changed',
 '_name',
 '_set_is_instance_of',
 'differents',
 'generate_default_name',
 'get_equivalent_to',
 'get_inverse_properties',
 'get_iri',
 'get_name',
 'get_properties',
 'iri',
 'is_a',
 'is_instance_of',
 'name',
 'namespace',
 'set_equivalent_to',
 'set_iri',
 'set_name',
 'storid']

In [4]: help(onto.search_one(label="HEK-293 cell"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...