Для начала я изучил Java, затем C, и сейчас углубляюсь в Python 3.6.У меня проблемы с печатью значений из объекта в основном
Изначально я начал с передачи значений в мой объект Preferences
с использованием self
.Затем я создал переменную p
из моего Preferences
объекта, а затем напечатал p
в своем основном методе.Когда я пытался печатать, не появлялось ни одно из моих значений, которые я пытался установить в моих методах.Мне повезло больше с этим, установив значения в Preferences
с помощью p.size, p.preferences, etc...
, потому что я смог увидеть, что при печати p
в методе все мои заданные значения будут отображаться.
Ниже мой код.Я читаю целые числа из файла, а затем задаю им значения внутри моего Preferences
объекта.
Вот файл:
4
1 2 3 4
2 1 3 4
3 4 1 2
4 3 1 2
2 1 3 4
1 2 3 4
4 3 1 2
3 4 1 2
А вот и мой код.
class Preferences:
def __init__(self):
self.preferences = []
self.size = 0
self.m_preferences = []
self.f_preferences = []
def __str__(self):
return "Preferences object\nSize: {}\nPreferences: {}\nMale Preferences: {}\nFemale Preferences: {}".format(self.size, self.preferences, self.m_preferences, self.f_preferences)
def get_preferences(self):
p = Preferences()
p.size = self.size
p.preferences = self.preferences
p.m_preferences = self.preferences[0: len(self.preferences)//2]
p.f_preferences = self.preferences[len(self.preferences)//2 : len(self.preferences)]
def read_file(self):
p = Preferences()
with open('input1.txt', 'r') as f:
p.size = f.readline()
temp_preferences = f.readlines()
p.preferences = [x.strip().split(' ') for x in temp_preferences[0:]]
p.get_preferences()
def main():
p = Preferences()
p.read_file()
print(p)
if __name__ == "__main__":
main()
Вот моя попытка передать все значения в моих методах с использованием p = Preferences()
для присвоения значений таким переменным, как size, m_preferences, etc.
Я ожидал увидеть
Preferences object
Size: 4
Preferences: [['1', '2', '3', '4'], ['2', '1', '3', '4'], ['3', '4', '1', '2'], ['4', '3', '1', '2'], ['2', '1', '3', '4'], ['1', '2', '3', '4'], ['4', '3', '1', '2'], ['3', '4', '1', '2']]
Male Preferences: [['1', '2', '3', '4'], ['2', '1', '3', '4'], ['3', '4', '1', '2'], ['4', '3', '1', '2']]
Female Preferences: [['2', '1', '3', '4'], ['1', '2', '3', '4'], ['4', '3', '1', '2'], ['3', '4', '1', '2']]`
Но вместо этого я получаюпустые значения этих значений:
Preferences object
Size: 0
Preferences: []
Male Preferences: []
Female Preferences: []`