
- •Мета роботи
- •Короткі теоретичні відомості
- •1. Змінні, операції і вирази
- •1.1 Використання інтерпретатора Python, як калькулятора
- •1.2. Представлення тексту
- •1.3. Значення і типи
- •1.4. Перетворення типів
- •1.6. Імена змінних і ключові слова
- •Всього в Python зарезервовано 29 ключових слів:
- •1.7. Вирази
- •1.8. Виконання виразів
- •1.9. Оператори і операнди
- •1.10. Порядок операцій
- •2.1. Прості операції над стрічками
- •2.2. Оператор індексування
- •2.3. Довжина стрічки і від’ємні індекси
- •2.4. Доступ до підстрічок
- •2.5. Зміни у стрічках
- •2.4. Речення
- •3. Списки
- •3.1. Створення списків
- •3.2. Функція range
- •3.3. Списки і індекси
- •3.4. Довжина списку
- •3.5. Додатково про списки
- •3.6. Оператор del
- •4. Кортежі
- •5. Набори
- •Додаток а Сьогодні ми вивчили:
- •Методи роботи зі стрічками
- •Методи роботи зі списками
- •Порядок виконання роботи
- •Варіанти завдань
- •Література
- •Інтернет посилання
- •Методичні вказівки
МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
іНСТИТУТ КОМП’ютерних НАУК та ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ
Кафедра систем автоматизованого проектування
ВИВЧЕННЯ БІБЛІОТЕКИ ПРИКЛАДНИХ ПРОГРАМ NLTK, ДЛЯ ОПРАЦЮВАННЯ ТЕКСТІВ ПРИРОДНОЮ МОВОЮ
ОСНОВИ ПРОГРАМУВАННЯ НА МОВІ PYTHON. БАЗОВІ ТИПИ ДАНИХ.
Методичні вказівки до лабораторної роботи № 2
з дисципліни «Комп’ютерна лінгвістика»
для студентів спеціальності 7.02030303 «Прикладна лінгвістика»
денної та заочної форм навчання
Затверджено на засіданні кафедри
«Системи автоматизованого проектування»
Протокол № 16 від 17.05.2011 р.
Затверджено на засіданні методичної ради ІКНІ
Протокол № 9-10/11 від 18.05.2011 р.
Зареєстровано в НМУ НУ «ЛП»
№ 3518 від 2.06.2011
Львів-2011
ОСНОВИ ПРОГРАМУВАННЯ НА МОВІ PYTHON. БАЗОВІ ТИПИ ДАНИХ. Методичні вказівки до лабораторної роботи № 2 з дисципліни «Комп’ютерна лінгвістика» для студентів спеціальності 7.02030303 денної та заочної форм навчання/Укл. А.Б.Романюк, І.Ю Юрчак. - Львів: Національний університет «Львівська політехніка», 2011. – 32 с.
-
Укладачі:
Романюк А. Б., канд. техн. наук, доцент
Юрчак І.Ю., канд. техн. наук, доцент
Відповідальна за випуск:
Юрчак І.Ю., канд. техн. наук, доцент
Рецензент:
Теслюк В.М., д.т.н., професор кафедри САПР
Мета роботи
Ознайомлення з основними типами даних в Python.
Вивчення основ програмування на мові Python.
Короткі теоретичні відомості
Python - це проста і потужна об’єктно-орієнтована мова програмування високого рівня з чудовими можливостями для обробки лінгвістичних даних.
Natural Language Toolk (NLTK) – набір Python бібліотек, які призначені для аналізу текстів природною мовою. NLTK дозволяє здійснювати символьний та статистичний аналіз текстів, створювати графічні звіти та містить детальну документацію і використовується в проектах з лінгвістики, штучного інтелекту, машинного навчання, автоматизації документообігу. Його можна застосовувати як начальний комплекс, готовий аналітичний інструмент або платформу для створення прикладних систем опрацювання текстів. NLTK вільно розповсюджується (http://www.nltk.org ) і всі бажаючі можуть його встановити згідно інструкції розробників.
Python – інтерпретаційна мова, яка дозволяє зекономити час, що витрачається на компіляцію. Інтерпретатор можна використовувати інтерактивне, що дозволяє експериментувати з можливостями мови і створювати фрагменти програм або тестувати окремі функції.
Інтерпретатор – це програма яка виконує Python програми.
Python 2.6.2 (r262:71605, Apr 14 2009, 22:40:02) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
При запуску інтерпретатора ми бачимо інформацію про його версію, додаткову інформацію і запрошення >>> вводити оператори Python. У випадку використання Interactive DeveLopment Environment (IDLE) нам доступні додаткові зручності, зокрема у відображенні тексту програми на екрані.
1. Змінні, операції і вирази
1.1 Використання інтерпретатора Python, як калькулятора
Спробуємо використати Python, як калькулятор.
>>> 2+5
7
>>> 3*6
18
Після натиснення Enter виконуються дії, інтерпретатор видає результат і чекає на введення наступного оператора. Операція множення виконана вірно з додержанням пріоритету виконання арифметичних дій.
Можемо спробувати виконати інші операції множення і ділення.
>>> 3/3
1
>>> 1/3
0
В другому випадку отримали нуль, бо ділення в цьому випадку є цілочисленним. Математичні операції будуть використовуватись при роботі з лінгвістичними даними в Python. Якщо ввести вираз без змісту то інтерпретатор видає повідомлення про помилку з вказуванням місця помилки і її типу.
>>> 1+
SyntaxError: invalid syntax
1.2. Представлення тексту
Спробуємо працювати з текстом, його можна безпосередньо вводити в інтерпретатор.
>>> Hello World
SyntaxError: invalid syntax
Отримали помилку. Текст або частини тексту в програмах на Python представляються за допомогою стрічок (string) і повинен відділятися від решти програми лапками (одинарними(1), подвійними(2) або потрійними).
>>> 'Monty Python' (1)
'Monty Python'
>>> "Monty Python's Flying Circus" (2)
"Monty Python's Flying Circus"
>>> 'Monty Python\'s Flying Circus' (3)
"Monty Python's Flying Circus"
>>> 'Monty Python's Flying Circus' (4)
File "<stdin>", line 1
'Monty Python's Flying Circus'
^
SyntaxError: invalid syntax
Якщо стрічка містить одинарні лапки необхідно використовувати лівий слеш перед апострофом (3) для того, щоб символ апострофа не розглядався як символ завершення стрічки або використовувати подвійні лапки (2). Якщо цього не зробити, то отримаємо помилку (4).
>>> "Hello World"
'Hello World'
>>> 'Hello World'
'Hello World'
Деколи стрічки можуть складатися з кількох рядків. Python забезпечує декілька способів роботи з ними. В наступному прикладі послідовність з двох стрічок об’єднується в одну. Потрібно використовувати лівий слеш (1) або круглі дужки (2) для того щоб інтерпретатор знав що ввід стрічки ще не завершився після введення першого рядка.
>>> "Shall I compare thee to a Summer's day?"\
"Thou are more lovely and more temperate:"
Shall I compare thee to a Summer's day?Thou are more lovely and more temperate:
>>>
>>> ("Rough winds do shake the darling buds of May,"
"And Summer's lease hath all too short a date:")
Rough winds do shake the darling buds of May,And Summer's lease hath all too short a date:
Застосування потрійних лапок дозволяє представляти стрічку так як вона введена з розділенням окремих рядків:
>>> """Shall I compare thee to a Summer's day?
Thou are more lovely and more temperate:"""
Shall I compare thee to a Summer's day?
Thou are more lovely and more temperate:
>>> '''Rough winds do shake the darling buds of May,
And Summer's lease hath all too short a date:'''
Rough winds do shake the darling buds of May,
And Summer's lease hath all too short a date:
Стрічку також можна вивести за допомогою команди print. Зверніть увагу, що застосовано потрійні лапки і текст виводиться в тому ж самому форматуванні.
>>> print """
Usage: thingy [OPTIONS]
-h Display this usage message
-H hostname Hostname to connect to
"""
Usage: thingy [OPTIONS]
-h Display this usage message
-H hostname Hostname to connect to
Спробуємо використати оператори додавання і множення для роботи з стрічкою.
>>> 'Hello'+ 'World'
'HelloWorld'
Оператор додавання виконує операцію поєднання. Він дозволяє створити нову стрічку на основі двох існуючих, але він не додає пробіл між словами. Спробуємо поєднати три однакові стрічки за допомогою операторів множення та додавання.
>>> 'Hi'+'Hi'+'Hi'
'HiHiHi'
>>> 'Hi'*3
'HiHiHi'