SlideShare a Scribd company logo
1 of 68
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

Етапи створення веб сайтів
Етапи створення веб сайтівЕтапи створення веб сайтів
Етапи створення веб сайтівYulia Vlasenko
 
з досвіду роботи вчителя інформатики
з досвіду роботи вчителя інформатикиз досвіду роботи вчителя інформатики
з досвіду роботи вчителя інформатикиnelya3001
 
5 клас урок 27 нова програма
5 клас урок 27 нова програма5 клас урок 27 нова програма
5 клас урок 27 нова програмаЮлія Артюх
 
Урок 42. Алгоритми з повтореннями для опрацювання величин. Цикл з лічильником
 Урок 42. Алгоритми з повтореннями  для опрацювання величин.  Цикл з лічильником Урок 42. Алгоритми з повтореннями  для опрацювання величин.  Цикл з лічильником
Урок 42. Алгоритми з повтореннями для опрацювання величин. Цикл з лічильникомВасиль Тереховський
 
Урок 34 для 6 класу - Розробка сценарію майбутнього програмного проекту.
Урок 34 для 6 класу - Розробка сценарію майбутнього програмного проекту.Урок 34 для 6 класу - Розробка сценарію майбутнього програмного проекту.
Урок 34 для 6 класу - Розробка сценарію майбутнього програмного проекту.VsimPPT
 
8 клас 40 урок. Елементи для введення даних: текстове поле, прапорець, випада...
8 клас 40 урок. Елементи для введення даних: текстове поле, прапорець, випада...8 клас 40 урок. Елементи для введення даних: текстове поле, прапорець, випада...
8 клас 40 урок. Елементи для введення даних: текстове поле, прапорець, випада...StAlKeRoV
 
Зберігання інформації. Носії інформації.
Зберігання інформації. Носії інформації.Зберігання інформації. Носії інформації.
Зберігання інформації. Носії інформації.V_Kobzar
 
Мультимедійна презентація до інтегрованого заняття з біології та інформатики ...
Мультимедійна презентація до інтегрованого заняття з біології та інформатики ...Мультимедійна презентація до інтегрованого заняття з біології та інформатики ...
Мультимедійна презентація до інтегрованого заняття з біології та інформатики ...Olena Коленченко
 
Поняття моделi. Типи моделей. Моделювання
Поняття моделi. Типи моделей. МоделюванняПоняття моделi. Типи моделей. Моделювання
Поняття моделi. Типи моделей. Моделюванняdnzcpto1
 
Схеми та діаграми
Схеми та діаграмиСхеми та діаграми
Схеми та діаграмиOlga Barna
 
Інформатика. Урок не тему: Текстовий документ та його об’єкти
Інформатика. Урок не тему: Текстовий документ та його об’єктиІнформатика. Урок не тему: Текстовий документ та його об’єкти
Інформатика. Урок не тему: Текстовий документ та його об’єктиZozuliatamara
 
Урок 3: "Етикет електронного листування. Правила безпечного користування елек...
Урок 3: "Етикет електронного листування. Правила безпечного користування елек...Урок 3: "Етикет електронного листування. Правила безпечного користування елек...
Урок 3: "Етикет електронного листування. Правила безпечного користування елек...Sanya Dzhedzhera
 
Презентація Бази даних Урок 1.pptx
Презентація Бази даних Урок 1.pptxПрезентація Бази даних Урок 1.pptx
Презентація Бази даних Урок 1.pptxssuserceb60a
 
редагування даних таблиці 7 клас
редагування даних таблиці 7 класредагування даних таблиці 7 клас
редагування даних таблиці 7 класaniadania
 
програмні засоби
програмні засобипрограмні засоби
програмні засобиNataKvasha
 
Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.
Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.
Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.Василь Тереховський
 
презентація алгоритми з розгалуженням
презентація   алгоритми з розгалуженнямпрезентація   алгоритми з розгалуженням
презентація алгоритми з розгалуженнямСергій Каляфіцький
 
пристрої для роботи з інформацією
пристрої для роботи з інформацієюпристрої для роботи з інформацією
пристрої для роботи з інформацієюMychailoBarko
 
інфографіка
інфографікаінфографіка
інфографікаolena20kolba
 

What's hot (20)

8 клас урок 3
8 клас урок 38 клас урок 3
8 клас урок 3
 
Етапи створення веб сайтів
Етапи створення веб сайтівЕтапи створення веб сайтів
Етапи створення веб сайтів
 
з досвіду роботи вчителя інформатики
з досвіду роботи вчителя інформатикиз досвіду роботи вчителя інформатики
з досвіду роботи вчителя інформатики
 
5 клас урок 27 нова програма
5 клас урок 27 нова програма5 клас урок 27 нова програма
5 клас урок 27 нова програма
 
Урок 42. Алгоритми з повтореннями для опрацювання величин. Цикл з лічильником
 Урок 42. Алгоритми з повтореннями  для опрацювання величин.  Цикл з лічильником Урок 42. Алгоритми з повтореннями  для опрацювання величин.  Цикл з лічильником
Урок 42. Алгоритми з повтореннями для опрацювання величин. Цикл з лічильником
 
Урок 34 для 6 класу - Розробка сценарію майбутнього програмного проекту.
Урок 34 для 6 класу - Розробка сценарію майбутнього програмного проекту.Урок 34 для 6 класу - Розробка сценарію майбутнього програмного проекту.
Урок 34 для 6 класу - Розробка сценарію майбутнього програмного проекту.
 
8 клас 40 урок. Елементи для введення даних: текстове поле, прапорець, випада...
8 клас 40 урок. Елементи для введення даних: текстове поле, прапорець, випада...8 клас 40 урок. Елементи для введення даних: текстове поле, прапорець, випада...
8 клас 40 урок. Елементи для введення даних: текстове поле, прапорець, випада...
 
Зберігання інформації. Носії інформації.
Зберігання інформації. Носії інформації.Зберігання інформації. Носії інформації.
Зберігання інформації. Носії інформації.
 
Мультимедійна презентація до інтегрованого заняття з біології та інформатики ...
Мультимедійна презентація до інтегрованого заняття з біології та інформатики ...Мультимедійна презентація до інтегрованого заняття з біології та інформатики ...
Мультимедійна презентація до інтегрованого заняття з біології та інформатики ...
 
Поняття моделi. Типи моделей. Моделювання
Поняття моделi. Типи моделей. МоделюванняПоняття моделi. Типи моделей. Моделювання
Поняття моделi. Типи моделей. Моделювання
 
Схеми та діаграми
Схеми та діаграмиСхеми та діаграми
Схеми та діаграми
 
Інформатика. Урок не тему: Текстовий документ та його об’єкти
Інформатика. Урок не тему: Текстовий документ та його об’єктиІнформатика. Урок не тему: Текстовий документ та його об’єкти
Інформатика. Урок не тему: Текстовий документ та його об’єкти
 
Урок 3: "Етикет електронного листування. Правила безпечного користування елек...
Урок 3: "Етикет електронного листування. Правила безпечного користування елек...Урок 3: "Етикет електронного листування. Правила безпечного користування елек...
Урок 3: "Етикет електронного листування. Правила безпечного користування елек...
 
Презентація Бази даних Урок 1.pptx
Презентація Бази даних Урок 1.pptxПрезентація Бази даних Урок 1.pptx
Презентація Бази даних Урок 1.pptx
 
редагування даних таблиці 7 клас
редагування даних таблиці 7 класредагування даних таблиці 7 клас
редагування даних таблиці 7 клас
 
програмні засоби
програмні засобипрограмні засоби
програмні засоби
 
Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.
Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.
Урок 65. Вибір теми проекту. Його планування. Добір ресурсів.
 
презентація алгоритми з розгалуженням
презентація   алгоритми з розгалуженнямпрезентація   алгоритми з розгалуженням
презентація алгоритми з розгалуженням
 
пристрої для роботи з інформацією
пристрої для роботи з інформацієюпристрої для роботи з інформацією
пристрої для роботи з інформацією
 
інфографіка
інфографікаінфографіка
інфографіка
 

Similar to Модулі Python

Основи мови Ci
Основи мови CiОснови мови Ci
Основи мови CiEscuela
 
алфавіт мови програмування 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_1563258828PavloTsiura
 
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
 
лекції 4 7
лекції 4 7лекції 4 7
лекції 4 7cit-cit
 
Основи алгоритмізації та програмування. Лекція 1
Основи алгоритмізації та програмування. Лекція 1Основи алгоритмізації та програмування. Лекція 1
Основи алгоритмізації та програмування. Лекція 1Dmitry Chabanenko
 
Prometheus. Масовий онлайн курс "Основи програмування". Лекція 5
Prometheus. Масовий онлайн курс "Основи програмування". Лекція 5Prometheus. Масовий онлайн курс "Основи програмування". Лекція 5
Prometheus. Масовий онлайн курс "Основи програмування". Лекція 5Nikita 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
 
Phpunit модульне тестування
Phpunit модульне тестуванняPhpunit модульне тестування
Phpunit модульне тестуванняVladimir Maslechkin
 

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
 
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
 
Phpunit модульне тестування
Phpunit модульне тестуванняPhpunit модульне тестування
Phpunit модульне тестування
 

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

Інформатика та історія розвитку обчислювальної техніки
Інформатика та історія розвитку обчислювальної технікиІнформатика та історія розвитку обчислювальної техніки
Інформатика та історія розвитку обчислювальної технікиЕкатерина Осадчая
 
Загальна характеристика сімейства ОС LINUX
Загальна характеристика сімейства ОС LINUXЗагальна характеристика сімейства ОС LINUX
Загальна характеристика сімейства ОС LINUXЕкатерина Осадчая
 
Об'єктно-орієнтована платформа Windows
Об'єктно-орієнтована платформа WindowsОб'єктно-орієнтована платформа Windows
Об'єктно-орієнтована платформа WindowsЕкатерина Осадчая
 
КОНЦЕПЦІЯ ОПЕРАЦІЙНИХ СИСТЕМ WINDOWS
КОНЦЕПЦІЯ ОПЕРАЦІЙНИХ СИСТЕМ WINDOWSКОНЦЕПЦІЯ ОПЕРАЦІЙНИХ СИСТЕМ WINDOWS
КОНЦЕПЦІЯ ОПЕРАЦІЙНИХ СИСТЕМ WINDOWSЕкатерина Осадчая
 
Класифікація програмних продуктів
Класифікація програмних продуктівКласифікація програмних продуктів
Класифікація програмних продуктівЕкатерина Осадчая
 
Інтерактивні технології викладання інформатики
Інтерактивні технології викладання інформатикиІнтерактивні технології викладання інформатики
Інтерактивні технології викладання інформатикиЕкатерина Осадчая
 

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

Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxOlgaDidenko6
 
Бомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентаціяБомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентаціяssuser0a4f48
 
Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxOlgaDidenko6
 
атестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdfатестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdfhome
 
Проблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішенняПроблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішенняtetiana1958
 
Defectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptxDefectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptxOlgaDidenko6
 
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.pptЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.pptssuser59e649
 
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості  та дозвілля для дітейpptxБібліотека – розвиток дитячої творчості  та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptxssuserc301ed1
 
Горбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptxГорбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptxOlgaDidenko6
 
psychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.pptpsychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.pptOlgaDidenko6
 
Р.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповіданняР.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповіданняAdriana Himinets
 
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfЗастосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfssuser15a891
 
Презентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxПрезентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxOlgaDidenko6
 
Хімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класХімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класkrementsova09nadya
 
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...JurgenstiX
 
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»tetiana1958
 
Іваніщук Надія Вікторівна атестація .pdf
Іваніщук Надія Вікторівна атестація  .pdfІваніщук Надія Вікторівна атестація  .pdf
Іваніщук Надія Вікторівна атестація .pdfhome
 

Recently uploaded (17)

Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptx
 
Бомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентаціяБомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентація
 
Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptx
 
атестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdfатестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdf
 
Проблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішенняПроблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішення
 
Defectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptxDefectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptx
 
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.pptЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
 
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості  та дозвілля для дітейpptxБібліотека – розвиток дитячої творчості  та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
 
Горбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptxГорбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptx
 
psychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.pptpsychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.ppt
 
Р.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповіданняР.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповідання
 
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfЗастосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
 
Презентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxПрезентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptx
 
Хімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класХімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 клас
 
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
 
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
 
Іваніщук Надія Вікторівна атестація .pdf
Іваніщук Надія Вікторівна атестація  .pdfІваніщук Надія Вікторівна атестація  .pdf
Іваніщук Надія Вікторівна атестація .pdf
 

Модулі 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))