Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.55/22: Рейтинг темы: голосов - 22, средняя оценка - 4.55
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755

Как работает ООП?

08.02.2021, 20:41. Показов 4725. Ответов 77
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прочитал комментарий одного человека, что множественное наследование вредно и его надо избегать. Что следует думать по этому поводу и что применять в таких случаях, когда хочется его задействовать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.02.2021, 20:41
Ответы с готовыми решениями:

Как работает super с __init__ в ООП?
Прошу засунуть этот код в какой-нибудь простенький пример, а то не понимаю там, откуда взял, как это может работать? def __init__(self): ...

Декоратор @property ООП прошу объяснить как это работает
Всем привет! Изучив основы python, я начал знакомиться с ООП, и на моём пути встала тема с декоратором @property. Как объясняют в видео и...

Не работает пример с ООП
Здраствуйте. Помогите пожалуйста, я не понимаю, как создать простейший объект (например из двух переменных) в паскале и что для этого...

77
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,696
Записей в блоге: 29
07.03.2021, 18:00
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от supmener Посмотреть сообщение
А как называется такой вид наследования?
иерархия наследования
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
07.03.2021, 18:47  [ТС]
А как вывести на экран последовательность, что откуда унаследовалось?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
07.03.2021, 18:55
Python
1
2
3
4
5
6
7
8
9
10
11
class A:
    pass
 
 
class B(A):
    pass
 
 
import inspect
 
print(inspect.getmro(B))
Bash
1
(<class '__main__.B'>, <class '__main__.A'>, <class 'object'>)
2
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
13.04.2021, 21:47  [ТС]
А бывают ситуации, когда в овальные скобки класса что - то вписывается и можно ли так делать?
Python
1
class Test(сюда можно ли писать?)
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
13.04.2021, 23:57
supmener, Что Вы используете для изучения питона? Раз задаете такие вопросы.
Я могу понять вопрос, когда Вы увидели какой то синтаксис, и не понимая его задаете вопросы.
Но выдумывать из головы синтаксис и спрашивать можно ли так. Вряд ли можно ответить на все фантазии, которые могут возникнуть в Вашей голове.
Туда можно писать, но нужно знать что. Для этого нужно изучать питон.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
14.04.2021, 02:32  [ТС]
Увидел в видео примерно такой пример, который у меня не заработал. Может там исправлено было, а на экране не показано.
Python
1
class Test(1000)
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,696
Записей в блоге: 29
14.04.2021, 06:20
supmener, так вы у автора видео и спросите что он хотел.
Цитата Сообщение от supmener Посмотреть сообщение
А бывают ситуации, когда в овальные скобки класса что - то вписывается и можно ли так делать?
Можно и нужно, бывает, а вы разве не в курсе как наследование работает?
3
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
14.04.2021, 08:18

Не по теме:

Цитата Сообщение от Welemir1 Посмотреть сообщение
а вы разве не в курсе как наследование работает?

0
14.04.2021, 10:10

Не по теме:

iSmokeJC, я забыл что это брат-близнец Андрюхи Ципиховича)))

0
14.04.2021, 12:29

Не по теме:

Цитата Сообщение от Viktorrus Посмотреть сообщение
Что Вы используете для изучения питона?
Цитата Сообщение от supmener Посмотреть сообщение
Увидел в видео примерно такой пример
Все советы взять уже учебник - как об стенку горох...

0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
15.04.2021, 16:57  [ТС]
Цитата Сообщение от supmener Посмотреть сообщение
class Test(1000)
Это не наследование.
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
16.04.2021, 07:53
Цитата Сообщение от supmener Посмотреть сообщение
Цитата Сообщение от supmener Посмотреть сообщение
class Test(1000)
Это не наследование.
Это бред такого же питониста как и Вы.
Вы что, считаете, что все что находите в интернете является истиной?
Интернет, это помойка, но в которой можно найти и драгоценные камни. И что бы найти в интернете ценную информацию, нужно самому обладать некоторыми базовыми знаниями, что бы отличать важную информацию от мусора.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
05.07.2021, 19:50  [ТС]
Увидел такое в примерах:
Code
1
return self
Что - то не пойму, как это можно применить в более понятном коде, где что - то выводится на print.
Python
1
2
3
class MyClass(object):
    def __init__(self):
        return self
Python
1
2
3
4
5
6
class Myclass2(MyClass,MyClass1,...):
    def __init__(self,name):
        self.name = name
        return self
    def method(self):
        return self
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,696
Записей в блоге: 29
05.07.2021, 20:14
supmener, флюент интерфейс
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
>>> class Print:
...     def p(self):
...         print('p')
...         return self
...     def r(self):
...         print('r')
...         return self
...     def i(self):
...         print('i')
...         return self
...     def n(self):
...         print('n')
...         return self
...     def t(self):
...         print('t')
...         return self
... 
>>> printer = Print()
>>> printer.p().r().i().n().t()
p
r
i
n
t
<__main__.Print object at 0x7fd17aa03ca0>
3
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
05.07.2021, 23:11
Welemir1,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Print:
    def _apply(self, f):
        f()
        return self
        
    @property
    def p(self):
        return self._apply(lambda: print("p"))
        
    @property
    def r(self):
        return self._apply(lambda: print("r"))
        
    @property
    def i(self):
        return self._apply(lambda: print("i"))
        
    @property
    def n(self):
        return self._apply(lambda: print("n"))
        
    @property
    def t(self):
        return self._apply(lambda: print("t"))
        
printer = Print()
printer.p.r.i.n.t
1
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,696
Записей в блоге: 29
06.07.2021, 09:03
Arsegg, теперь у него еще больше вопросов

Добавлено через 57 секунд
ну и принт надо бы вынести в апплай и просто в методах букву передавать)
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2696 / 1602 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
06.07.2021, 09:27
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class HewlettPackard:
 
    def __init__(self, address: str):
        self.address: str = address
        self.is_open: bool = False
        self.is_transmit: bool = False
 
    def open(self):
        self.is_open = True
 
    def close(self):
        self.is_open = False
    
    def set_transmit(self, state: bool):
        self.is_transmit = state
    
    def __enter__(self):
        self.open()
        return self
 
    def __exit__(self, exc_type, exc_val, exc_tb):
        if self.is_transmit:
            self.set_transmit(False)
        self.close()
 
 
with HewlettPackard("GPIB0::12::INSTR") as spectrum_analyzer:
    spectrum_analyzer.set_transmit(True)
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
06.07.2021, 10:45
Цитата Сообщение от Welemir1 Посмотреть сообщение
ну и принт надо бы вынести в апплай и просто в методах букву передавать)
Ну я же функцию передавал)) Да и чрезмерно усложнять логику не стал))
P. S. Вроде functools.partialдля этой цели должен подойти (lambda x: print(x)), т. е. частично устанавливает аргументы для входящей функции, но читать такое поделие - сложно.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from functools import partial
class Print:
    def _apply(self, f):
        f()
        return self
        
    @staticmethod
    def _partial(letter):
        return partial(print, letter)
 
    @property
    def p(self):
        return self._apply(Print._partial("p"))
        
    @property
    def r(self):
        return self._apply(Print._partial("r"))
        
    @property
    def i(self):
        return self._apply(Print._partial("i"))
        
    @property
    def n(self):
        return self._apply(Print._partial("n"))
        
    @property
    def t(self):
        return self._apply(Print._partial("t"))
        
printer = Print()
printer.p.r.i.n.t
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.07.2021, 10:45

Не работает код. ООП
У меня есть код #include &lt;iostream&gt; #include &lt;windows.h&gt; #include &lt;time.h&gt; #include &lt;string&gt; using namespace std; class Hero ...

Не работает ООП код
Учу сейчас по книжке ООП. Там для примера такой код Dog.php &lt;?php header(&quot;Content-Type: text/html; charset=utf-8&quot;); ?&gt; ...

ООП: странно работает автоматическая функция
Работающий код: class Configs { public function __construct() { define('CONFIG_INCLUDE', true); ...

ООП. Не работает задача (конструктор, деструктор)
Ребят, есть задача, она решенная, но я не могу разобраться в работе конструктора и деструктора, поэтому файлы, приложенные к условию не...

Засунул в ООП код elif и почему-то не работает
Выдает File &quot;produkt_nabor.py&quot;, line 10 elif self.buterbrod == 1: ^ SyntaxError: invalid syntax class...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
78
Ответ Создать тему
Новые блоги и статьи
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru