Primero que nada, Python es un lenguaje impresionante. Este es mi primer proyecto usando Python y ya he hecho una cantidad ridícula de progreso.¿Cómo puedo hacer que este código python sea menos feo
No hay forma de que este código a continuación sea la mejor manera de hacerlo. ¿Cuál es la forma más idiomática de escribir una definición de clase?
class Course:
crn = course = title = tipe = cr_hours = seats = instructor = days = begin = end = location = exam = ""
def __init__(self, pyQueryRow):
self.crn = Course.get_column(pyQueryRow, 0)
self.course = Course.get_column(pyQueryRow, 1)
self.title = Course.get_column(pyQueryRow, 2)
self.tipe = Course.get_column(pyQueryRow, 3)
self.cr_hours = Course.get_column(pyQueryRow, 4)
self.seats = Course.get_column(pyQueryRow, 5)
self.instructor = Course.get_column(pyQueryRow, 6)
self.days = Course.get_column(pyQueryRow, 7)
self.begin = Course.get_column(pyQueryRow, 8)
self.end = Course.get_column(pyQueryRow, 9)
self.location = Course.get_column(pyQueryRow, 10)
self.exam = Course.get_column(pyQueryRow, 11)
def get_column(row, index):
return row.find('td').eq(index).text()
Gracias!
¿No es esto arriesgado? ¿Qué pasa si no escribes mal a un miembro en esa cadena? –
@Assaf Lavie, lo mismo que si escribe mal un nombre de atributo en su código. De cualquier forma, Python no se quejará hasta que intente acceder a un atributo que no existe. Normalmente debe tener pruebas unitarias que detecten esos tipos de errores –