Найти - Пользователи
Полная версия: ООП общение объектов
Начало » Python для новичков » ООП общение объектов
1 2 3
marvellik
4kpt_IV
Смотрите, что пишут люди и пытайтесь повторить
чтобы повторить надо хотя бы понимать что и для чего пишется
JOHN_16
heyyyy
а кого то это подстигнет еще больше вкладывать усилий в свое обучение и достижение результата. Такие люди мне интересны больше.
Ну а собственно что вы хотели? Вы даете совет человеку, который не правильный. В корне нарушены принципы ООП, что после этого вам сказать? еще раз - это не Ваш топик в котором Вы спрашиваете как сделать правильно, тогда бы и ответ был совсем другой, вы подсказываете решение, дерьмовое решение. С таким на работу программистом не возьмут
quix
А почему '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
а мне он не нужен
4kpt_IV
 .create_size_dog(30, 40, 50)

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

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)
quix
Весь код

 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)
noob_saibot
quix
Весь код
Вы в e передаете ссылку на результат sharik.create_size_dog(30, 40, 50), что будет Konura.visit(dog), который в свою очередь представляет print ( “аукпук”). Ну а поскольку print это функция (для третьего), которая ничего не возвращает, вот и получаете None. (print(print( “аукпук”)))
FishHook
noob_saibot
что будет Konura.visit(dog)
Ничего не будет, потому что visit - не классметод.
ТС не отличает класс от объекта.
noob_saibot
FishHook
Ну видимо тут всетаки третий питон, раз работает, и будет visit - staticmethod (в версии 3.0 вызов через имя класса возможен и без применения staticmethod, но вызов через экземпляр – нет). Поправьте если напутал.
JOHN_16
noob_saibot
поясните, лучше с примером
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