Форум сайта python.su
73
4kpt_IVчтобы повторить надо хотя бы понимать что и для чего пишется
Смотрите, что пишут люди и пытайтесь повторить
Офлайн
221
heyyyy
а кого то это подстигнет еще больше вкладывать усилий в свое обучение и достижение результата. Такие люди мне интересны больше.
Ну а собственно что вы хотели? Вы даете совет человеку, который не правильный. В корне нарушены принципы ООП, что после этого вам сказать? еще раз - это не Ваш топик в котором Вы спрашиваете как сделать правильно, тогда бы и ответ был совсем другой, вы подсказываете решение, дерьмовое решение. С таким на работу программистом не возьмут
Офлайн
0
А почему '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)
Офлайн
49
.create_size_dog(30, 40, 50)
Офлайн
0
4kpt_IVdef 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)
Офлайн
0
Весь код
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)
Офлайн
20
quixВы в e передаете ссылку на результат sharik.create_size_dog(30, 40, 50), что будет Konura.visit(dog), который в свою очередь представляет print ( “аукпук”). Ну а поскольку print это функция (для третьего), которая ничего не возвращает, вот и получаете None. (print(print( “аукпук”)))
Весь код
Отредактировано noob_saibot (Фев. 10, 2017 08:48:49)
Офлайн
568
noob_saibotНичего не будет, потому что visit - не классметод.
что будет Konura.visit(dog)
Офлайн
20
FishHookНу видимо тут всетаки третий питон, раз работает, и будет visit - staticmethod (в версии 3.0 вызов через имя класса возможен и без применения staticmethod, но вызов через экземпляр – нет). Поправьте если напутал.
Отредактировано noob_saibot (Фев. 10, 2017 09:11:03)
Офлайн
221
noob_saibot
поясните, лучше с примером
Офлайн