Занятие №3:
Модули и библиотеки
Работа с модулями
Определение
Модуль в Python - самая крупная организационная программная единица, которая вмещает в себя программный код и данные, готовые для многократного использования
Короче: Модуль – это программа/файл/скрипт, подгружаемый другой программой
# Модуль lec_3_my_module.py
# Атрибуты модуля
a = 3
b = 'Good'
c = ['Bad', 4, 'Petya molodec']
earth_mass = 5.97237 * 10**30
sigma_steff_bolc = 5.67036713 * 10**(-8)
gravity_constant = 6.67408 * 10**(-11)
Создание модуля
Любой файл с расширением «.py» автоматически считается модулем Python
# Модуль lec_3_import.py
# Инструкция, целиком загружающая модуль
import lec_3_my_module
print(lec_3_my_module.a)
b = lec_3_my_module.b * 3
print(b)
print(lec_3_my_module.c[2])
3
GoodGoodGood
Petya molodec
Инструкция import
Модули должны находится в одной директории
# Создание псевдонима для имени модуля
import lec_3_my_module as mm
print(mm.a)
b = mm.b * 3
print(b)
print(mm.c[2] + b + mm.c[0])
3
GoodGoodGood
Petya molodecGoodGoodGoodBad
Конструкция import - as
# Копирование указанных атрибутов модуля
from lec_3_my_module import a, b
print(a * b)
# Копирование ВСЕХ атрибутов модуля
from lec_3_my_module import *
print(c[2] * c[1])
GoodGoodGood
Petya molodecPetya
molodecPetya
molodecPetya
molodec
Инструкция from
from lec_3_my_module import earth_mass as em
from lec_3_my_module import gravity_constant as G
from lec_3_my_module import sigma_steff_bolc as sigma
g = 500 * G / 10**2
print(g)
x = em * G * sigma
print(x)
3.33704e-10
22602126004102.9
Инструкция from as
from lec_3_my_module import b
from lec_3_import_as import b
print(b)
import lec_3_my_module as mm
import lec_3_import_as as l3
print(mm.b + l3.b)
3
GoodGoodGood
Petya molodecGoodGoodGoodBad
GoodGoodGood
GoodGoodGoodGood
Когда необходимо использовать инструкцию import?
Знакомство с некоторыми библиотеками
import math
a = math.sin(3 * math.pi / 5)
print(a)
b = math.sqrt(3)
print(b)
c = math.log10(42)
print(c)
d = math.asin(math.tan(math.pi / 4)) * 180 / math.pi
print(d)
0.9510565162951536
1.7320508075688772
1.6232492903979006
89.99999914622636
Библиотека math
Библиотека numpy
NumPy – библиотека с открытым исходным кодом для языка программирования Python, c возможностями поддержки многомерных массивов (включая матрицы) и высокоуровневых математических функций, предназначенных для работы с многомерными массивами
import numpy as np
a = [1, 2, 4]
b = np.array(a) # Создание массива из списка
print(type(a))
print(type(b))
print(b * b)
print(b / b)
print(b - b)
# print(a - a)
print(b[-1]) # Вызов последнего элеманта массива
# print(a[-1])
<class 'list'>
<class 'numpy.ndarray'>
[ 1 4 16]
[1. 1. 1.]
[0 0 0]
4
np.array
import numpy as np
a = np.zeros((2, 3))
print(a)
a[0, 2] = 5
print(a)
b = np.ones((3, 2))
print(b)
d = np.ndarray((3, 3))
print(d)
[[0. 0. 0.]
[0. 0. 0.]]
[[0. 0. 5.]
[0. 0. 0.]]
[[1. 1.]
[1. 1.]
[1. 1.]]
[[6.90237172e-310 4.64609385e-310
0.00000000e+000]
[0.00000000e+000 0.00000000e+000
0.00000000e+000]
[0.00000000e+000 0.00000000e+000
0.00000000e+000]]
np.zeros, np.ones и np.ndarray
numpy generators
np.arange(start, stop, step)
np.linspace(start, stop, num)
Start
Step
Stop
Start
Num
Stop
import numpy as np
a = range(0, 5, 1)
print(a)
# a = range(0, 10, 0.1)
b = np.arange(0, 5, 0.1)
print(b)
d = np.linspace(0, 5, 10)
print(d)
range(0, 5)
[0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7
0.8 0.9 1. 1.1 1.2 1.3 1.4 1.5
1.6 1.7 1.8 1.9 2. 2.1 2.2 2.3
2.4 2.5 2.6 2.7 2.8 2.9 3. 3.1
3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9
4. 4.1 4.2 4.3 4.4 4.5 4.6 4.7
4.8 4.9]
[0. 0.55555556 1.11111111
1.66666667 2.22222222 2.77777778
3.33333333 3.88888889 4.44444444
5.]
numpy generators
Срезы (slice)
# slice = a[start, stop, step]
Start
Stop
a = [4, 16, 10, 5, 7, 1, 8]
slice = a[2:5:1]
[10, 5, 7]
print(slice)
4
16
10
5
7
1
8
0
1
2
3
4
5
6
Start = 0
Stop = 1
Step = len(a)
Значения по умолчанию
import numpy as np
a = [1, 5, 3, 6]
slice = a[0:2:1]
print(slice)
slice = a[3:0:-1]
print(slice)
slice = a[::-1]
print(slice)
b = np.array([a, np.array(a)*3])
print(b)
[1, 5]
[6, 3, 5]
[6, 3, 5, 1]
[[ 1 5 3 6]
[ 3 15 9 18]]
Срезы (slice)
slice = b[::, 1]
print(slice)
slice = b[1,2:3:1]
print(slice)
slice = b[1,2::1]
print(slice)
[ 5 15]
[9]
[ 9 18]
Срезы (slice)
Спасибо за понимание!
Лекция №3. Модули и библиотеки
By Alexey Baigashov
Лекция №3. Модули и библиотеки
- 357