Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 15.09.2019
Сообщений: 61

Создать массив объектов

29.07.2020, 13:36. Показов 1358. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Создал небольшую программу с использованием словаря объектов, но хотелось бы узнать, как она будет выглядеть при реализации с массивом объектов через библиотеку numpy, что-то не совсем понимаю как это может выглядеть правильнее.
Вот исходник со словарём:
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import numpy as np
 
class Company:
    def __init__(self, name, age, salary, status):
        self.name = name
        self.age = age
        self.salary = salary
        self.status = status
 
class People (Company):
    def setInfo(self, name, age, salary, status):
        self.name = name
        self.age = age
        self.salary = salary
        self.status = status
 
    def getInfo(self):
        return '{0} | {1} | {2} | {3}'.format(self.name, self.age, self.salary, self.status)
 
    def sumSalary(self, salary, sum):
        return self.salary + sum
 
 
if __name__ == "__main__":
    dict_obj = {}
while True:
    try:
        n = int(input("\nВведите количество сотрудников: "))
    except ValueError:
        print('Введите количество корректно!')
    else: break;
for i in range(n):
    obj = People(name="", age=0, salary=0, status="")
    name = str(input("\nВведите имя сотрудника: "))
    age = int(input("\nВведите возраст сортрудника: "))
    salary = float(input("\nВведите зарплату сортрудника: "))
    status = str(input("\nВведите должность сортрудника: "))
    obj.setInfo(name, age, salary, status)
    dict_obj[f'info{i}'] = obj
print("\n==================Информация по сотрудникам==================")
for i in range(n):
    print("\nСотрудник #:",i+1)
    resInfo = dict_obj[f'info{i}'].getInfo()
    print(resInfo)
sum = 0.0
for i in range(n):
    sum = dict_obj[f'info{i}'].sumSalary(salary, sum)
print("\nОбщая сумма зарплат:",sum,"\n")
del obj
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.07.2020, 13:36
Ответы с готовыми решениями:

превратить массив "плоских" объектов в массив объектов с вложенными детьми (поле children)
Добрый день есть задача: Дан массив объектов с полями id (уникальный идентификатор) и parentId (идентификатор родителя). Для входных...

Создать массив объектов пайтон
Включить в класс методы set (…), get (…), toString (…). Abiturient: Фамилия, Имя, Отчество, Адрес, Оценки. Создать массив объектов....

Abiturient: Фамилия, Имя, Отчество, Адрес, Оценки. Создать массив объектов
Включить в класс метод print_info. Вывести информацию об объектах класса в соответствии с заданием. Класс описать в отдельном модуле,...

3
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
29.07.2020, 15:06
1. Зачем в потомке повторяется то, что в предке?
2. Зачем numpy? Что сделать-то хотите?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
29.07.2020, 17:52
Цитата Сообщение от amcs Посмотреть сообщение
как она будет выглядеть при реализации с массивом объектов через библиотеку numpy
Иначе будет выглядеть. Не нравится ответ? А иначе и не ответишь при подобной формулировке.
numpy это матем. библиотека - python объекты там не приветствуются. Вообще. Там же даже циклов нет. И списков нет. И словарей. Там главный объект это чиселка. Вектор чиселок. Матрица чиселок. Для все остального - строки и т.д. numpy не используется.
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
29.07.2020, 20:26
amcs, У Вас не верно используется ООП.
Человек (People) не является компанией, поэтому класс People не может быть подклассом класса Company.
Подклассом класса Company может быть например частная компания или государственная компания, а еще сельхоз компания, компания по производству тканей и так далее. Но человек не может быть компанией. Человек может быть сотрудником компании. Тогда в его атрибутах может быть такое свойство, как название компании, в которой он работает.

Добавлено через 3 минуты
А в классе Company может быть такой атрибут, как "список сотрудников" компании. И этому списку будут принадлежать объекты из класса People

Добавлено через 3 минуты
Подкласс, это множество объектов которые принадлежат и суперклассу но с некоторыми дополнительными свойствами, которые не указываются в суперклассе.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.07.2020, 20:26
Помогаю со студенческими работами здесь

Где и как создать массив объектов, чтобы можно было получить доступ к методам этих объектов?
Задача: "в win form кликаю на кнопку (button) и в этот момент в одном из массивов экземпляров класса должен вызваться метод" ...

В функции создать массив объектов класса Abonent (минимум 5 объектов). Продемонстрировать работу функции change()
Помогите пожалуйста с 3 пунктом. Застрял, не знаю как обратиться к объекту по его индивидуальному номеру и как потом вывести информацию от...

Создать класс треугольников. Создать массив из объектов этого класса
Помогите пожалуйста Описать класс, соответствующий заданию. Создать массив из N объектов данного класса. При подсчете объектов...

Создать класс Клиент (Фамилия, Имя, Отчество, адрес, Номер карты, Статус). Создать массив объектов
Создать класс Клиент (Фамилия, Имя, Отчество, адрес, Номер карты, Статус). Создать массив объектов Создать массив объектов. Вывести: -...

Задание: создать класс по заданному условию; создать массив, содержащий список объектов класса, и реализовать следующие
На междугородной АТС информация о разговорах содержит дату разговора, код и название города, длительность разговора (мин.), тариф, номер...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru