99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708

Использование списков в конструкторе __init__

15.09.2019, 15:21. Показов 30976. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите разобраться с использованием списков, tuple, dictionaries при ООП.
В каких случаях применяют списки в методе - конструкторе?

Вот так:
Python
1
2
3
class TestClass:
    def __init__(self):
        list = []
А в каких в глобальном фрэйме?

Вот так:

Python
1
2
3
4
class TestClass:
    list = []
    def __init__(self):
        pass
Пример:

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
class Person:
 
    def __init__(self, name, age):
        self.name = name
        self.age = age
        self.known_persons = []
 
    def know (self, person):
        if not person in self.known_persons:
            self.known_persons.append(person)
        else:
            print('{} уже знает человека по имени {}'.format(self.name, person.name))
 
    def is_known(self, person):
        text_action = {True: 'знает человека по имени', False : 'не знает человека по имени'}
        is_known_person = person in self.known_persons
        print('{} {} {}'.format(self.name, text_action[is_known_person], person.name))
 
if __name__ == '__main__':
    anna = Person('Anna Ross', 25)
    cliff = Person('Cliff Birds', 45)
    jhon = Person('Jhon Smit', 37)
    
    anna.is_known(cliff)
    anna.know(cliff)
    anna.is_known(cliff)
    anna.know(cliff)
    anna.is_known(jhon)
    anna.know(jhon)
    anna.is_known(jhon)
    anna.know(jhon)
По возможности, объясните принцип действия на примере выше.

Списки в глобальном фрэйме применимы на практике?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.09.2019, 15:21
Ответы с готовыми решениями:

Ошибка при загрузке Ubuntu 14.04 LTS: run-init: /sbin/init: Permission denied
Здравствуйте! На компьютере установлена Uuntu 14.04 LTS (64 bit). После установки cups (для соединения с принтером) система перестала...

Использование двоеточия в конструкторе
Товарищи помогите понять код. В книге Скотта Майерса есть такое описание метода класса: Customer::Customer(const Customer & rhs) ...

Использование this и base в одном конструкторе
Здравствуйте. Подскажите пожалуйста, как мне грамотно написать следующую конструкцию: public class Person { private...

26
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
14.07.2021, 14:50  [ТС]
Студворк — интернет-сервис помощи студентам
Arsegg, проверяю возможности своей долговременной памяти) в прошедшем времени интереснее...
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,696
Записей в блоге: 29
14.07.2021, 15:10
Цитата Сообщение от AlexMarkov Посмотреть сообщение
ranks = [str(n) for n in range(2,11) + list("JQKA")
а где закрывающая квадратная скобка?
0
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
14.07.2021, 15:16  [ТС]
Welemir1, сенсор не доработал, не всё по клаве стучать, надо и мыслишку прочитанную перекинуть, так "лутцше" запоминается)
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
14.07.2021, 15:44
Неккропостинг форева )
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from dataclasses import dataclass, field
from statistics import mean
from typing import List
 
 
@dataclass
class Student:
    name: str
    surname: str
    scores: List[int] = field(default_factory=list)
    
    def avg(self):
        return mean(self.scores)
        
u = Student("Arman", "Hakobyan", [2, 4, 6, 5, 3])
assert u.avg() == 4
0
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
14.07.2021, 15:53  [ТС]
Dax, Дейта классы мне известны, я работаю с кодом без использования данного модуля, пока не вижу смысла
в переходе...в чем смысл, в записи, читаемости, пока не узнаю, что в данном декораторе происходит, не использую, и так все работает..
0
14.07.2021, 16:40

Не по теме:

Dax, очень знакомый код, где-то я его уже видел)))

0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
14.07.2021, 17:57
Arsegg, я ни коим образом не притененную в данном случае, на авторство кода(скорее всего, он Ваш ), но, код найти было быстрее, нежели тему.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.07.2021, 17:57

Использование inherited в конструкторе класса
Добрый день. Есть небольшой вопрос. Вот в Delphi принято конструктор писать так, constructor TMyClass.Create; begin inherited; ...

Использование аргументов в конструкторе при объявлении массива - }{ЭЛП
Здравствуйте. Мне нужен массив класса button. Короче: button but(1);//работает button but;//работает button but(1);//не работает ...

Использование указателя для доступа к функции члену с инициализацией в конструкторе
Собственно, вот такой код: class Event{ public: Event() { eventCallback = eventCallbackFn; } void...

Использование списков
Из исходных списков целых чисел L1 и L2 сформировать список L3, в котором элементы должны быть выстроены в порядке возрастания. Буду...

Использование связных списков
Создать функцию, возвращающую указатель на второй элемент списка.


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Опции темы

Новые блоги и статьи
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
Сукцессия 20. Война автоботов. Делаем ставки. Лёд против "пш-пш!".
anaschu 11.07.2026
Битва ИИ в ризосфере: Как мы скрестили жесткие ОДУ, закон Фика и «подземный шантаж» Уважаемые коллеги! Хочу поделиться уникальным опытом ведения междисциплинарной компьютерной разработки. Прямо. . .
Сукцессия 19. Какие выводы я сделал из модели? Часть 2.Внутримикоризный стехиометрический буфер и хроно-дискретные зоны экспансии
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы Математический аппарат моделирования
Сукцессия 18. Какие выводы я сделал из войны грибов с деревьями? Часть 1- рассказ и немного про термины
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы Математический аппарат моделирования Система ОДУ описывает динамику изменения массы различных компонентов системы во времени. Ключевой. . .
Просветление в 5 секунд
kumehtar 10.07.2026
Андрей Веретенников выдал фразу недавно: "Вам не обязательно кем-то себя считать"
Эксперимент с картинкой-обложкой на CodinGame
Adler 10.07.2026
Решил на днях провести эксперимент. У меня есть аккаунт на CodinGame, ТОП-3 по РФ среди 2200 участников (в разделе соревнования по программированию ИИ-ботов). Там есть обложка, куда можно влепить. . .
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru