cómo importar solo los métodos de clase en python

Tengo un archivo GP.py del que estoy ejecutando un archivo MyBot.py.

En el archivo MyBot.py, tengo la línea

from GP import * 

Tengo la sospecha de que está importando todo el archivo en lugar de solo los métodos de clase y las descripciones de clase que quiero. En el archivo GP.py, hay código además de las definiciones

No puede importar métodos de clase por separado, tiene que importar las clases. Puedes hacer esto enumerando las clases que quieres importar:

 from GP import class1, class2, class3 

Tenga en cuenta que esto todavía cargará todo el módulo. Esto siempre sucede si importas algo del módulo. Si tiene un código en ese módulo que no desea que se ejecute cuando se importa el módulo, puede protegerlo así:

 if __name__ == "__main__": # put code here 

El código dentro del bloque solo se ejecutará si el módulo se ejecuta directamente, no si se importa.

No se recomienda importar todo desde un módulo. Zen de Python dice “Explicit es mejor que Implícito”

Puede tener algunos efectos secundarios al reemplazar un nombre existente. Siempre debes mantener el control sobre el espacio de nombres.

Puedes importar tus clases y funcionar de esta manera:

 from GP import MyClass, my_function 

Una alternativa es importar el propio módulo.

 import GP GP.my_function() GP.MyClass() 

De esta manera, creas un espacio de nombres para el módulo GP y evitas sobrescribir algo.

Espero que ayude

_single_leading_underscore : _single_leading_underscore débil de “uso interno”. Por ejemplo, from M import * no se importan objetos cuyo nombre comience con un guión bajo.

Use esto en su lugar:

 from GP import SomeClass 

Eche un vistazo a PEP-8 (Pautas de Python) si desea usar import *

Los módulos que están diseñados para su uso a través from M import * deben utilizar el mecanismo __all__ para evitar la exportación de globales

importar * de hecho importar todas las clases, funciones, variables y etc.

Si desea importar solo uso específico de clase

 from GP import class_name 

y que yo sepa no se pueden importar solo métodos de clase

Si quieres importar solo algunos métodos de la clase.

 from GP.MyClass import MyFunction