Articles of init

¿Puedo tener dos funciones de inicio en una clase de python?

Estoy transfiriendo un código java de geolocalización de http://janmatuschek.de/LatitudeLongitudeBoundingCoordinates#Java (que se muestra a continuación) a python. Se puede inicializar usando dos funciones (desde grados o desde radios). Pensé que podría hacer algo como class geoLocation: _radLat = 0 _radLong = 0 _degLat = 0 _degLong = 0 def fromDegrees(lat, long): #set _radLat, _radLong, _degLat, _degLong […]

Linux bloqueando señales a Python init

Este es un seguimiento de mi otro post Instalación del controlador de señales con Python . En resumen, Linux bloquea todas las señales a PID 1 (incluido SIGKILL) a menos que Init haya instalado un controlador de señales para una señal en particular; como para evitar el pánico del kernel si alguien enviara una señal […]

Python2 y Python3: __init__ y __new__

He leído otras preguntas que explican la diferencia entre __init__ y __new__ pero no entiendo por qué en el siguiente código con python 2: init y Python3: new init El código de muestra: class ExampleClass(): def __new__(cls): print (“new”) return super().__new__(cls) def __init__(self): print (“init”) example = ExampleClass()

Usando objetos propios del módulo en __main__.py

Estoy tratando de acceder a los datos de un módulo desde su __main__.py . La estructura es la siguiente: mymod/ __init__.py __main__.py Ahora, si __init__.py una variable en __init__.py como esta: __all__ = [‘foo’] foo = {‘bar’: ‘baz’} ¿Cómo puedo acceder a foo desde __main__.py ?

¿Hay alguna razón para elegir __new__ sobre __init__ al definir una metaclase?

Siempre he configurado metaclases como esta: class SomeMetaClass(type): def __new__(cls, name, bases, dict): #do stuff here Pero acabo de encontrar una metaclase que fue definida así: class SomeMetaClass(type): def __init__(self, name, bases, dict): #do stuff here ¿Hay alguna razón para preferir uno sobre el otro? Actualización : tenga en cuenta que estoy preguntando sobre el […]

Python multi-herencia, __init__

Con respecto a la herencia múltiple, cuando llamo al super . __init__ , ¿por qué no se llama a la función __init__ de __init__ ? Gracias. class parent(object): var1=1 var2=2 def __init__(self,x=1,y=2): self.var1=x self.var2=y class parent2(object): var4=11 var5=12 def __init__(self,x=3,y=4): self.var4=x self.var5=y def parprint(self): print self.var4 print self.var5 class child(parent, parent2): var3=5 def __init__(self,x,y): super(child, […]

¿Cuál es la diferencia al escribir código en una clase y en def __init __ (self) en Python?

Posible duplicado: Variables dentro y fuera de una función de clase __init __ () Entiendo que cuando se llama a una clase, se ejecutará el código en __init__ antes que nada. Todavía no veo la diferencia entre eso, y escribir el código directamente debajo de la clase. Por ejemplo: class main(): x = 1 def […]

Python, __init__ y auto confusión

Muy bien, así que estaba echando un vistazo a alguna fuente cuando me encontré con esto: >>> def __parse(self, filename): … “parse ID3v1.0 tags from MP3 file” … self.clear() … try: … fsock = open(filename, “rb”, 0) … try: … fsock.seek(-128, 2) … tagdata = fsock.read(128) … finally: … fsock.close() … if tagdata[:3] == ‘TAG’: […]

¿Cuál es el propósito de llamar a __init__ directamente?

Me está costando entender el propósito de algunos códigos que he encontrado. El código tiene una clase Foo , que tiene un método __init__ que toma múltiples argumentos. Por lo que he aprendido de Python hasta ahora, al llamar a Foo(‘bar’) , pasará esta cadena como parámetro a __init__ (que creo que se supone que […]

Clase Numpy Matrix: atributos de constructor predeterminados para la clase heredada

Quiero implementar mi propia clase de matriz que hereda de la clase de matriz de numpy. el constructor de matriz de numpy requiere un atributo, algo como (“1 2; 3 4′”) . En contraste, mi constructor no debería requerir atributos y debería establecer un atributo predeterminado para el superconstructor. Eso fue lo que hice: import […]