Acabo de pasar el último semestre en Uni learning python. Realmente lo disfruté y esperaba algunos consejos sobre cómo escribir más código "pitónico".Codificando el modo Python
Esta es la clase __init__
de una tarea reciente que hice. En el momento en que lo escribí, estaba tratando de descifrar cómo podía volver a escribir esto usando lambdas, o de una manera más ordenada y más eficiente, pero me quedé sin tiempo.
def __init__(self, dir):
def _read_files(_, dir, files):
for file in files:
if file == "classes.txt":
class_list = readtable(dir+"/"+file)
for item in class_list:
Enrol.class_info_dict[item[0]] = item[1:]
if item[1] in Enrol.classes_dict:
Enrol.classes_dict[item[1]].append(item[0])
else:
Enrol.classes_dict[item[1]] = [item[0]]
elif file == "subjects.txt":
subject_list = readtable(dir+"/"+file)
for item in subject_list:
Enrol.subjects_dict[item[0]] = item[1]
elif file == "venues.txt":
venue_list = readtable(dir+"/"+file)
for item in venue_list:
Enrol.venues_dict[item[0]] = item[1:]
elif file.endswith('.roll'):
roll_list = readlines(dir+"/"+file)
file = os.path.splitext(file)[0]
Enrol.class_roll_dict[file] = roll_list
for item in roll_list:
if item in Enrol.enrolled_dict:
Enrol.enrolled_dict[item].append(file)
else:
Enrol.enrolled_dict[item] = [file]
try:
os.path.walk(dir, _read_files, None)
except:
print "There was a problem reading the directory"
Como puede ver, es un poco voluminoso. Si alguien tiene el tiempo o la inclinación, realmente agradecería algunos consejos sobre algunas de las mejores prácticas de Python.
Gracias.
Nota: esto era parte de un módulo llamado 'enrol', que contiene la clase' Enrol' para la cual este es el '__init__' –
parece que tienes un compañero de clase: http://stackoverflow.com/questions/2943396/python -Necesitar algo de ayuda –
Este aspecto s * notablemente * como http://stackoverflow.com/questions/2943396/python-need-some-help – Johnsyweb