__init__
Publicado por Eduardo (25 intervenciones) el 22/03/2017 11:00:53
Hola a todos! alguien podría por favor darme una mano con lo siguiente:
En este ejemplo (clases built-in de Biopython) se pueden poner argumentos (por ejemplo "AGTACACTGGT") dentro del paréntesis al instaciar la clase y crear el objeto:
Pero en este ejemplo que yo he creado:
archivo 1: porcentajeGC.py
archivo 2:
si intento poner argumentos al instanciar la clase y crear el objeto:
#genome="ATCGATCGATC" (comento esta línea)
obj=porcentajeGC("ATCGATCGATC")
el resultado es: TypeError: this constructor takes no arguments
y si intento ejecutar en consola:
>>> from Bio.Seq import Seq
>>> obj=Seq()
es decir instanciar la clase sin argumentos me aparece el error:
TypeError: __init__() takes at least 2 arguments (1 given)
¿Por qué se pueden poner argumentos al instanciar en algunos ejemplos y en el que yo he creado no puedo?
y ¿por qué no puedo instanciar la clase sin argumentos ( como en mi ejemplo ) en otros casos?
He estado leyendo sobre __init__ pero ya en la práctica no lo tengo claro.
Ojalá haya sido explícito para facilitar una posible ayuda de vosotros.
Muchas gracias de antemano si alguien puede ayudarme con esto.
Un saludo a todos!!
En este ejemplo (clases built-in de Biopython) se pueden poner argumentos (por ejemplo "AGTACACTGGT") dentro del paréntesis al instaciar la clase y crear el objeto:
1
2
3
4
>>>from Bio.Seq import Seq
>>> my_seq = Seq("AGTACACTGGT")
>>> my_seq
Seq('AGTACACTGGT', Alphabet())
Pero en este ejemplo que yo he creado:
archivo 1: porcentajeGC.py
1
2
3
4
5
6
7
8
class porcentajeGC:
def contadorGC (self,genome):
c=genome.count("C")
g=genome.count("G")
totalGC= (g+c/float(len(genome)))
return totalGC
archivo 2:
1
2
3
4
5
6
from porcentajeGC import porcentajeGC
genome="ATCGATCGATC"
obj=porcentajeGC()
print(obj.contadorGC(genome))
print (len(genome))
si intento poner argumentos al instanciar la clase y crear el objeto:
#genome="ATCGATCGATC" (comento esta línea)
obj=porcentajeGC("ATCGATCGATC")
el resultado es: TypeError: this constructor takes no arguments
y si intento ejecutar en consola:
>>> from Bio.Seq import Seq
>>> obj=Seq()
es decir instanciar la clase sin argumentos me aparece el error:
TypeError: __init__() takes at least 2 arguments (1 given)
¿Por qué se pueden poner argumentos al instanciar en algunos ejemplos y en el que yo he creado no puedo?
y ¿por qué no puedo instanciar la clase sin argumentos ( como en mi ejemplo ) en otros casos?
He estado leyendo sobre __init__ pero ya en la práctica no lo tengo claro.
Ojalá haya sido explícito para facilitar una posible ayuda de vosotros.
Muchas gracias de antemano si alguien puede ayudarme con esto.
Un saludo a todos!!
Valora esta pregunta


0