Програмування на python

Передбачається, що аудиторія буде зацікавлена, і якщо це буде так, я напишу ще кілька постів про пітона, щоб познайомитися з синтаксисом, стандартними структурами даних, деякими стандартними бібліотеками, щоб в подальшому перейти до розробки на Django.

Передбачається, що аудиторія складається не з овощеподобних амеб, а розвинених людей, готових застосовувати свою черепну коробку не тільки для того, щоб їсти.

Для початку замануха. Можна багато писати про те, який пітон крутий, що його використовують для бігдати, датасаенса, веб-розробки і всього іншого. Але це все сухі слова. Тому наведу пару прикладів того, де пітон використовується в якості основного мови.

Instagram - всіма улюблений хостинг фотографій їжі та yoбл тупих пёзд. Так, він написаний на Python. Мало того, за фреймворк узятий Django, до якого ми доползём, якщо крім мене будуть бажаючі повзти. Та ще й HTTP-сервер вони взяли Gunicorn, до якого ми так само доползём. Як БД вони використовують PostgreSQL - мою улюблену РСУБД і саме тому до неї ми теж, можливо, доползём.

exchange.livejournal.com - біржа блогерів ЖЖ, яка нещодавно відкрилася. Чому вона тут? Тому що я брав участь в її розробці. Вона також написана на Django з базою PostgreSQL.

На цьому замануха закінчується і починається моя ненависна частина - цикли, розгалуження і змінні.

Всі шматки коду будуть являти собою скріншоти Jupyter Notebook, по-перше, тому що мені в ньому зручно писати, по-друге, тому що нічого копіювати чужий код.

Пітон - мова з суворою динамічною типізацією. Що це означає?

- Якщо захочеш скласти число 5 з рядком '7' - тебе насварила. Це називається строгою типізацією. Ніяких преведенного до "більш загального" типу.

- Якщо у змінній x зберігалося число, це не означає, що їй не можна привласнити рядок. Це динамічна типізація. Тип змінної, зрозуміло, ніде вказувати не потрібно.

Програмування на python

Приємною можливістю є паралельне присвоювання. Обмін значеннями також підтримується.

Програмування на python

Є також множинне привласнення, яке я настійно не рекомендую використовувати бездумно (це стосується неплоских типів даних, про які поговоримо як-небудь пізніше):

Зі змінними, начебто, поки все.

На відміну від Сі-подібного синтаксису, у нас немає ні фігурних дужок для виділення блоків, ні дужок для виділення умовного виразу (насправді, нічого не заважає обернути умова в дужки). Блоки виділяються ТІЛЬКИ відступами. Тут немає ніяких switch, є тільки if, elif і else. Наступний приклад, думаю, пояснить все за мене:

Програмування на python

А тепер невеличкий сюрприз. Незважаючи на те, що мова має строгу типізацію, порівняння між деякими неоднаковими типами даних (int, float, Decimal) підтримуються. Наприклад 5 == 5.0 поверне True, незважаючи на те, що 5 - це ціле число, а 5.0 - з коми. Але використання цього вважається поганим тоном.

Якщо ви до цього дня не знали слово "итератор" і писали тільки цикли за індексами, на кшталт такого for (int i = 0; i<10; i++), то придётся привыкать.

Отже, в Пітоні цикл for проходить ітератором по кожному елементу послідовності. Йому глибоко плювати, що всередині послідовності. Число, рядок, чиїсь надії і мрії.

Програмування на python

Для звичайних циклів за індексами існує генератор range. Про генераторах теж пізніше.

Я писав тут про одну потужної, простий, цікавою бібліотеці, якій користуюся мало не кожен день, але раптом усвідомив, що перший пост краще зробити просто ознайомчим, для тих, хто зовсім-зовсім новачок. )

Тому сьогодні ми трохи поговоримо про те, що таке взагалі python і спробуємо завести його на своєму комп'ютері.

Програмування на python

Отже, як повідомляє нам достовірне джерело (вікіпедія), python (я вимовляю "пайтон", деякі російськомовні люди кажуть "пітон") - мова програмування загального призначення, орієнтований на підвищення продуктивності розробника і Новомосковскемості коду. Іншими словами, на ньому можна швидко і писати код, і розбиратися в тому, що написав сусід.

Незважаючи на гадану з визначення простоту, він має колосальні можливості завдяки підтримці відразу декількох парадигм програмування, великому числу функцій з коробки (в стандартній бібліотеці), і, звичайно, розширюваності, завдяки величезній кількості легко встановлюються бібліотек нестандартних.

Застосовують його на практиці?

Безумовно! Python - дуже поширена мова! З його допомогою можна робити сайти, обробляти дані, працювати з машинним навчанням і багато-багато ще всього цікавого. Він використовується багатьма великими компаніями (наприклад, в Google, чого далеко ходити). З його допомогою можна робити як простенькі скрипти для повсякденного життя, так і всерйоз займатися науковою і комерційної розробкою.

Зацікавило? Тоді давай спробуємо написати і запустити що-небудь на Python. )

Програмування на python

Важливо розуміти, що способів для цього - тьма! Ти можеш писати свою програму хоч в потужній середовищі розробки з підсвічуванням синтаксису і іншими пляшками, хоч в звичайному блокноті, хоч взагалі в інтернеті (та й запускати там же). Здається, про це буде окремий пост. Зараз же я просто покажу як можна виконувати команди в інтерпретаторі python.

І відразу пара слів про останній, тому що якщо ти це Новомосковскешь, то, можливо, і не знаєш що це таке.

Python - це мова, що інтерпретується. Говорячи коротко, це означає, що його інструкції виконуються (інтерпретуються) одна за одною послідовно, без компіляції всього і відразу, як, наприклад, в мові Сі. Інтерпретатор - це як раз-таки спеціальна програма, яка і займається інтерпретацією.

Я приведу приклад на 3-ої серії мови python (3.5.1), тому рекомендую завантажувати саме її. Для Windows це можна зробити безпосередньо за цим посиланням. При установці, не забудь поставити галочку на пунктеДобавіть в PATH. це спростить тобі життя в подальшому.

Програмування на python

Скачав і встановив? Відмінно! Давай запустимо інтерпретатор. Відкрий командний рядок (вбей в Пуск cmd) і введи туди:

Інтерпретатор запущений! Так, все так просто! Якщо все зроблено правильно, то буде щось на зразок:

Проблема полягає в наступному: мова я не вивчав, але робоча програма на ньому потрібна вже завтра!

За основу я взяв приклад програми "Розрахунок зарплати з урахуванням переробки" тобто за перероблені години ставка збільшується в 1.5 рази. Відкриваю я її через командний рядок cmd. Проблема з її налагодженням (типи даних не відповідають) А ще дуже б хотілося, щоб результат (ПІБ (вона ж name) - цех (czeh) - Зарплата за місяць (pay)) виводився в який-небудь файл (або zarplata.docx або zarplata.txt) 150- це допустима кількість годин роботи в місяць.

print ( 'Вітаю вас. Ця програма призначена для розрахунку заробітної плати працівників нашого заводу')

print ( 'Введіть ім'я працівника')

print ( 'Введіть цех працівника:')

inp = input ( "Введіть кількість відпрацьованих годин.")

inp = input ( "Введіть суми оплати праці за 1 годину:")

print ( 'заробітна плата' + name + 'за місяць дорівнює:' pay)

konets = input ( "Натисніть Enter для завершення")