Tôi vừa dành nửa học kỳ cuối cùng tại Uni learning python. Tôi đã thực sự rất thích nó, và đã hy vọng cho một vài lời khuyên về cách viết thêm mã 'pythonic'.Mã hóa cách Python
Đây là lớp học __init__
từ bài tập gần đây tôi đã làm. Vào thời điểm tôi đã viết nó, tôi đã cố gắng tìm ra cách tôi có thể viết lại nó bằng cách sử dụng lambdas, hoặc trong một cái neater, cách hiệu quả hơn, nhưng hết thời gian.
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"
Như bạn có thể thấy, nó hơi cồng kềnh. Nếu bất cứ ai có thời gian hoặc độ nghiêng, tôi thực sự đánh giá cao một vài lời khuyên về một số thực hành tốt nhất python.
Cảm ơn.
Lưu ý: đây là một phần của mô-đun được gọi là 'enrol', chứa lớp' Enrol' mà đây là '__init__' –
trông giống như bạn có một người bạn cùng lớp: http://stackoverflow.com/questions/2943396/python -need-some-help –
Giao diện này s * đáng kể * như http://stackoverflow.com/questions/2943396/python-need-some-help – Johnsyweb