Python-шпаргалка. Частина 1 — Мова і Типи об'єктів

image

Дана стаття являє собою дуже коротку, але ємну вижимки все, що повинен знати початківець розробник або QA-інженер про мові Python. Сподіваюся, що старанність, прикладену при написанні даної статті, допоможе багатьом підготуватися до співбесіди на відповідні вакансії і розширити свій IT-кругозір.

Статтю варто сприймати не як підручник, а як зручну шпаргалку або «опорний сигнал» (так моя вчителька історії називала таку «творчість» в школі). Тут не буде детальних визначень, пояснень у цілу главу, а лише чіткі терміни, списки, короткі вичавки коду. Стаття заснована на чудовій книзі Марка Лутца «Вивчаємо Python (5-е видання)», так що за її коректність і достовірність можете не переживати. Отже, почнемо.

Коротко про Python

Python — високорівнева мова програмування загального призначення (часто називається мовою сценаріїв), орієнтований на підвищення продуктивності розробника і читабельність коду.
Переваги Python:
  • Якість
  • Висока швидкість розробки
  • Переносимість програм
  • Бібліотеки підтримки
  • Інтеграція компонентів (можна викликати функції з бібліотек C/C++)
Основні можливості Python:
  • Динамічна типізація (при цьому вона сувора)
  • Автоматичне керування пам'яттю
  • Модульне програмування
  • Вбудовані типи об'єктів
  • Бібліотеки утиліт
Процес запуску програм:
  • Сценарій компілюється (переклад програми) в байт-код (платформонезависимое подання вихідного тексту програми .pyc файл)
  • Байт-код передається віртуальній машині PVM.
Порівняння з C/C++:
  • Відсутній етап складання
  • Байт-код не є двійковим машинним кодом (не може виконуватися так само швидко)
Альтернативні реалізації Python:
  • CPython (реалізація на ANSI C)
  • Jython (реалізація на Java класах)
  • IronPython (реалізація для використання .Net)

Типи об'єктів в Python

Дані в Python представляється у формі об'єктів — яких вбудованих, або створюваних з допомогою конструкцій мови Python або інших (наприклад).
Програми <= Модулі <= Інструкції <=Вираження
Форми відображення об'єктів:
  • repr (у вигляді програмного коду, наприклад 6.28300000000004)
  • str (більш читається, наприклад 6.283)
Рядок — незмінна послідовність (впорядкована колекція) інших об'єктів (односимвольных рядків) в мові Python.
Деякі операції над послідовностями:
  • len(s) — довжина
  • s[0] — звернення до елементу
  • s[-1] — звернення до елемента з кінця послідовності
  • s[1:3] — зріз починаючи зі зсуву 1 і до 2 (3)
  • s[:] — копіювати всі вміст (не плутати з a=s)
  • s*8 — повторення
  • s+'xyz' — конкатенація
Особливі символи табуляції:
  • \n — кінець рядка
  • \t — табуляція
  • ord('\n') — байт з числовим значенням
  • 'A\0B\0C' — \0 двійковий нуль
[Hint] Щоб вивести всі доступні методи у змінної: dir(s)
Списки (lists) – це впорядковані по місцю розташування колекції об'єктів довільних типів, розмір яких не обмежений.
Списки є послідовностями => підтримують всі операції над послідовностями. Єдина відмінність полягає в тому, що результатом таких операцій є списки, а не рядки.
Переваги списків:
  • Можливість створювати вкладені списки
  • Використання виразів генераторів списків
col2 = [row[1] for row in M]

Словники (dictionary) — не є послідовностями, це колекції об'єктів, де доступ до них здійснюється не за певних зміщень від початку колекції, а по ключам. Змінний тип. Також можлива вкладеність.
D = {'food': 'Spam', 'кількість': 4, 'color': 'pink'}
або
D = {}
D['name'] = 'Bob'

Кортеж (tuple) — список, який неможливо змінити. Кортежі є послідовностями, як списки, але вони є незмінними, як рядки. Можлива вкладеність. Можливо одночасне зберігання об'єктів різних типів.
T = (1, 2, 3, 4)

Об'єкти-файли — це основний інтерфейс між програмним кодом на мові Python та зовнішніми файлами на комп'ютері. Файли є одним з базових типів, але вони представляють собою щось незвичайне, оскільки для файлів відсутня можливість створення об'єктів у вигляді символів. Замість цього, щоб створити об'єкт файлу, необхідно викликати вбудовану функцію open, передавши їй ім'я зовнішнього файлу і рядок режиму доступу до файлу.
f = open('data.txt', 'w') # Створюється новий файл для виводу

Самий кращий на сьогоднішній день спосіб читання файлів полягає в тому, щоб не читати його вміст цілком – файли надають ітератори, які забезпечують автоматичне порядкове читання вмісту файлу в циклах for і в інших контекстах.
Безлічі — це невпорядковані колекції унікальних і незмінних об'єктів. Безлічі створюються вбудованою функцією set.
X = set('spam') # В 2.6 і 3.0 можна створювати з послідовностей
Y = {'h', 'a', 'm'} # 3.0 можна визначати літерали множин
X, Y
({'a', 'p', 's', 'm'}, {'a', 'h', 'm'})
X & Y # Перетин
{'a', 'm'}
X | Y # Об'єднання
{'a', 'p', 's', 'h', 'm'}
X – Y # Різниця
{'p', 's'}

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.