Я работаю с наборами данных с двух разных веб-страниц, но для одного и того же человека - наборы данных - это юридическая информация. Некоторые из данных доступны на первой странице, поэтому я инициализирую объект Defendant с соответствующей информацией и устанавливаю атрибуты, на которые у меня в настоящее время нет данных для null
. Это класс:
class Defendant(object):
"""holds data for each individual defendant"""
def __init__(self,full_name,first_name,last_name,type_of_appeal,county,case_number,date_of_filing,
race,sex,dc_number,hair_color,eye_color,height,weight,birth_date,initial_receipt_date,current_facility,current_custody,current_release_date,link_to_page):
self.full_name = full_name
self.first_name = first_name
self.last_name = last_name
self.type_of_appeal = type_of_appeal
self.county = county
self.case_number = case_number
self.date_of_filing = date_of_filing
self.race = 'null'
self.sex = 'null'
self.dc_number = 'null'
self.hair_color = 'null'
self.eye_color = 'null'
self.height = 'null'
self.weight = 'null'
self.birth_date = 'null'
self.initial_receipt_date = 'null'
self.current_facility = 'null'
self.current_custody = 'null'
self.current_release_date = 'null'
self.link_to_page = link_to_page
И это похоже на то, когда я добавляю наполовину заполненный объект Defendant в список подсудимых:
list_of_defendants.append(Defendant(name_final,'null','null',type_of_appeal_final,county_parsed_final,case_number,date_of_filing,'null','null','null','null','null','null','null','null','null','null','null','null',link_to_page))
тогда, когда я получаю остальную часть данных с другой страницы, я обновляю эти атрибуты так, чтобы она была нулевой:
for defendant in list_of_defendants:
defendant.sex = location_of_sex_on_page
defendant.first_name = location_of_first_name_on_page
## Etc.
Мой вопрос: есть ли более питонический способ либо добавлять атрибуты к классу, либо менее уродливый способ инициализации объекта класса, когда у меня есть только половина информации, которую я хочу сохранить в нем?