dir, ayuda Vea el método correspondiente y el uso de la biblioteca de Python

  En el lenguaje Python, cuando se usan algunas bibliotecas, los documentos encontrados en la red no están completos, lo que requiere verificar si el objeto Python correspondiente contiene la función requerida o constante. A continuación se presenta cómo verificar qué atributos están contenidos en el objeto Python, como funciones miembro, variables, etc., donde el objeto Python se refiere a objetos con muchos elementos como clases, módulos e instancias. Aquí, el paquete OpenCV2 Python cv2 se usa como un ejemplo para explicar.
  Debido a que OpenCV se implementa en lenguaje C / C ++, todas las funciones y variables no están empaquetadas para que los usuarios de Python las llamen, y a veces la documentación correspondiente no se encuentra en Internet; también hay dos versiones de OpenCV: OpenCV2 y OpenCV3, estas dos Esta versión también tiene algunas diferencias en las funciones y variables utilizadas.

1. La función dir ()

 dir ( [ objeto ] ) devolverá una lista de todos los atributos válidos del objeto. Los ejemplos son los siguientes:

Código de copia
$ python
Python 2.7.8 (predeterminado, 24 de septiembre de 2015, 18:26:19) 
[GCC 4.9.2 20150212 (Red Hat 4.9.2-6)] en linux2
Escriba "ayuda", "derechos de autor", "créditos" o "licencia" para obtener más información.
>>> importar cv2
>>> mser = cv2.MSER ()
>>> usted (mser)
['__class__', '__delattr__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__sepr__', '__sepr__', '__ __sizeof__ ',' __str__ ',' __subclasshook__ ',' detect ',' empty ',' getAlgorithm ',' getBool ',' getDouble ',' getInt ',' getMat ',' getMatVector ',' getParams ',' getString ' , 'paramHelp', 'paramType', 'setAlgorithm', 'setBool', 'setDouble', 'setInt', 'setMat', 'setMatVector', 'setString']
Código de copia

2. La función vars ()

vars ( [ objeto ] ) devuelve el atributo __dict__ del objeto objeto, donde el objeto objeto puede ser un módulo, clase, instancia o cualquier otro objeto con el atributo __dict__. Por lo tanto, es equivalente a acceder directamente al atributo __dict__. El ejemplo es el siguiente (aquí hay un contraejemplo, no hay atributo __dict__ en el objeto mser):

Código de copia
>>> vars (mser)
Rastreo (llamadas recientes más última):
  Archivo "<stdin>", línea 1, en <module>
TypeError: el argumento vars () debe tener el atributo __dict__
>>> mser .__ dict__
Rastreo (llamadas recientes más última):
  Archivo "<stdin>", línea 1, en <module>
AttributeError: el objeto 'cv2.MSER' no tiene el atributo '__dict__'
Código de copia

3. función de ayuda ()

ayuda ( [ objeto ] ) Llama al sistema de ayuda incorporado. De entrada

>>> ayuda (mser)

El contenido se muestra de la siguiente manera:

Código de copia
Ayuda sobre el objeto MSER:

clase MSER (FeatureDetector)
 El | Orden de resolución del método:
 El | MSER
 El | FeatureDetector
 El | Algoritmo
 El | __builtin __. object
 El |  
 El | Métodos definidos aquí:
 El |  
 El | __repr __ (...)
 El | x .__ repr __ () <==> repr (x)
 El |  
 El | detectar(...)
 El | detectar (imagen [, máscara]) -> msers
 El |  
 El | -------------------------------------------------- --------------------
 El | Datos y otros atributos definidos aquí:
 El |  
 El | __new__ = <método incorporado __new__ de tipo objeto>
 El | T .__ new __ (S, ...) -> un nuevo objeto con tipo S, un subtipo de T
Código de copia

 Presione la tecla h para mostrar la información de ayuda;  presione la tecla q para salir.

4. función type ()

type ( object ) devuelve el tipo de objeto objeto.

>>> tipo (mser)
<tipo 'cv2.MSER'>
>>> tipo (mser.detect)
<escriba 'builtin_function_or_method'>

5. función hasattr ()

hasattr ( objetonombre ) se usa para determinar si el nombre (tipo de cadena) es un atributo del objeto, si devuelve Verdadero, de lo contrario, devuelve Falso

>>> hasattr (mser, 'detectar')
Cierto
>>> hasattr (mser, 'calcular')
Falso

6. función invocable ()

invocable ( objeto ): si el objeto objeto es invocable, devuelve True; de ​​lo contrario, devuelve False. Tenga en cuenta que la llamada puede fallar incluso si devuelve True, pero la llamada debe fallar si devuelve False.

>>> invocable (mser.detect)
Cierto

 Referencias

1. https://stackoverflow.com/questions/2675028/list-attributes-of-an-object

2. https://docs.python.org/2/library/functions.html

Supongo que te gusta

Origin www.cnblogs.com/kaibindirver/p/12758166.html
Recomendado
Clasificación