SlideShare a Scribd company logo
Python. Модулі
доц., к.пед.н. Осадча К.П.
Бібліотеки
• збірка об'єктів чи підпрограм для
вирішення близьких за тематикою
задач.
Залежно від мови програмування
бібліотеки містять об'єктні модулі чи
сирцевий код та дані, допоміжні для
задіяння та інтеграції нових
можливостей в програмні рішення.
Навіщо?
• Написання нового програмного
коду вимагає часу, тому зручно
повторно використовувати
частини готових програм.
• Ці фрагменти коду можна
зберігати у бібліотеках
Стандартна бібліотека Python
містить такі модулі
• subprocess
• fractions
• cmath
• glob
• copy
• os.path
• json
• calendar
• os
• pickle
• datetime
• bisect
• collections
• array
• itertools
• time
• sys
• random
• math
• socket…
Модуль random
• Цей модуль вибирає випадкові
числа або переставляє елементи
списку у випадковому порядку
>>> random.random()
0.37444887175646646
>>> random.uniform(1, 10)
1.1800146073117523
>>> random.randrange(10)
7
>>> random.randrange(0, 101, 2)
26
>>> random.choice('abcdefghij')
'c'
>>> random.sample([1, 2, 3, 4, 5], 3)
[4, 1, 5]
Модуль random
Модуль socket
• Допомагає комп'ютерам
підключатися один до одного по
мережі і через Інтернет
Модуль time
• Підкаже поточний час і дату
• Може обчислювати дати:
наприклад, який день буде три дні
потому?
Модуль datetime
•надає класи для обробки часу і дати
різними способами
Приклад
>>> from datetime import datetime,
date, time
>>> d = date(2005, 7, 14)
>>> t = time(12, 30)
>>> datetime.combine(d, t)
datetime.datetime(2005, 7, 14, 12,
30)
Pygame
• Бібліотека для створення
відеоігор
• Дозволяє працювати зі звуком і
спеціальною ігровою графікою
Завантаження модулів
>>> import math >>>
math.e
2.718281828459045
>>> import time, random
>>> time.time() 1376047104.056417
>>> random.random()
0.9874550833306869
Використання
псевдонімів
>>> import math as m
>>> m.e
2.718281828459045
Інструкція from
>>> from math import (sin, cos, tan,
atan)
...
>>> from math import e, ceil as c
>>> e
2.718281828459045
>>> c(4.6)
5
Інструкція from
>>> from sys import *
>>> version
'3.3.2 (v3.3.2:d047928ae3f6, May 16
2013, 00:03:43) [MSC v.1600 32 bit
(Intel)]'
>>> version_info
sys.version_info(major=3, minor=3,
micro=2, releaselevel='final', serial=0)
Довідка
turtle
• Слугує для малювання ліній і
фігур на екрані
Модуль turtle
from turtle import *
reset()
left(90)
forward(100)
right(45)
forward(70)
right(90)
forward(70)
right(45)
forward(100)
right(90)
forward(100)
Завантажує модуль
Обнуляє позицію черепашки
Просуває черепашку
вперед на 70
Повертає черепашку на
90градусів вправо
Результат
Зірка
from turtle import *
color('red', 'yellow')
begin_fill()
while True:
forward(200)
left(170)
if abs(pos()) < 1:
break
end_fill()
done()
Почати слідкувати за
черепашкою для
заповнення області
Заповнити кольором
область, пройдену
черепашкою,
починаючи
з begin_fill();
Повернутися поточне місце
розташування черепахи
Черепашка навколо
сонця
1. from turtle import *
2. color("orange")
3. dot(10)
4. center = pos()
5. color("blue")
6. shape("turtle")
7. speed(0)
8. penup()
9. goto(200, 0)
10. pendown()
11. G = 800
12. v = Vec2D(0, 1)
13. t = 0
14. dt = 1
15.while t < 1100:
16. goto(pos() + v * dt)
17. setheading(towards(center))
18. r = distance(center)
19. acc = (-G / r ** 3) * pos()
20. v += acc * dt
21. t += dt
22.
23.mainloop()
Малювання точки діаметром
Завершити малювання
Почати малювання
Повернути
черепашку під
кутом
Основні команди для
керування черепашкою
• forward(distance) Проповзти вперед на distance
пікселів;
• backward(distance) Проповзти назад на
distance пікселів;
• right(angle) Повернутися наліво на angle
градусів;
• left(angle) Повернутися направо на angle
градусів;
• goto(x, y) Перемістити черепашку в точку з
координатами (x,y);
• setx(x) Установити координату x черепашки;
• sety(y) Установити координату y черепашки;
Основні команди для
керування черепашкою
• setheading(to_angle) Повернути черепашку
під кутом to_angle до вертикалі (0 — наверх,
90 — направо);
• home() Повернути черепашку додому — в
точку з координатами (0,0);
• circle(radius) Намалювати коло радіуса |r|,
центр якої знаходиться зліва від черепашки,
якщо r>0 і праворуч, якщо r<1;
• dot(size, color) Намалювати точку діаметра
size кольору color;
• undo() Відкотити попереднє дію черепашки
Більше на http://server.179.ru/tasks/python/2017b1/pgm12.5_Turtle.html
Модуль fractions
надає підтримку раціональних чисел
>>> Fraction(1, 3)
Fraction(1, 3)
>>> >>> Fraction('3/7')
Fraction(3, 7)
>>> Fraction(100)
Fraction(100, 1)
>>> Fraction()
Fraction(0, 1)
>>> Fraction('3.1415')
Fraction(6283, 2000)
>>> Fraction(3.1415)
Fraction(7074029114692207, 2251799813685248)
Раціональні числа можна,
як int і float, складати,
множити, ділити
>>> from fractions import Fraction
>>> a = Fraction(1, 7)
>>> b = Fraction(1, 3)
>>> a + b
Fraction(10, 21)
>>> a * b
Fraction(1, 21)
fractions.gcd(a, b) -
найбільший спільний дільник
>>> from fractions import gcd
>>> gcd(1, 5)
1
>>> gcd(1000, 3)
1
>>> gcd(4, 6)
2
Модуль cmath
• надає функції для роботи з
комплексними числами.
Модуль glob
•знаходить всі шляхи, які збігаються з
заданим шаблоном у відповідності з
правилами, використовуваними
оболонкою Unix.
Модуль copy
• операція присвоювання не копіює
об'єкт, він лише створює
посилання на об'єкт.
• Для змінюваних колекцій, або для
колекцій, які містять змінні
елементи, часто необхідна така
копія, щоб її можна було змінити,
не змінюючи оригінал.
• Надає загальні (поверхнева та
глибока) операції копіювання
Модуль copy
• copy.copy(x) - повертає
поверхневу копію x.
• copy.deepcopy(x) - повертає повну
копію x.
• Исключениесору.error - виникає,
якщо об'єкт неможливо
скопіювати.
Модуль copy
>>> import copy
>>> test_1 = [1, 2, 3, [1, 2, 3]]
>>> test_copy = copy.copy(test_1)
>>> print(test_1, test_copy)
[1, 2, 3, [1, 2, 3]] [1, 2, 3, [1, 2, 3]]
Модуль functools
• збірник функцій високого рівня:
взаємодіючих з іншими функціями або
повертають інші функції.
• @functools.lru_cache(maxsize=128,
typed=False) - декоратор, який зберігає
результати maxsize останніх викликів.
Це може заощадити час при дорогих
обчисленнях, якщо функція періодично
викликається з тими ж аргументами.
>>> from functools import lru_cache
>>> # Числа Фібоначчі
>>> @lru_cache(maxsize=None)
... def fib(n):
... if n < 2:
... return n
... return fib(n-1) + fib(n-2)
>>> print([fib(n) for n in range(100)])
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,...]
>>> print(fib.cache_info())
CacheInfo(hits=196, misses=100,
maxsize=None, currsize=100)
Модуль calendar
дозволяє надрукувати собі
календарик а також містить деякі
інші корисні функції для роботи з
календарями):
•calendar.setfirstweekday(weekday) -
встановлює перший день тижня
•calendar.firstweekday() - повертає
перший день тижня
•calendar.isleap(year) - є рік
високосним…
Приклад calendar
import calendar cal =
calendar.month(2015, 11)
print "Here is the calendar:"
print cal
Модуль os
• надає безліч функцій для роботи з
операційною системою, причому
їх поведінка, як правило, не
залежить від ОС, тому програми
залишаються стерпними.
Модуль os
>>> import os
>>> os.getcwd()
'C:Python33‘ - поточна робоча
директорія.
>>> os.name
'nt' - ім'я операційної системи.
Модуль json
• JSON (JavaScript Object Notation) -
простий формат обміну даними,
що базується на підмножині
синтаксису JavaScript. Модуль
json дозволяє кодувати і
декодувати дані в зручному
форматі.
Модуль json
>> import json
>>> json.dumps(['foo', {'bar': ('baz',
None, 1.0, 2)}])
'["foo", {"bar": ["baz", null, 1.0, 2]}]'
>>> print(json.dumps(""foobar"))
""foobar"
Модуль sys
забезпечує доступ до деяких змінних і
функцій, взаємодіючим з інтерпретатором
python.
•sys.argv - список аргументів командного
рядка, що передаються сценарієм Python.
•sys.copyright - рядок, що містить авторські
права, що належать до інтерпретатору
Python.
•sys.exec_prefix - каталог установки Python.
•sys.executable - шлях до інтерпретатору
Python.
Модуль sys
import sys for x in sys.argv:
print "Argument: ", x
Модуль array
• визначає масиви в python
from array import array
a = array("i", [10, 20, 30])
for value in a:
print(value)
10 20 30
Методи array
• array.append(х)
• array.count ()
• array.extend(iter) - додавання елементів об'єкта в
масив.
• array.fromfile(F, N) - читає N елементів з файлу і
додає їх в кінець масиву.
• array.fromlist(список) - додавання елементів зі
списку.
• array.index(х) - номер першого входження x в
масив.
• array.pop(i) - видаляє i-ий елемент масиву і
повертає його.
• array.remove(х) - видалити перше входження х з
масиву.
• array.reverse() - зворотний порядок елементів у
масиві.
Приклад
import array
a = array.array('i', xrange(5))
a.extend(xrange(5))
print 'Extended:', a
Extended: array('i', [0, 1, 2, 3, 4, 0, 1,
2, 3, 4])
Масив
• Набір однотипних елементів, що мають
спільне ім'я, доступ до яких що здійснюється
по індексу.
• Є структурою з довільним доступом по
індексу
• У Python масив реалізований за допомогою
типу даних «список»
• Вони використовуються рідко, коли потрібно
досягти високої швидкості роботи. В інших
випадках масиви можна замінити іншими
типами даних: списками, кортежами, рядками.
Масив (матриця)
Часто в задачах доводиться
зберігати прямокутні таблиці з
даними. Такі таблиці називаються
матрицями, або двовимірними
масивами. У мові програмування
Python таблицю можна представити
у вигляді списку рядків, кожен
елемент якого є в свою чергу
списком, наприклад, чисел
Двомірний масив
matrix = [[1, 2, 3], [1, 2, 7], [4, 9, 2], [6, 2, 5]]
print (matrix)
[[1, 2, 3], [1, 2, 7], [4, 9, 2], [6, 2, 5]]
print matrix[0]
[1, 2, 3]
print matrix[0][1]
2
Модуль tkinter
• Для створення кнопок, вікон й
інших графічних елементів для
взаємодії користувача з
програмою
Створюємо головне вікно
from tkinter import *
def printer(event):
print ("Очередной 'Hello World!'")
root = Tk()
but = Button(root)
but["text"] = "Печать"
but.bind("<Button-1>",printer)
but.pack()
root.mainloop()
def printer(event):
print ("Очередной 'Hello World!'")
Завдання кнопки вивести якесь
повідомлення у потік виводу,
використовуючи функцію print.
Робити вона це буде при натисканні на
неї лівою кнопкою миші.
Дії (алгоритм), які відбуваються при цій чи
іншій події, оформляють у вигляді
функції, а потім викликають, коли вони
знадобляться.
Параметр event – це яка-небудь подія.
root = Tk()
Об'єкт вікна верхнього рівня створюється
при зверненні до класу Tk модулі tkinter.
Змінну пов'язану з об'єктом-вікном
прийнято називати root
but = Button(root)
Кнопка створюється при зверненні до
класу Button модулі tkinter. Об'єкт кнопка
зв'язується з якої-небудь змінною (but). У
класі Button є обов'язковий параметр —
об'єкт, якому кнопка належить (root).
but["text"] = "Печать"
У кнопки багато властивостей:
розмір, колір фону і напису та ін.
Поки встановимо лише одну
властивість — текст (text)
but.bind("<Button-1>",printer)
Подія натискання лівою кнопкою
миші виглядає так: <Button-1>.
Потрібно зв'язати цю подію з
обробником (функцією printer). Для
зв'язку призначений метод bind.
but.pack()
Для відображення кнопки у вікні
використовується методу pack.
root.mainloop()
Для відображення галвного вікна
використовується метод mainloop.
Імітатор кубика
from tkinter import *
from random import randint
def roll():
text.delete(0.0, END)
text.insert(END, str(randint(1,6)))
window = Tk()
text = Text(window, width=1, height=1)
buttonA = Button(window, text='Press to
roll!', command=roll)
text.pack()
buttonA.pack()
Кольори
>>> from tkinter import *
>>> t=Tk()
>>> colorchooser.askcolor()
((222.8671875, 99.38671875, 201.78515625),
'#de63c9')
червоний зелений синій
Код кольору у 16-річній системі
Tkinter кординати холста
from random import *
from tkinter import *
size = 500
window = Tk()
canvas = Canvas(window, width=size, height=size)
canvas.pack()
while True:
col = choice(['pink', 'orange', 'purple', 'yellow',
'red', 'green', 'blue'])
x0 = randint(0, size)
y0 = randint(0, size)
d = randint(0, size/5)
canvas.create_oval(x0, y0, x0+d, y0+d, fill=col)
window.update()
Реакція на події
<Button-1> <Right>
<Button-3>
<space>
<Left>
<Up>
<KeyPress-a>
<Down>
Події миші Події клавіатури
Клік
лівою
кнопкою
Клік
правою
кнопкою
Натиснута
стрілка
вправо
Натиснута
стрілка
вліво
Натиснута
клавіша
«пробіл»
Натиснута
стрілка
вверх
Натиснута
стрілка
вниз
Натиснута
клавіша а Можна
поставити
різні літери
li = ["red","green"]
def color(event):
fra.configure(bg=li[0])
li[0],li[1] = li[1],li[0]
def outgo(event):
root.destroy()
from tkinter import *
root = Tk()
fra = Frame(root,width=100,height=100)
but = Button(root,text="Выход")
fra.pack()
but.pack()
root.bind("<Return>",color)
but.bind("<Button-1>",outgo)
root.mainloop()
Створення свого
модуля на Python
Створимо файл mymodule.py, в якій
визначимо які-небудь функції:
def hello():
print('Hello, world!')
def fib(n):
a = b = 1
for i in range(n - 2):
a, b = b, a + b
return b
Створення свого
модуля на Python
Тепер у цій же папці створимо
інший файл, наприклад, main.py:
import mymodule
mymodule.hello()
print(mymodule.fib(10))
Створення свого
модуля на Python
def hello():
print('Hello, world!')
def fib(n):
a = b = 1
for i in range(n - 2):
a, b = b, a + b
return b
if __name__ == "__main__":
hello()
for i in range(10):
print(fib(i))
Модулі Python

More Related Content

What's hot

Схеми та діаграми
Схеми та діаграмиСхеми та діаграми
Схеми та діаграми
Olga Barna
 
Урок 15 для 7 класу - Моделі. Етапи побудови моделей. Реалізація математичних...
Урок 15 для 7 класу - Моделі. Етапи побудови моделей. Реалізація математичних...Урок 15 для 7 класу - Моделі. Етапи побудови моделей. Реалізація математичних...
Урок 15 для 7 класу - Моделі. Етапи побудови моделей. Реалізація математичних...
VsimPPT
 
Урок 3. Векторні зображення, їхні властивості. Формати файлів векторних зобра...
Урок 3. Векторні зображення, їхні властивості. Формати файлів векторних зобра...Урок 3. Векторні зображення, їхні властивості. Формати файлів векторних зобра...
Урок 3. Векторні зображення, їхні властивості. Формати файлів векторних зобра...
Ihor Tkachenko
 
проект скретч
проект скретчпроект скретч
проект скретч
svit123lana
 
Кодування алгоритмів. Поняття складності алгоритмів
Кодування алгоритмів. Поняття складності алгоритмівКодування алгоритмів. Поняття складності алгоритмів
Кодування алгоритмів. Поняття складності алгоритмів
t0hins
 
6 клас урок 1 Інформатика
6 клас урок 1 Інформатика6 клас урок 1 Інформатика
6 клас урок 1 Інформатика
Татьяна Ляш
 
Урок 9 для 9 класу - Використання схем і діаграм у презентаціях.
Урок 9 для 9 класу - Використання схем і діаграм у презентаціях.Урок 9 для 9 класу - Використання схем і діаграм у презентаціях.
Урок 9 для 9 класу - Використання схем і діаграм у презентаціях.
VsimPPT
 
Зберігання інформації. Носії інформації.
Зберігання інформації. Носії інформації.Зберігання інформації. Носії інформації.
Зберігання інформації. Носії інформації.
V_Kobzar
 
комп’ютерна презентація
комп’ютерна презентаціякомп’ютерна презентація
комп’ютерна презентація
NVK4
 
8 клас урок 4
8 клас урок 48 клас урок 4
8 клас урок 4
Александр Карпук
 
Урок 3. Апаратна і програмна складові інформаційної системи. Комп'ютер як при...
Урок 3. Апаратна і програмна складові інформаційної системи. Комп'ютер як при...Урок 3. Апаратна і програмна складові інформаційної системи. Комп'ютер як при...
Урок 3. Апаратна і програмна складові інформаційної системи. Комп'ютер як при...
Ihor Tkachenko
 
Робочий зошит з інформатики 5 клас за підручником Ривкінд
Робочий зошит з інформатики 5 клас за підручником РивкіндРобочий зошит з інформатики 5 клас за підручником Ривкінд
Робочий зошит з інформатики 5 клас за підручником Ривкінд
VsimPPT
 
8 клас урок 2
8 клас урок 28 клас урок 2
8 клас урок 2
Александр Карпук
 
3 клас урок 14 що таке гіперпосилання.
3 клас урок 14 що таке гіперпосилання.3 клас урок 14 що таке гіперпосилання.
3 клас урок 14 що таке гіперпосилання.
Сокальська ЗШ І-ІІІ ступенів №2
 
Презентація:Форматування символів та абзаців
Презентація:Форматування символів та абзацівПрезентація:Форматування символів та абзаців
Презентація:Форматування символів та абзаців
sveta7940
 
Презентація на тему: Комп'ютерна графіка
Презентація на тему: Комп'ютерна графікаПрезентація на тему: Комп'ютерна графіка
Презентація на тему: Комп'ютерна графіка
mishakarpovets1999
 
комп’ютерні програми і мови програмування
комп’ютерні програми і мови програмуваннякомп’ютерні програми і мови програмування
комп’ютерні програми і мови програмування
Захарова Олена
 
Презентація:Комп"ютери та їх різновиди
Презентація:Комп"ютери та їх різновидиПрезентація:Комп"ютери та їх різновиди
Презентація:Комп"ютери та їх різновиди
sveta7940
 
Циклічні алгоритми
Циклічні алгоритми Циклічні алгоритми
Циклічні алгоритми
Александр К
 
Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.
Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.
Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.
Василь Тереховський
 

What's hot (20)

Схеми та діаграми
Схеми та діаграмиСхеми та діаграми
Схеми та діаграми
 
Урок 15 для 7 класу - Моделі. Етапи побудови моделей. Реалізація математичних...
Урок 15 для 7 класу - Моделі. Етапи побудови моделей. Реалізація математичних...Урок 15 для 7 класу - Моделі. Етапи побудови моделей. Реалізація математичних...
Урок 15 для 7 класу - Моделі. Етапи побудови моделей. Реалізація математичних...
 
Урок 3. Векторні зображення, їхні властивості. Формати файлів векторних зобра...
Урок 3. Векторні зображення, їхні властивості. Формати файлів векторних зобра...Урок 3. Векторні зображення, їхні властивості. Формати файлів векторних зобра...
Урок 3. Векторні зображення, їхні властивості. Формати файлів векторних зобра...
 
проект скретч
проект скретчпроект скретч
проект скретч
 
Кодування алгоритмів. Поняття складності алгоритмів
Кодування алгоритмів. Поняття складності алгоритмівКодування алгоритмів. Поняття складності алгоритмів
Кодування алгоритмів. Поняття складності алгоритмів
 
6 клас урок 1 Інформатика
6 клас урок 1 Інформатика6 клас урок 1 Інформатика
6 клас урок 1 Інформатика
 
Урок 9 для 9 класу - Використання схем і діаграм у презентаціях.
Урок 9 для 9 класу - Використання схем і діаграм у презентаціях.Урок 9 для 9 класу - Використання схем і діаграм у презентаціях.
Урок 9 для 9 класу - Використання схем і діаграм у презентаціях.
 
Зберігання інформації. Носії інформації.
Зберігання інформації. Носії інформації.Зберігання інформації. Носії інформації.
Зберігання інформації. Носії інформації.
 
комп’ютерна презентація
комп’ютерна презентаціякомп’ютерна презентація
комп’ютерна презентація
 
8 клас урок 4
8 клас урок 48 клас урок 4
8 клас урок 4
 
Урок 3. Апаратна і програмна складові інформаційної системи. Комп'ютер як при...
Урок 3. Апаратна і програмна складові інформаційної системи. Комп'ютер як при...Урок 3. Апаратна і програмна складові інформаційної системи. Комп'ютер як при...
Урок 3. Апаратна і програмна складові інформаційної системи. Комп'ютер як при...
 
Робочий зошит з інформатики 5 клас за підручником Ривкінд
Робочий зошит з інформатики 5 клас за підручником РивкіндРобочий зошит з інформатики 5 клас за підручником Ривкінд
Робочий зошит з інформатики 5 клас за підручником Ривкінд
 
8 клас урок 2
8 клас урок 28 клас урок 2
8 клас урок 2
 
3 клас урок 14 що таке гіперпосилання.
3 клас урок 14 що таке гіперпосилання.3 клас урок 14 що таке гіперпосилання.
3 клас урок 14 що таке гіперпосилання.
 
Презентація:Форматування символів та абзаців
Презентація:Форматування символів та абзацівПрезентація:Форматування символів та абзаців
Презентація:Форматування символів та абзаців
 
Презентація на тему: Комп'ютерна графіка
Презентація на тему: Комп'ютерна графікаПрезентація на тему: Комп'ютерна графіка
Презентація на тему: Комп'ютерна графіка
 
комп’ютерні програми і мови програмування
комп’ютерні програми і мови програмуваннякомп’ютерні програми і мови програмування
комп’ютерні програми і мови програмування
 
Презентація:Комп"ютери та їх різновиди
Презентація:Комп"ютери та їх різновидиПрезентація:Комп"ютери та їх різновиди
Презентація:Комп"ютери та їх різновиди
 
Циклічні алгоритми
Циклічні алгоритми Циклічні алгоритми
Циклічні алгоритми
 
Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.
Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.
Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.
 

Similar to Модулі Python

Lecture 07 swift
Lecture 07 swiftLecture 07 swift
Lecture 07 swift
Maksym Davydov
 
Основи мови Ci
Основи мови CiОснови мови Ci
Основи мови Ci
Escuela
 
алфавіт мови програмування Pascal 14
алфавіт мови програмування Pascal 14алфавіт мови програмування Pascal 14
алфавіт мови програмування Pascal 14zero1996
 
Mka python jr-urok_03_ua_1563258828
Mka python jr-urok_03_ua_1563258828Mka python jr-urok_03_ua_1563258828
Mka python jr-urok_03_ua_1563258828
PavloTsiura
 
7_2811.pptx
7_2811.pptx7_2811.pptx
7_2811.pptx
ssuser53d8f2
 
RxPY для чайників
RxPY для чайниківRxPY для чайників
RxPY для чайників
Vasyl Baran
 
[Knowledge Sharing] - Behavioral patterns by Pavlo Serdyuk (UKR)
[Knowledge Sharing] - Behavioral patterns by Pavlo Serdyuk (UKR)[Knowledge Sharing] - Behavioral patterns by Pavlo Serdyuk (UKR)
[Knowledge Sharing] - Behavioral patterns by Pavlo Serdyuk (UKR)
Exoft LLC
 
Clean code (UA)
Clean code (UA)Clean code (UA)
Clean code (UA)
Oleksandr Pavlyshak
 
Python
PythonPython
Python
svit123lana
 
лекції 4 7
лекції 4 7лекції 4 7
лекції 4 7
cit-cit
 
tsql
tsqltsql
tsql
eleksdev
 
Основи алгоритмізації та програмування. Лекція 1
Основи алгоритмізації та програмування. Лекція 1Основи алгоритмізації та програмування. Лекція 1
Основи алгоритмізації та програмування. Лекція 1Dmitry Chabanenko
 
Prometheus. Масовий онлайн курс "Основи програмування". Лекція 5
Prometheus. Масовий онлайн курс "Основи програмування". Лекція 5Prometheus. Масовий онлайн курс "Основи програмування". Лекція 5
Prometheus. Масовий онлайн курс "Основи програмування". Лекція 5
Nikita Pavliuchenko
 
iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)
Anatoliy Okhotnikov
 
01 c# basics
01 c# basics01 c# basics
01 c# basicseleksdev
 
масиви
масивимасиви
Less37
Less37Less37

Similar to Модулі Python (20)

Lecture 07 swift
Lecture 07 swiftLecture 07 swift
Lecture 07 swift
 
Основи мови Ci
Основи мови CiОснови мови Ci
Основи мови Ci
 
07 Containers
07 Containers07 Containers
07 Containers
 
алфавіт мови програмування Pascal 14
алфавіт мови програмування Pascal 14алфавіт мови програмування Pascal 14
алфавіт мови програмування Pascal 14
 
Mka python jr-urok_03_ua_1563258828
Mka python jr-urok_03_ua_1563258828Mka python jr-urok_03_ua_1563258828
Mka python jr-urok_03_ua_1563258828
 
7_2811.pptx
7_2811.pptx7_2811.pptx
7_2811.pptx
 
RxPY для чайників
RxPY для чайниківRxPY для чайників
RxPY для чайників
 
[Knowledge Sharing] - Behavioral patterns by Pavlo Serdyuk (UKR)
[Knowledge Sharing] - Behavioral patterns by Pavlo Serdyuk (UKR)[Knowledge Sharing] - Behavioral patterns by Pavlo Serdyuk (UKR)
[Knowledge Sharing] - Behavioral patterns by Pavlo Serdyuk (UKR)
 
Clean code (UA)
Clean code (UA)Clean code (UA)
Clean code (UA)
 
Python
PythonPython
Python
 
лекції 4 7
лекції 4 7лекції 4 7
лекції 4 7
 
tsql
tsqltsql
tsql
 
Основи алгоритмізації та програмування. Лекція 1
Основи алгоритмізації та програмування. Лекція 1Основи алгоритмізації та програмування. Лекція 1
Основи алгоритмізації та програмування. Лекція 1
 
05 Arrays
05 Arrays05 Arrays
05 Arrays
 
Prometheus. Масовий онлайн курс "Основи програмування". Лекція 5
Prometheus. Масовий онлайн курс "Основи програмування". Лекція 5Prometheus. Масовий онлайн курс "Основи програмування". Лекція 5
Prometheus. Масовий онлайн курс "Основи програмування". Лекція 5
 
iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)
 
01 c# basics
01 c# basics01 c# basics
01 c# basics
 
масиви
масивимасиви
масиви
 
Multithreading and parallelism
Multithreading and parallelismMultithreading and parallelism
Multithreading and parallelism
 
Less37
Less37Less37
Less37
 

More from Екатерина Осадчая

Інформатика та історія розвитку обчислювальної техніки
Інформатика та історія розвитку обчислювальної технікиІнформатика та історія розвитку обчислювальної техніки
Інформатика та історія розвитку обчислювальної техніки
Екатерина Осадчая
 
Тренування інтелекту
Тренування інтелектуТренування інтелекту
Тренування інтелекту
Екатерина Осадчая
 
Добра справа "Джерело"
Добра справа "Джерело"Добра справа "Джерело"
Добра справа "Джерело"
Екатерина Осадчая
 
Панель інструментів
Панель інструментівПанель інструментів
Панель інструментів
Екатерина Осадчая
 
Програмне забезпечення LINUX
Програмне забезпечення LINUXПрограмне забезпечення LINUX
Програмне забезпечення LINUX
Екатерина Осадчая
 
Загальна характеристика сімейства ОС LINUX
Загальна характеристика сімейства ОС LINUXЗагальна характеристика сімейства ОС LINUX
Загальна характеристика сімейства ОС LINUX
Екатерина Осадчая
 
ОПЕРАЦІЙНА СИСТЕМА UNIX
ОПЕРАЦІЙНА СИСТЕМА UNIXОПЕРАЦІЙНА СИСТЕМА UNIX
ОПЕРАЦІЙНА СИСТЕМА UNIX
Екатерина Осадчая
 
Операційна система UNIX
Операційна система UNIXОпераційна система UNIX
Операційна система UNIX
Екатерина Осадчая
 
Операційна система UNIX
Операційна система UNIXОпераційна система UNIX
Операційна система UNIX
Екатерина Осадчая
 
Об'єктно-орієнтована платформа Windows
Об'єктно-орієнтована платформа WindowsОб'єктно-орієнтована платформа Windows
Об'єктно-орієнтована платформа Windows
Екатерина Осадчая
 
КОНЦЕПЦІЯ ОПЕРАЦІЙНИХ СИСТЕМ WINDOWS
КОНЦЕПЦІЯ ОПЕРАЦІЙНИХ СИСТЕМ WINDOWSКОНЦЕПЦІЯ ОПЕРАЦІЙНИХ СИСТЕМ WINDOWS
КОНЦЕПЦІЯ ОПЕРАЦІЙНИХ СИСТЕМ WINDOWS
Екатерина Осадчая
 
Операційна система MS DOS
Операційна система MS DOSОпераційна система MS DOS
Операційна система MS DOS
Екатерина Осадчая
 
Класифікація програмних продуктів
Класифікація програмних продуктівКласифікація програмних продуктів
Класифікація програмних продуктів
Екатерина Осадчая
 
Мультимедийные руководства
Мультимедийные руководстваМультимедийные руководства
Мультимедийные руководства
Екатерина Осадчая
 
Шпаргалка оп Css3
Шпаргалка оп Css3Шпаргалка оп Css3
Шпаргалка оп Css3
Екатерина Осадчая
 
Maluk&Komp
Maluk&KompMaluk&Komp
Telecomunications
TelecomunicationsTelecomunications
Інтерактивні технології викладання інформатики
Інтерактивні технології викладання інформатикиІнтерактивні технології викладання інформатики
Інтерактивні технології викладання інформатикиЕкатерина Осадчая
 

More from Екатерина Осадчая (20)

Інформатика та історія розвитку обчислювальної техніки
Інформатика та історія розвитку обчислювальної технікиІнформатика та історія розвитку обчислювальної техніки
Інформатика та історія розвитку обчислювальної техніки
 
Тренування інтелекту
Тренування інтелектуТренування інтелекту
Тренування інтелекту
 
Добра справа "Джерело"
Добра справа "Джерело"Добра справа "Джерело"
Добра справа "Джерело"
 
Панель інструментів
Панель інструментівПанель інструментів
Панель інструментів
 
Програмне забезпечення LINUX
Програмне забезпечення LINUXПрограмне забезпечення LINUX
Програмне забезпечення LINUX
 
ФАЙЛОВА СИСТЕМА LINUX
ФАЙЛОВА СИСТЕМА LINUX ФАЙЛОВА СИСТЕМА LINUX
ФАЙЛОВА СИСТЕМА LINUX
 
Загальна характеристика сімейства ОС LINUX
Загальна характеристика сімейства ОС LINUXЗагальна характеристика сімейства ОС LINUX
Загальна характеристика сімейства ОС LINUX
 
ОПЕРАЦІЙНА СИСТЕМА UNIX
ОПЕРАЦІЙНА СИСТЕМА UNIXОПЕРАЦІЙНА СИСТЕМА UNIX
ОПЕРАЦІЙНА СИСТЕМА UNIX
 
Операційна система UNIX
Операційна система UNIXОпераційна система UNIX
Операційна система UNIX
 
Операційна система UNIX
Операційна система UNIXОпераційна система UNIX
Операційна система UNIX
 
Об'єктно-орієнтована платформа Windows
Об'єктно-орієнтована платформа WindowsОб'єктно-орієнтована платформа Windows
Об'єктно-орієнтована платформа Windows
 
КОНЦЕПЦІЯ ОПЕРАЦІЙНИХ СИСТЕМ WINDOWS
КОНЦЕПЦІЯ ОПЕРАЦІЙНИХ СИСТЕМ WINDOWSКОНЦЕПЦІЯ ОПЕРАЦІЙНИХ СИСТЕМ WINDOWS
КОНЦЕПЦІЯ ОПЕРАЦІЙНИХ СИСТЕМ WINDOWS
 
Операційна система MS DOS
Операційна система MS DOSОпераційна система MS DOS
Операційна система MS DOS
 
Класифікація програмних продуктів
Класифікація програмних продуктівКласифікація програмних продуктів
Класифікація програмних продуктів
 
Мультимедийные руководства
Мультимедийные руководстваМультимедийные руководства
Мультимедийные руководства
 
Шпаргалка по Html 5
Шпаргалка по Html 5Шпаргалка по Html 5
Шпаргалка по Html 5
 
Шпаргалка оп Css3
Шпаргалка оп Css3Шпаргалка оп Css3
Шпаргалка оп Css3
 
Maluk&Komp
Maluk&KompMaluk&Komp
Maluk&Komp
 
Telecomunications
TelecomunicationsTelecomunications
Telecomunications
 
Інтерактивні технології викладання інформатики
Інтерактивні технології викладання інформатикиІнтерактивні технології викладання інформатики
Інтерактивні технології викладання інформатики
 

Recently uploaded

звіт 2023-2024 32024 32024 32024 32024 3.pptx
звіт 2023-2024 32024 32024 32024 32024 3.pptxзвіт 2023-2024 32024 32024 32024 32024 3.pptx
звіт 2023-2024 32024 32024 32024 32024 3.pptx
home
 
Передвиборча програма Ковальової Катерини
Передвиборча програма Ковальової КатериниПередвиборча програма Ковальової Катерини
Передвиборча програма Ковальової Катерини
tetiana1958
 
Р.Л.Стівенсон "Вересовий трунок". Допомога учню
Р.Л.Стівенсон "Вересовий трунок". Допомога учнюР.Л.Стівенсон "Вересовий трунок". Допомога учню
Р.Л.Стівенсон "Вересовий трунок". Допомога учню
Adriana Himinets
 
Управлінські процеси закладу освіти.pptx
Управлінські процеси закладу освіти.pptxУправлінські процеси закладу освіти.pptx
Управлінські процеси закладу освіти.pptx
ssuserce4e97
 
Випуск магістрів- науковців факультету мехатроніки та інжинірингу, 2024 р.
Випуск магістрів- науковців факультету мехатроніки та інжинірингу, 2024 р.Випуск магістрів- науковців факультету мехатроніки та інжинірингу, 2024 р.
Випуск магістрів- науковців факультету мехатроніки та інжинірингу, 2024 р.
tetiana1958
 
Оригінал. Переклад. Види перекладів. Допомога учню
Оригінал. Переклад. Види перекладів. Допомога учнюОригінал. Переклад. Види перекладів. Допомога учню
Оригінал. Переклад. Види перекладів. Допомога учню
Adriana Himinets
 
Безбар’єрність в бібліотеці – суспільна норма
Безбар’єрність в бібліотеці – суспільна нормаБезбар’єрність в бібліотеці – суспільна норма
Безбар’єрність в бібліотеці – суспільна норма
ssuser15a891
 
Звіт директора за 2023-2024 н. р. [Автозбережено].ppt
Звіт директора  за 2023-2024 н. р. [Автозбережено].pptЗвіт директора  за 2023-2024 н. р. [Автозбережено].ppt
Звіт директора за 2023-2024 н. р. [Автозбережено].ppt
ssuser59c0a2
 
"Він плакав і сміявся з народом: творчий спадок Федьковича"
"Він плакав і сміявся з народом: творчий спадок Федьковича""Він плакав і сміявся з народом: творчий спадок Федьковича"
"Він плакав і сміявся з народом: творчий спадок Федьковича"
Чернівецька обласна бібліотека для дітей
 
курсова робота теорема Штольца з математики
курсова робота теорема Штольца з математикикурсова робота теорема Штольца з математики
курсова робота теорема Штольца з математики
ssuser3a363c
 
Проєкт "Подорож містами України". Буковина
Проєкт "Подорож містами України". БуковинаПроєкт "Подорож містами України". Буковина
Проєкт "Подорож містами України". Буковина
НБУ для дітей
 
Практика студентів на складі одягу H&M у Польщі
Практика студентів на складі одягу H&M у ПольщіПрактика студентів на складі одягу H&M у Польщі
Практика студентів на складі одягу H&M у Польщі
tetiana1958
 
Звіт керівника закладу за 2023-2024.pptx
Звіт керівника закладу за 2023-2024.pptxЗвіт керівника закладу за 2023-2024.pptx
Звіт керівника закладу за 2023-2024.pptx
ssuserd0ab23
 
Наказ про зарахування 1 класу 2024 2025.pdf
Наказ про зарахування 1 класу 2024 2025.pdfНаказ про зарахування 1 класу 2024 2025.pdf
Наказ про зарахування 1 класу 2024 2025.pdf
Ostap Vuschna
 
Передвиборча програма Майора Станіслава
Передвиборча програма  Майора СтаніславаПередвиборча програма  Майора Станіслава
Передвиборча програма Майора Станіслава
tetiana1958
 
ПРЕЗЕНТАЦІЯ ПРО СХОВИЩЕ захисна споруда.pptx
ПРЕЗЕНТАЦІЯ ПРО СХОВИЩЕ захисна споруда.pptxПРЕЗЕНТАЦІЯ ПРО СХОВИЩЕ захисна споруда.pptx
ПРЕЗЕНТАЦІЯ ПРО СХОВИЩЕ захисна споруда.pptx
ssuserd1824d
 
педрада 2024 травень 2педрада 2024 травень .pptx
педрада 2024 травень 2педрада 2024 травень .pptxпедрада 2024 травень 2педрада 2024 травень .pptx
педрада 2024 травень 2педрада 2024 травень .pptx
home
 
Звіт в.о. директора Лохвицької гімназії.pptx
Звіт в.о. директора Лохвицької гімназії.pptxЗвіт в.о. директора Лохвицької гімназії.pptx
Звіт в.о. директора Лохвицької гімназії.pptx
ssuserd8e4941
 
Звіт за результатами самооцінювання щодо освітнього середовища
Звіт за результатами самооцінювання щодо освітнього середовищаЗвіт за результатами самооцінювання щодо освітнього середовища
Звіт за результатами самооцінювання щодо освітнього середовища
ssuserce4e97
 
Звіт директора КЗО "СЗШ №124" ДМР 2023-2024 н.р.
Звіт директора КЗО "СЗШ №124" ДМР 2023-2024 н.р.Звіт директора КЗО "СЗШ №124" ДМР 2023-2024 н.р.
Звіт директора КЗО "СЗШ №124" ДМР 2023-2024 н.р.
Pervushina1983
 

Recently uploaded (20)

звіт 2023-2024 32024 32024 32024 32024 3.pptx
звіт 2023-2024 32024 32024 32024 32024 3.pptxзвіт 2023-2024 32024 32024 32024 32024 3.pptx
звіт 2023-2024 32024 32024 32024 32024 3.pptx
 
Передвиборча програма Ковальової Катерини
Передвиборча програма Ковальової КатериниПередвиборча програма Ковальової Катерини
Передвиборча програма Ковальової Катерини
 
Р.Л.Стівенсон "Вересовий трунок". Допомога учню
Р.Л.Стівенсон "Вересовий трунок". Допомога учнюР.Л.Стівенсон "Вересовий трунок". Допомога учню
Р.Л.Стівенсон "Вересовий трунок". Допомога учню
 
Управлінські процеси закладу освіти.pptx
Управлінські процеси закладу освіти.pptxУправлінські процеси закладу освіти.pptx
Управлінські процеси закладу освіти.pptx
 
Випуск магістрів- науковців факультету мехатроніки та інжинірингу, 2024 р.
Випуск магістрів- науковців факультету мехатроніки та інжинірингу, 2024 р.Випуск магістрів- науковців факультету мехатроніки та інжинірингу, 2024 р.
Випуск магістрів- науковців факультету мехатроніки та інжинірингу, 2024 р.
 
Оригінал. Переклад. Види перекладів. Допомога учню
Оригінал. Переклад. Види перекладів. Допомога учнюОригінал. Переклад. Види перекладів. Допомога учню
Оригінал. Переклад. Види перекладів. Допомога учню
 
Безбар’єрність в бібліотеці – суспільна норма
Безбар’єрність в бібліотеці – суспільна нормаБезбар’єрність в бібліотеці – суспільна норма
Безбар’єрність в бібліотеці – суспільна норма
 
Звіт директора за 2023-2024 н. р. [Автозбережено].ppt
Звіт директора  за 2023-2024 н. р. [Автозбережено].pptЗвіт директора  за 2023-2024 н. р. [Автозбережено].ppt
Звіт директора за 2023-2024 н. р. [Автозбережено].ppt
 
"Він плакав і сміявся з народом: творчий спадок Федьковича"
"Він плакав і сміявся з народом: творчий спадок Федьковича""Він плакав і сміявся з народом: творчий спадок Федьковича"
"Він плакав і сміявся з народом: творчий спадок Федьковича"
 
курсова робота теорема Штольца з математики
курсова робота теорема Штольца з математикикурсова робота теорема Штольца з математики
курсова робота теорема Штольца з математики
 
Проєкт "Подорож містами України". Буковина
Проєкт "Подорож містами України". БуковинаПроєкт "Подорож містами України". Буковина
Проєкт "Подорож містами України". Буковина
 
Практика студентів на складі одягу H&M у Польщі
Практика студентів на складі одягу H&M у ПольщіПрактика студентів на складі одягу H&M у Польщі
Практика студентів на складі одягу H&M у Польщі
 
Звіт керівника закладу за 2023-2024.pptx
Звіт керівника закладу за 2023-2024.pptxЗвіт керівника закладу за 2023-2024.pptx
Звіт керівника закладу за 2023-2024.pptx
 
Наказ про зарахування 1 класу 2024 2025.pdf
Наказ про зарахування 1 класу 2024 2025.pdfНаказ про зарахування 1 класу 2024 2025.pdf
Наказ про зарахування 1 класу 2024 2025.pdf
 
Передвиборча програма Майора Станіслава
Передвиборча програма  Майора СтаніславаПередвиборча програма  Майора Станіслава
Передвиборча програма Майора Станіслава
 
ПРЕЗЕНТАЦІЯ ПРО СХОВИЩЕ захисна споруда.pptx
ПРЕЗЕНТАЦІЯ ПРО СХОВИЩЕ захисна споруда.pptxПРЕЗЕНТАЦІЯ ПРО СХОВИЩЕ захисна споруда.pptx
ПРЕЗЕНТАЦІЯ ПРО СХОВИЩЕ захисна споруда.pptx
 
педрада 2024 травень 2педрада 2024 травень .pptx
педрада 2024 травень 2педрада 2024 травень .pptxпедрада 2024 травень 2педрада 2024 травень .pptx
педрада 2024 травень 2педрада 2024 травень .pptx
 
Звіт в.о. директора Лохвицької гімназії.pptx
Звіт в.о. директора Лохвицької гімназії.pptxЗвіт в.о. директора Лохвицької гімназії.pptx
Звіт в.о. директора Лохвицької гімназії.pptx
 
Звіт за результатами самооцінювання щодо освітнього середовища
Звіт за результатами самооцінювання щодо освітнього середовищаЗвіт за результатами самооцінювання щодо освітнього середовища
Звіт за результатами самооцінювання щодо освітнього середовища
 
Звіт директора КЗО "СЗШ №124" ДМР 2023-2024 н.р.
Звіт директора КЗО "СЗШ №124" ДМР 2023-2024 н.р.Звіт директора КЗО "СЗШ №124" ДМР 2023-2024 н.р.
Звіт директора КЗО "СЗШ №124" ДМР 2023-2024 н.р.
 

Модулі Python

  • 2. Бібліотеки • збірка об'єктів чи підпрограм для вирішення близьких за тематикою задач. Залежно від мови програмування бібліотеки містять об'єктні модулі чи сирцевий код та дані, допоміжні для задіяння та інтеграції нових можливостей в програмні рішення.
  • 3. Навіщо? • Написання нового програмного коду вимагає часу, тому зручно повторно використовувати частини готових програм. • Ці фрагменти коду можна зберігати у бібліотеках
  • 4. Стандартна бібліотека Python містить такі модулі • subprocess • fractions • cmath • glob • copy • os.path • json • calendar • os • pickle • datetime • bisect • collections • array • itertools • time • sys • random • math • socket…
  • 5. Модуль random • Цей модуль вибирає випадкові числа або переставляє елементи списку у випадковому порядку
  • 6. >>> random.random() 0.37444887175646646 >>> random.uniform(1, 10) 1.1800146073117523 >>> random.randrange(10) 7 >>> random.randrange(0, 101, 2) 26 >>> random.choice('abcdefghij') 'c' >>> random.sample([1, 2, 3, 4, 5], 3) [4, 1, 5] Модуль random
  • 7. Модуль socket • Допомагає комп'ютерам підключатися один до одного по мережі і через Інтернет
  • 8. Модуль time • Підкаже поточний час і дату • Може обчислювати дати: наприклад, який день буде три дні потому? Модуль datetime •надає класи для обробки часу і дати різними способами
  • 9. Приклад >>> from datetime import datetime, date, time >>> d = date(2005, 7, 14) >>> t = time(12, 30) >>> datetime.combine(d, t) datetime.datetime(2005, 7, 14, 12, 30)
  • 10. Pygame • Бібліотека для створення відеоігор • Дозволяє працювати зі звуком і спеціальною ігровою графікою
  • 11. Завантаження модулів >>> import math >>> math.e 2.718281828459045 >>> import time, random >>> time.time() 1376047104.056417 >>> random.random() 0.9874550833306869
  • 13. Інструкція from >>> from math import (sin, cos, tan, atan) ... >>> from math import e, ceil as c >>> e 2.718281828459045 >>> c(4.6) 5
  • 14. Інструкція from >>> from sys import * >>> version '3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)]' >>> version_info sys.version_info(major=3, minor=3, micro=2, releaselevel='final', serial=0)
  • 16. turtle • Слугує для малювання ліній і фігур на екрані
  • 17. Модуль turtle from turtle import * reset() left(90) forward(100) right(45) forward(70) right(90) forward(70) right(45) forward(100) right(90) forward(100) Завантажує модуль Обнуляє позицію черепашки Просуває черепашку вперед на 70 Повертає черепашку на 90градусів вправо
  • 19. Зірка from turtle import * color('red', 'yellow') begin_fill() while True: forward(200) left(170) if abs(pos()) < 1: break end_fill() done() Почати слідкувати за черепашкою для заповнення області Заповнити кольором область, пройдену черепашкою, починаючи з begin_fill(); Повернутися поточне місце розташування черепахи
  • 20.
  • 21. Черепашка навколо сонця 1. from turtle import * 2. color("orange") 3. dot(10) 4. center = pos() 5. color("blue") 6. shape("turtle") 7. speed(0) 8. penup() 9. goto(200, 0) 10. pendown() 11. G = 800 12. v = Vec2D(0, 1) 13. t = 0 14. dt = 1 15.while t < 1100: 16. goto(pos() + v * dt) 17. setheading(towards(center)) 18. r = distance(center) 19. acc = (-G / r ** 3) * pos() 20. v += acc * dt 21. t += dt 22. 23.mainloop() Малювання точки діаметром Завершити малювання Почати малювання Повернути черепашку під кутом
  • 22.
  • 23. Основні команди для керування черепашкою • forward(distance) Проповзти вперед на distance пікселів; • backward(distance) Проповзти назад на distance пікселів; • right(angle) Повернутися наліво на angle градусів; • left(angle) Повернутися направо на angle градусів; • goto(x, y) Перемістити черепашку в точку з координатами (x,y); • setx(x) Установити координату x черепашки; • sety(y) Установити координату y черепашки;
  • 24. Основні команди для керування черепашкою • setheading(to_angle) Повернути черепашку під кутом to_angle до вертикалі (0 — наверх, 90 — направо); • home() Повернути черепашку додому — в точку з координатами (0,0); • circle(radius) Намалювати коло радіуса |r|, центр якої знаходиться зліва від черепашки, якщо r>0 і праворуч, якщо r<1; • dot(size, color) Намалювати точку діаметра size кольору color; • undo() Відкотити попереднє дію черепашки Більше на http://server.179.ru/tasks/python/2017b1/pgm12.5_Turtle.html
  • 25. Модуль fractions надає підтримку раціональних чисел >>> Fraction(1, 3) Fraction(1, 3) >>> >>> Fraction('3/7') Fraction(3, 7) >>> Fraction(100) Fraction(100, 1) >>> Fraction() Fraction(0, 1) >>> Fraction('3.1415') Fraction(6283, 2000) >>> Fraction(3.1415) Fraction(7074029114692207, 2251799813685248)
  • 26. Раціональні числа можна, як int і float, складати, множити, ділити >>> from fractions import Fraction >>> a = Fraction(1, 7) >>> b = Fraction(1, 3) >>> a + b Fraction(10, 21) >>> a * b Fraction(1, 21)
  • 27. fractions.gcd(a, b) - найбільший спільний дільник >>> from fractions import gcd >>> gcd(1, 5) 1 >>> gcd(1000, 3) 1 >>> gcd(4, 6) 2
  • 28. Модуль cmath • надає функції для роботи з комплексними числами. Модуль glob •знаходить всі шляхи, які збігаються з заданим шаблоном у відповідності з правилами, використовуваними оболонкою Unix.
  • 29. Модуль copy • операція присвоювання не копіює об'єкт, він лише створює посилання на об'єкт. • Для змінюваних колекцій, або для колекцій, які містять змінні елементи, часто необхідна така копія, щоб її можна було змінити, не змінюючи оригінал. • Надає загальні (поверхнева та глибока) операції копіювання
  • 30. Модуль copy • copy.copy(x) - повертає поверхневу копію x. • copy.deepcopy(x) - повертає повну копію x. • Исключениесору.error - виникає, якщо об'єкт неможливо скопіювати.
  • 31. Модуль copy >>> import copy >>> test_1 = [1, 2, 3, [1, 2, 3]] >>> test_copy = copy.copy(test_1) >>> print(test_1, test_copy) [1, 2, 3, [1, 2, 3]] [1, 2, 3, [1, 2, 3]]
  • 32. Модуль functools • збірник функцій високого рівня: взаємодіючих з іншими функціями або повертають інші функції. • @functools.lru_cache(maxsize=128, typed=False) - декоратор, який зберігає результати maxsize останніх викликів. Це може заощадити час при дорогих обчисленнях, якщо функція періодично викликається з тими ж аргументами.
  • 33. >>> from functools import lru_cache >>> # Числа Фібоначчі >>> @lru_cache(maxsize=None) ... def fib(n): ... if n < 2: ... return n ... return fib(n-1) + fib(n-2) >>> print([fib(n) for n in range(100)]) [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,...] >>> print(fib.cache_info()) CacheInfo(hits=196, misses=100, maxsize=None, currsize=100)
  • 34. Модуль calendar дозволяє надрукувати собі календарик а також містить деякі інші корисні функції для роботи з календарями): •calendar.setfirstweekday(weekday) - встановлює перший день тижня •calendar.firstweekday() - повертає перший день тижня •calendar.isleap(year) - є рік високосним…
  • 35. Приклад calendar import calendar cal = calendar.month(2015, 11) print "Here is the calendar:" print cal
  • 36. Модуль os • надає безліч функцій для роботи з операційною системою, причому їх поведінка, як правило, не залежить від ОС, тому програми залишаються стерпними.
  • 37. Модуль os >>> import os >>> os.getcwd() 'C:Python33‘ - поточна робоча директорія. >>> os.name 'nt' - ім'я операційної системи.
  • 38. Модуль json • JSON (JavaScript Object Notation) - простий формат обміну даними, що базується на підмножині синтаксису JavaScript. Модуль json дозволяє кодувати і декодувати дані в зручному форматі.
  • 39. Модуль json >> import json >>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}]) '["foo", {"bar": ["baz", null, 1.0, 2]}]' >>> print(json.dumps(""foobar")) ""foobar"
  • 40. Модуль sys забезпечує доступ до деяких змінних і функцій, взаємодіючим з інтерпретатором python. •sys.argv - список аргументів командного рядка, що передаються сценарієм Python. •sys.copyright - рядок, що містить авторські права, що належать до інтерпретатору Python. •sys.exec_prefix - каталог установки Python. •sys.executable - шлях до інтерпретатору Python.
  • 41. Модуль sys import sys for x in sys.argv: print "Argument: ", x
  • 42. Модуль array • визначає масиви в python from array import array a = array("i", [10, 20, 30]) for value in a: print(value) 10 20 30
  • 43. Методи array • array.append(х) • array.count () • array.extend(iter) - додавання елементів об'єкта в масив. • array.fromfile(F, N) - читає N елементів з файлу і додає їх в кінець масиву. • array.fromlist(список) - додавання елементів зі списку. • array.index(х) - номер першого входження x в масив. • array.pop(i) - видаляє i-ий елемент масиву і повертає його. • array.remove(х) - видалити перше входження х з масиву. • array.reverse() - зворотний порядок елементів у масиві.
  • 44. Приклад import array a = array.array('i', xrange(5)) a.extend(xrange(5)) print 'Extended:', a Extended: array('i', [0, 1, 2, 3, 4, 0, 1, 2, 3, 4])
  • 45. Масив • Набір однотипних елементів, що мають спільне ім'я, доступ до яких що здійснюється по індексу. • Є структурою з довільним доступом по індексу • У Python масив реалізований за допомогою типу даних «список» • Вони використовуються рідко, коли потрібно досягти високої швидкості роботи. В інших випадках масиви можна замінити іншими типами даних: списками, кортежами, рядками.
  • 46. Масив (матриця) Часто в задачах доводиться зберігати прямокутні таблиці з даними. Такі таблиці називаються матрицями, або двовимірними масивами. У мові програмування Python таблицю можна представити у вигляді списку рядків, кожен елемент якого є в свою чергу списком, наприклад, чисел
  • 47. Двомірний масив matrix = [[1, 2, 3], [1, 2, 7], [4, 9, 2], [6, 2, 5]] print (matrix) [[1, 2, 3], [1, 2, 7], [4, 9, 2], [6, 2, 5]] print matrix[0] [1, 2, 3] print matrix[0][1] 2
  • 48. Модуль tkinter • Для створення кнопок, вікон й інших графічних елементів для взаємодії користувача з програмою
  • 49. Створюємо головне вікно from tkinter import * def printer(event): print ("Очередной 'Hello World!'") root = Tk() but = Button(root) but["text"] = "Печать" but.bind("<Button-1>",printer) but.pack() root.mainloop()
  • 50. def printer(event): print ("Очередной 'Hello World!'") Завдання кнопки вивести якесь повідомлення у потік виводу, використовуючи функцію print. Робити вона це буде при натисканні на неї лівою кнопкою миші. Дії (алгоритм), які відбуваються при цій чи іншій події, оформляють у вигляді функції, а потім викликають, коли вони знадобляться. Параметр event – це яка-небудь подія.
  • 51. root = Tk() Об'єкт вікна верхнього рівня створюється при зверненні до класу Tk модулі tkinter. Змінну пов'язану з об'єктом-вікном прийнято називати root but = Button(root) Кнопка створюється при зверненні до класу Button модулі tkinter. Об'єкт кнопка зв'язується з якої-небудь змінною (but). У класі Button є обов'язковий параметр — об'єкт, якому кнопка належить (root).
  • 52. but["text"] = "Печать" У кнопки багато властивостей: розмір, колір фону і напису та ін. Поки встановимо лише одну властивість — текст (text) but.bind("<Button-1>",printer) Подія натискання лівою кнопкою миші виглядає так: <Button-1>. Потрібно зв'язати цю подію з обробником (функцією printer). Для зв'язку призначений метод bind.
  • 53. but.pack() Для відображення кнопки у вікні використовується методу pack. root.mainloop() Для відображення галвного вікна використовується метод mainloop.
  • 54. Імітатор кубика from tkinter import * from random import randint def roll(): text.delete(0.0, END) text.insert(END, str(randint(1,6))) window = Tk() text = Text(window, width=1, height=1) buttonA = Button(window, text='Press to roll!', command=roll) text.pack() buttonA.pack()
  • 55.
  • 56. Кольори >>> from tkinter import * >>> t=Tk() >>> colorchooser.askcolor()
  • 57.
  • 58. ((222.8671875, 99.38671875, 201.78515625), '#de63c9') червоний зелений синій Код кольору у 16-річній системі
  • 60. from random import * from tkinter import * size = 500 window = Tk() canvas = Canvas(window, width=size, height=size) canvas.pack() while True: col = choice(['pink', 'orange', 'purple', 'yellow', 'red', 'green', 'blue']) x0 = randint(0, size) y0 = randint(0, size) d = randint(0, size/5) canvas.create_oval(x0, y0, x0+d, y0+d, fill=col) window.update()
  • 61.
  • 62. Реакція на події <Button-1> <Right> <Button-3> <space> <Left> <Up> <KeyPress-a> <Down> Події миші Події клавіатури Клік лівою кнопкою Клік правою кнопкою Натиснута стрілка вправо Натиснута стрілка вліво Натиснута клавіша «пробіл» Натиснута стрілка вверх Натиснута стрілка вниз Натиснута клавіша а Можна поставити різні літери
  • 63. li = ["red","green"] def color(event): fra.configure(bg=li[0]) li[0],li[1] = li[1],li[0] def outgo(event): root.destroy() from tkinter import * root = Tk() fra = Frame(root,width=100,height=100) but = Button(root,text="Выход") fra.pack() but.pack() root.bind("<Return>",color) but.bind("<Button-1>",outgo) root.mainloop()
  • 64.
  • 65. Створення свого модуля на Python Створимо файл mymodule.py, в якій визначимо які-небудь функції: def hello(): print('Hello, world!') def fib(n): a = b = 1 for i in range(n - 2): a, b = b, a + b return b
  • 66. Створення свого модуля на Python Тепер у цій же папці створимо інший файл, наприклад, main.py: import mymodule mymodule.hello() print(mymodule.fib(10))
  • 67. Створення свого модуля на Python def hello(): print('Hello, world!') def fib(n): a = b = 1 for i in range(n - 2): a, b = b, a + b return b if __name__ == "__main__": hello() for i in range(10): print(fib(i))