Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.79/163: Рейтинг темы: голосов - 163, средняя оценка - 4.79
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708

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

15.09.2019, 15:21. Показов 30961. Ответов 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
Ответ Создать тему
Новые блоги и статьи
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов. Сигнатура func Fetch(urls string, maxConcurrent int) Result Пример urls :=. . .
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition) Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool Worker Pool — паттерн конкурентной обработки задач в Go. Суть: фиксированное количество горутин-воркеров читают задачи из общего канала и пишут результаты в общий канал результатов. . . .
[golang] Pipeline
alhaos 08.06.2026
Pipeline Pipeline — паттерн конкурентной обработки данных в Go. Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь lIs4oanZS9Y
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу. До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru