Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 9, 2017 10:53:54

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

ООП общение объектов

4kpt_IV
Смотрите, что пишут люди и пытайтесь повторить
чтобы повторить надо хотя бы понимать что и для чего пишется

Офлайн

#2 Фев. 9, 2017 11:00:24

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

ООП общение объектов

heyyyy
а кого то это подстигнет еще больше вкладывать усилий в свое обучение и достижение результата. Такие люди мне интересны больше.
Ну а собственно что вы хотели? Вы даете совет человеку, который не правильный. В корне нарушены принципы ООП, что после этого вам сказать? еще раз - это не Ваш топик в котором Вы спрашиваете как сделать правильно, тогда бы и ответ был совсем другой, вы подсказываете решение, дерьмовое решение. С таким на работу программистом не возьмут



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Фев. 10, 2017 07:29:19

quix
Зарегистрирован: 2012-06-23
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

ООП общение объектов

А почему 'NoneType '

 sharik = Dog("ShariK")
e = sharik.create_size_dog(30, 40, 50)
print (type(e))

<class 'NoneType'>

и
 e = sharik.create_size_dog(30, 40, 50)
возвращает то, что должна делать и в добавок
 None
а мне он не нужен

Отредактировано quix (Фев. 10, 2017 07:39:33)

Офлайн

#4 Фев. 10, 2017 07:37:16

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

ООП общение объектов

 .create_size_dog(30, 40, 50)

А что написано в return этого метода?

Офлайн

#5 Фев. 10, 2017 07:41:45

quix
Зарегистрирован: 2012-06-23
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

ООП общение объектов


4kpt_IV
 def create_size_dog(self, width, hight, length):
		self.width  = width
		self.hight  = hight
		self.length = length
		print (self.name + "c определенным размером идет в конуру ")
		dog =  [self.width, self.hight, self.length] 
		return Konura.visit(dog)

Офлайн

#6 Фев. 10, 2017 07:43:22

quix
Зарегистрирован: 2012-06-23
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

ООП общение объектов

Весь код

 class Konura():
	def __init__(self, name, width, hight, length):
		self.width   = width
		self.hight   = hight
		self.length  = length
		self.name    = name
	def visit(e):  # определяет влезет собака или нет
		print ( "аукпук")
		
		
		#print (self.name)
		
		
				
		
class Dog(CritMen):
	def __init__(self, namedog):
	    self.name = namedog
	def create_size_dog(self, width, hight, length):
		self.width  = width
		self.hight  = hight
		self.length = length
		print (self.name + "c определенным размером идет в конуру ")
		dog =  [self.width, self.hight, self.length] 
		return Konura.visit(dog)# передаем размеры собаки в класс конура
sharik = Dog("ShariK")
e = sharik.create_size_dog(30, 40, 50)

Офлайн

#7 Фев. 10, 2017 08:48:02

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

ООП общение объектов

quix
Весь код
Вы в e передаете ссылку на результат sharik.create_size_dog(30, 40, 50), что будет Konura.visit(dog), который в свою очередь представляет print ( “аукпук”). Ну а поскольку print это функция (для третьего), которая ничего не возвращает, вот и получаете None. (print(print( “аукпук”)))

Отредактировано noob_saibot (Фев. 10, 2017 08:48:49)

Офлайн

#8 Фев. 10, 2017 08:52:05

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

ООП общение объектов

noob_saibot
что будет Konura.visit(dog)
Ничего не будет, потому что visit - не классметод.
ТС не отличает класс от объекта.



Офлайн

#9 Фев. 10, 2017 09:06:16

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

ООП общение объектов

FishHook
Ну видимо тут всетаки третий питон, раз работает, и будет visit - staticmethod (в версии 3.0 вызов через имя класса возможен и без применения staticmethod, но вызов через экземпляр – нет). Поправьте если напутал.

Отредактировано noob_saibot (Фев. 10, 2017 09:11:03)

Офлайн

#10 Фев. 10, 2017 10:13:26

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

ООП общение объектов

noob_saibot
поясните, лучше с примером



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version