Для розробки пропоную використати об’єкто-орієнтовану парадигму програмування. Адже все, що нас оточує, можна назвати об’єктами. Об’єкти можна класифікувати за різними ознаками. Тобто об’єднувати в класи. Одну з найдавніших класифікацій розробив Арістотель. Вона актуальна і нині.
Переваги об’єкто-орієнтованого програмування.
1) Легше вдосконалювати код програми при потребі внесення малих змін. Призначення окремих завдань певним методам дозволяє краще структурувати програму.
2) Код стає більш універсальним. Є можливість викликати ті самі методи в різних класах або й програмах.
Подаю короткий зразок, з якого починаємо розробку програмно-інформаційного комплексу (ПІК).
class Demos(object):
citizens=[]
def __init__(self, name):
self.name = name
def add_citizen(self, citizen_name):
self.citizens.append(citizen_name)
def greeting(self):
print ('Радіймо! Вас вітає демос '+self.name)
def print_citizens(self):
print ('Перелік громадян нашого демосу: ')
for i in range(len(self.citizens)):
print(self.citizens[i])
demos1=Demos("Вольники")
demos1.add_citizen('Леонід')
demos1.add_citizen('Доброслав')
demos1.greeting()
demos1.print_citizens()
Виконати програму можна тут.
Для тих, хто тільки починає ознайомлення з програмуванням мовою пайтон, поясню. Службове слово class означає, що далі буде назва класу, котрий ми хочемо описати. Наразі він має назву Demos. В дужках після назви міститься назва іного класу, від якого наш клас успадкує певні властивості. Я використав клас object, котрий є стандартним класом для пайтона. Після цього обов’язково двокрапка :, вона відділяє назву класу від його характеристик.
Перша змінна в класі названа citizens. Вона містить перелік громадян демосу. Про те, що це саме перелік, а не окреме значення, свідчить []. Наразі список пустий, з часом ми його наповнимо.
Далі йде оголошення функції: def. Її назва: __init__. Ця функція ініціалізує, іними словами, створює певний демос належний класові Demos. В круглих дужках два параметри: self і name. Перший параметр означатиме власне цей об’єкт класу, а другий - його назву. Після розділового знаку : написані дії, котрі виконує ця функція. Наразі вона просто присвоює об’єктові ім’я, отримане як параметр: self.name = name.
Друга функція def add_citizen(self, citizen_name): теж має два параметри. Другим параметром є ім’я громадянина, котрий приєднався до демосу.
Функція def greeting(self): є привітання, котре буде використовуватись в певних ситуаціях. Службове слово print означає, що на екран буде виведено текст, вказаний в дужках. Фрагмент 'Радіймо! Вас вітає демос ' взято в апострофи. Те, що між ними є конкретно текстом, а не ім’ям якоїсь змінної. Знак + в цьому контексті означає, що до попереднього тексту буде дописано ще текст. Той текст, що містить змінна self.name.
Аналогічно функція def print_citizens(self): видруковує на екран текст print ('Перелік громадян нашого демосу: ')
А ось і цикл for. i - змінна котра містить порядковий номер ітерації. Службове слово in перевіряє чи перебуває число i в діапазоні range, котрий обчислений за допомогою стандартної функції len, котра показує кількість елементів в списку self.citizens. Двокрапка : означає, що далі йде перелік операцій, котрі будуть виконані циклічно.
А саме, вивід на екран почергово усіх учасників демосу зі списку: print(self.citizens[i]). Нагадую, що список називається citizens, а змінна в квадратних дужках - порядковий номер в ньому [i].
На цьому простий клас закінчено. Приступаємо до його використання. Тобто створення певних об’єктів- примірників класу. І використання їх функцій.
Рядок demos1=Demos("Вольники") означає, що змінна змінна demos1 міститиме новостворений об’єкт з назвою Вольники класу Demos. До речі: текстові значення можна брати як в " ", так і в ' '.
Далі використовуємо функцію add_citizen. А саме, викликаємо її всередині об’єкту demos1. Про це свідчить крапочка після назви об’єкту. Загалом громадяни теж будуть об’єктами певного класу. Але для простоти ілюстрації я використав текстові значення. Насамкінець виводимо на екран привітання від демосу і список його учасників за допомогою функцій, описаних в класі.
Тепер треба знайти ще одну людину, яка реально долучиться до розробки. Леонід займається "внутрішньою кухнею". Потрібен фахівець, який зробить зручний інтерфейс.
Оновлення тут: <a href="https://repl.it/Bj2V/2" rel="nofollow">https://repl.it/Bj2V/2</a>
Освячуйся! Озброюйся! Плодися!
Коментарі
Пайтон, мабуть, краще, ніж пітон, бо другий термін без контексту звучить двозначно.
Хай буде Ща з Тя! І з Мя :)
Можливо, назву мови краще писати з великої букви?
Пайтон звучить веселіше - адже це нагадування про комедійне шоу, де грають гарні актори. Повна назва шоу - "Літаючий цирк Монті Пайтона". Політ - це класно.
А от пітон - це беземоційний плазун, неспроможний літати. "Не та хворма" :)
Освячуйся! Озброюйся! Плодися!
Тоді й ілюстрацію доведеться змінити.
https://t.me/ETEPHET
Покищо хай буде ця, а далі побачимо. Ілюстрації мають бути позитивними, красивими і хоч трохи відповідати змісту статті.
Освячуйся! Озброюйся! Плодися!
Пора створювати інфраструктуру розробки. Прошу звернути увагу на такий сервіс як Bitbucket. Почати можна з приватного репозиторія для 5 розробників.
Все, що робиться з власної волі, – добро!
Приєднуйтесь до групи Вольники: https://bitbucket.org/willmen/
https://t.me/ETEPHET
Вольники - це група на нашому сайті. А бітбакет - це тільки для тих, хто має достатню кваліфікацію і реально долучився до розробки.
Освячуйся! Озброюйся! Плодися!
Паралельно можна робити сайт "Демос" як CMS з панеллю увімкнення модулів.
Зручна система завантаження та увімкнення модулів з перевіркою їх сумісності реалізована в Elgg.
Все, що робиться з власної волі, – добро!
Оновлення тут: https://repl.it/Bj2V/2
https://t.me/ETEPHET
Тепер треба знайти ще одну людину, яка реально долучиться до розробки. Леонід займається "внутрішньою кухнею". Потрібен фахівець, який зробить зручний інтерфейс.
Освячуйся! Озброюйся! Плодися!
Вольники - це група прихильників вільного програмного забезпечення (група за інтересами).
Для розробки Intermarium-online треба створити відповідну групу як проект і долучати до неї тільки тих, хто реально працюватиме над розробкою.
Освячуйся! Озброюйся! Плодися!