Найти - Пользователи
Полная версия: # Простенький метод
Начало » Python для новичков » # Простенький метод
1
KULINAR847
Как можно реализовать метод Add, чтобы он возвращал объект? Сейчас возвращает пустой список.
 # Простенький метод
class Item(list):
	def __init__(self):
		self.Visible = True
	
	def Add(self):
		newItem = Item()
		self.append(newItem)
		return newItem	
class Properties:
	def __init__(self):		
		self.Items = Item()
		
		
p = Properties()
print(p.Items) # []
p.Items.Add()
print(p.Items) # [[]]
Rodegast
> Как можно реализовать метод Add, чтобы он возвращал объект?

Какой объект он должен вернуть?
Striver
# Простенький метод
Судя по тому, что ты тут пытаешься делать, совсем не “простенький”…
KULINAR847
Rodegast я хотел расширить класс list аттрибутом Visible. Смутило то, что во время print он вернул [] пустой список - что правильно, а не <__main__.Item object at 0x006E5430>. Это натолкнуло на мысль, что Add возвращает (newItem - объект(инстанс)) типа list, а не Item, что там ошибка?!?!?
Но после всё встало на свои места - выполнил код для проверки:
 p = Properties()
print(p.Items)
e = p.Items.Add()
e.Visible = False  # аттрибут добавлен
print(p.Items[0].Visible) # False
Всё нормально)
KULINAR847
Striver
Судя по тому, что ты тут пытаешься делать, совсем не “простенький”…

Да не, всё просто оказалось)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB