Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 23, 2019 10:40:19

KULINAR847
Зарегистрирован: 2019-09-20
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

# Простенький метод

Как можно реализовать метод 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) # [[]]

Отредактировано KULINAR847 (Окт. 23, 2019 10:41:19)

Офлайн

#2 Окт. 23, 2019 10:48:07

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2849
Репутация: +  186  -
Профиль   Отправить e-mail  

# Простенький метод

> Как можно реализовать метод Add, чтобы он возвращал объект?

Какой объект он должен вернуть?



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#3 Окт. 23, 2019 11:20:29

Striver
От:
Зарегистрирован: 2006-10-26
Сообщения: 247
Репутация: +  22  -
Профиль   Отправить e-mail  

# Простенький метод

# Простенький метод
Судя по тому, что ты тут пытаешься делать, совсем не “простенький”…



Офлайн

#4 Окт. 23, 2019 11:36:28

KULINAR847
Зарегистрирован: 2019-09-20
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

# Простенький метод

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 (Окт. 23, 2019 13:05:33)

Офлайн

#5 Окт. 23, 2019 11:38:14

KULINAR847
Зарегистрирован: 2019-09-20
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

# Простенький метод

Striver
Судя по тому, что ты тут пытаешься делать, совсем не “простенький”…

Да не, всё просто оказалось)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version