Разделы презентаций


Python. Введение

Содержание

Скриптовые языки программирования

Слайды и текст этой презентации

Слайд 1Python. Введение.

Python. Введение.

Слайд 2Скриптовые языки программирования

Скриптовые языки программирования

Слайд 3История Python
1980-е – задуман Python
1989 – начало разработки языка
1991 –

первая публикация кода
16 октября 2000 – выпущена версия 2.0 (gc,

unicode)
3 декабря 2008 – версия 3.0

2010 – Python 2.7
2015 – Python 3.5

Guido van Rossum

История Python1980-е – задуман Python1989 – начало разработки языка1991 – первая публикация кода16 октября 2000 – выпущена

Слайд 4Приступим

Приступим

Слайд 5Быстрее
Универсальнее
Текст программы
Текст программы
Интерпретатор
Компилятор
Программа в машинном коде
Результат работы программы
Запуск программы
(например

exe файла)
Результат работы программы

БыстрееУниверсальнееТекст программыТекст программыИнтерпретаторКомпиляторПрограмма в машинном коде Результат работы программыЗапуск программы(например exe файла)Результат работы программы

Слайд 6Синтаксис Python
code = 1 name = "Ivan Ivanov" score = 17.26 lessons =

[ "C++", "Python", "Linux" ] marks = {

«Физика": 5, «Математика": 5, "Экономика": 4 }

Имя переменной может состоять из букв, цифр, _.
Двойные и одинарные кавычки равнозначны
Все строки – unicode.
Переменная в процессе работы программы может менять свои значения и тип.

[PEP8] Имена переменных начинаются с маленькой буквы и формируются в snake_case.
[PEP8] “Приватные переменные” начинаются с одного или нескольких _.

Синтаксис Pythoncode = 1 name =

Слайд 7Синтаксис Python
void foo(int x) { if (x == 0) {

bar(); baz(); }

else { qux(x); foo(x - 1); } }

def foo(x): if x == 0: bar() baz() else: qux(x) foo(x - 1)

C++

Python

Синтаксис Pythonvoid foo(int x) {   if (x == 0) {     bar();

Слайд 8Синтаксис Python
total = item_one + \ item_two

+ \ item_three paragraph = """Говорить по-английски просто! Традиционные

методики в школах, ВУЗах,
на многочисленных платных курсах практически не меняются — зубрежка, заучивание грамматики, прослушивание
аудиоуроков. """ print("Hello, Python!") # комментарий

Перенос statement осуществляется через обратный слеш (\).
Multiline strings – """ string """
Комментарии начинаются с #
Многострочных комментариев нет. Вместо них используются multiline strings.

Синтаксис Pythontotal = item_one + \     item_two + \

Слайд 9Синтаксис Python. Оператор ветвления.
if x >= 10: print("больше или

равно 10")
Операторы сравнения:

== >=
!=

<=
> in
< is

x = 14 if x >= 10: print("больше или равно 10") else: print("меньше 10")

Любое логическое выражение имеет одно из двух значений:

True
False


Слайд 10Синтаксис Python. Оператор ветвления.
s = "Волшебный мир python" if "python" in

s: print("Что-то про питон") elif "c++" in s: print("Что-то

про C++") else: print("Непонятно что")

Оператор сравнения in определяет вхождение левого аргумента в правый

Синтаксис Python. Оператор ветвления.s =

Слайд 11Синтаксис Python
if expression: pass elif expression: pass

else: pass for i in range(100): print(i) while True:

print('hello') time.sleep(2) def f(x): pass

Группа выражений может быть объединена в блок
Сложные выражения (напр., if, while, for, class, def) содержат заголовочную строку и блок.
Заголовочная строка (header line) завершается двоеточием (:).
Ключевое слово pass необходимо, чтобы завершить блок, в котором нет выражений.

Синтаксис Pythonif expression:    pass elif expression:    pass  else:

Слайд 12Синтаксис Python. Функции.
def f(x, y): z = x **

2 + y ** 2 return z

z = f(21,

40) z = f(21, y=40) z = f(x=21, y=40)



Синтаксис Python. Функции.def f(x, y):   z = x ** 2 + y ** 2

Слайд 13Синтаксис Python
def fib(n): if n

return 1 return fib(n - 1) + fib(n

- 2)


n1 = fib(1) # = 1
n10 = fib(10) # = 55


Объявление функций начинается с ключевого слова def.
Т.к. объявления типов в Python нет, то и аргументы функций объявляются просто именами.
Значение из функции возвращается с помощью return.
Функция может вызывать сама себя (рекурсия).

Вызвать функцию можно либо просто передав аргументы позиционно, либо по их именам

Синтаксис Pythondef fib(n):   if n

Слайд 14Типы данных Python
Python поддерживает следующие простые типы данных:
Целочисленные (любой точности)

- int
a = 12
b = 10002332
c = 230948329482394792834798237498324
Числа с плавающей

запятой с двойной точностью - float
f2 = 3123.784
f3 = 12e234
Строки (юникодные) - str
a = “привет”
Массив байт - bytes
>>> b = bytes("привет", encoding="utf-8")
>>> b
B'\xd0\xbf\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82'
Булевый тип - bool
2 объекта: True и False
NoneType
Единственный объект этого типа – None

Слайд 15Поддерживаемые операторы
Арифметические операторы:
+ - * /

% **

a = 12 + 3 # 15 b

= a - 120 # -105 c = 12.1 * 4 # 48.4 d = 12 / 4 # 3.0 mod = 123 % 2 # 1 kb = 2 ** 10 # 1024


Битовые операторы:
& (И) | (ИЛИ) ~ (НЕ) ^ (ИСКЛ. ИЛИ)

Логические операторы:
and, or, not

x = 14 b1 = x > 10 and x < 20 # True b2 = x < 10 or x > 20 # False b3 = (x % 2) == 1 # False

Поддерживаемые операторыАрифметические операторы: +  -  *  /  %  **a = 12 +

Слайд 16Массивы Python
arr1 = [] # Объявили пустой

массив arr2 = list() # То же самое arr1.append(1) # Добавили

в конец 1 arr1.append(2) # Добавили в конец 2 print(arr1) # --> [1, 2] len(arr1) # Размер массива (2) len(arr2) # Размер массива (0) arr2.append(3)
arr3 = arr1 + arr2 # Объединение массивов

Массивы – структура данных, представляющая собой непрерывную область памяти, поддерживающая динамическое добавление и удаление элементов.

arr1.remove(2) # Удаление первого вхождения элемента со значением 2 arr1.pop(0) # Удаление элемента с индексом 0

print(2 in arr1) # Проверить, содержится ли элемент со значением 2 в массиве

Массивы Pythonarr1 = []    # Объявили пустой массив arr2 = list()  # То

Слайд 17Синтаксис Python. Оператор цикла for.
for n in arr1: n2

= n * 2 print(n2)

Здесь оператор in используется для

итерации по массиву
Синтаксис Python. Оператор цикла for.for n in arr1:   n2 = n * 2

Слайд 18Синтаксис Python. Оператор цикла for.
print(list(range(5))) # --> [0, 1, 2,

3, 4] print(list(range(1))) # --> [0] print(list(range(0))) # --> []

range – функция

для генерации массива заданного размера
Синтаксис Python. Оператор цикла for.print(list(range(5))) # --> [0, 1, 2, 3, 4]  print(list(range(1))) # --> [0]

Слайд 19Массивы Python
# Пройтись по элементам массива (способ №1) for el in

arr1: print(el) # напечатает все элементы # Пройтись по элементам

массива (способ №2) for i in range(len(arr1)): print(i, arr1[i]) # напечатает все элементы и их индексы # Пройтись по элементам массива (способ №3) for i, el in enumerate(arr1): print(i, el) # напечатает все элементы и их индексы

Массивы Python# Пройтись по элементам массива (способ №1) for el in arr1:   print(el) # напечатает

Слайд 20Кортежи Python
t1 = () # Объявили пустой

кортеж t2 = tuple() # То же самое
t1 = (1,

2, 3) len(t1) # Размер кортежа (3) len(t2) # Размер кортежа (0) t3 = t1 + t2 # Объединение кортежей
t4 = ("ninja",) # Кортеж из одного элемента

Кортежи – неизменяемые массивы. Нельзя ни добавить, ни удалить элементы из кортежа.

Кортежи Pythont1 = ()    # Объявили пустой кортеж t2 = tuple()  # То

Слайд 21Словари Python
Словарь - структура данных, отображающая одни объекты (ключи) в

другие (значения)

Словари PythonСловарь - структура данных, отображающая одни объекты (ключи) в другие (значения)

Слайд 22Словари Python
d1 = { 'doctor': 'Gregory House', 'pilot':

'Anakin Skywalker', 'wizard': 'Gandalf The White' } print(d1['doctor']) print(d1['pilot']) print(d1['president']) # --> KeyError print(d1.get('president'))

# --> None d1['president'] = 'Bill Gates' print(d1['president']) del d1['doctor'] # Удаление элемента

print(len(d1)) # Число ключей в словаре
print(d1.keys()) # --> ['president', 'wizard', 'pilot']
print(d1.values()) # --> ['Bill Gates', 'Gandalf The White', 'Anakin Skywalker']

Словари Pythond1 = {   'doctor': 'Gregory House',   'pilot': 'Anakin Skywalker',   'wizard':

Слайд 23Словари Python
# Пройтись по словарю (Способ №1) for key in d1:

print(key, d1[key]) # Пройтись по словарю (Способ №2) for key in

d1.keys(): print(key, d1[key]) # Пройтись по словарю (Способ №3) for key, value in d1.items(): print(key, value)
Словари Python# Пройтись по словарю (Способ №1) for key in d1:   print(key, d1[key])  #

Слайд 24Множества Python
Множество – структура данных, содержащая в себе неповторяющиеся элементы
s1

= set() # Создание пустого множества s2 = { 101, 1220,

231 } s3 = set([1, 2, 3, 1, 2, 1, 4]) # == {1, 2, 3, 4} s4 = { 2, 3, 6, 7 } s3.add(5) # Добавить элемент в множество
s3.remove(5) # Удалить элемент из множества s3 & s4 # Пересечение: {2, 3} s3 | s4 # Объединение: {1, 2, 3, 4, 6, 7} s3 ^ s4 # XOR: {1, 4, 6, 7}
s1 - s2 # Разность: {1, 4}

Множества PythonМножество – структура данных, содержащая в себе неповторяющиеся элементыs1 = set() # Создание пустого множества s2

Слайд 25Типы данных Python. Резюме.
Python поддерживает следующие сложные типы данных:
Массивы
a =

[1, 2, 3]
b = [“hi”, “hello”, “good morning”]
c = [12,

“soon”, 42, [1, 2, 3]]
Кортежы (неизменяемые массивы)
a = (1, 2, 3)
b = (“hi”, “hello”, “good morning”)
c = (12, “soon”, 42, [1, 2, 3])
d = () # пустой кортеж
e = (12, ) # кортеж из одного элемента (внимание на запятую)
Словари
d = { ‘a’: 1, ‘b’: 2, ‘c’: 3 }
Множества
s1 = { ‘a’, ‘b’, ‘c’ }
s2 = set([‘a’, ‘b’, ‘c’, ‘a’, ‘d’]) # == {‘a’, ‘b’, ‘c’, ‘d’}
Типы данных Python. Резюме.Python поддерживает следующие сложные типы данных:Массивыa = [1, 2, 3]b = [“hi”, “hello”, “good

Слайд 26Как это использовать?
Вариант1. Запустить python (python3) в интерактивном режиме
https://iu5team.github.io/iu5web

Как это использовать?Вариант1. Запустить python (python3) в интерактивном режимеhttps://iu5team.github.io/iu5web

Слайд 27Как это использовать?
Вариант 2. Запустить скрипт с написанным заранее кодом

из файла с расширением .py (например, my_script.py)

Как это использовать?Вариант 2. Запустить скрипт с написанным заранее кодом из файла с расширением .py (например, my_script.py)

Слайд 28list/dict comprehensions

list/dict comprehensions

Слайд 29List comprehensions
Создать массив из квадратов последовательных чисел
arr = [] for

x in range(10): arr.append(x * x)

List comprehensionsСоздать массив из квадратов последовательных чисел arr = [] for x in range(10):   arr.append(x

Слайд 30List comprehensions
Создать массив из квадратов последовательных чисел
arr = [x

* x for x in range(10)]

List comprehensionsСоздать массив из квадратов последовательных чисел arr = [x * x for x in range(10)]

Слайд 31List comprehensions
Создать массив из квадратов последовательных четных чисел
arr =

[x * x for x in range(10) if x %

2 == 0]
List comprehensionsСоздать массив из квадратов последовательных четных чисел arr = [x * x for x in range(10)

Слайд 32Dict comprehensions
d = {} for x in range(10): d[x] =

x * x
Создать отображение чисел в их квадраты

Dict comprehensionsd = {} for x in range(10):   d[x] = x * xСоздать отображение чисел

Слайд 33Dict comprehensions
d = {x: x*x for x in range(10)}
Создать отображение

чисел в их квадраты

Dict comprehensionsd = {x: x*x for x in range(10)}Создать отображение чисел в их квадраты

Слайд 34Dict comprehensions
d = {x : x*x for x in range(10)

if is_prime(x)}
Создать отображение простых чисел в их квадраты

Dict comprehensionsd = {x : x*x for x in range(10) if is_prime(x)}Создать отображение простых чисел в их

Слайд 35“Функциональные” функции (функции высших порядков)

“Функциональные” функции (функции высших порядков)

Слайд 36Map, reduce и все такое
range(start, stop[, step]) - Возвращает последовательность

чисел
class list([iterable]) - преобразует любую коллекцию/итератор в список

reversed(seq) - Переворачивает

коллекцию
filter(function, iterable) - Фильтрует коллекцию, используя функцию
map(function, iterable) - функция для преобразования коллекции

sorted(iterable[, key][, reverse]) - Возвращает коллекцию в отсортированном виде

zip(*iterables) - связывает коллекции между собой поэлементно
Map, reduce и все такоеrange(start, stop[, step]) - Возвращает последовательность чиселclass list([iterable]) - преобразует любую коллекцию/итератор в

Слайд 38reversed
Возвращает итератор (будет дальше)

reversedВозвращает итератор (будет дальше)

Слайд 39filter
arr = [1, 2, 3, 4, 5, 6, 7, 8,

9] def is_even(x): return x % 2 == 0 filter(is_even, arr)

filterarr = [1, 2, 3, 4, 5, 6, 7, 8, 9]  def is_even(x):   return

Слайд 40filter
arr = [1, 2, 3, 4, 5, 6, 7, 8,

9] def is_even(x): return x % 2 == 0 filter(is_even, arr)
Данная

функция должна вернуть True, если элемент, переданный в неё, должен остаться.
filterarr = [1, 2, 3, 4, 5, 6, 7, 8, 9]  def is_even(x):   return

Слайд 41map
arr = [1, 2, 3, 4, 5, 6, 7, 8,

9] def square(x): return x ** 2 map(square, arr)
Данная функция должна

вернуть преобразованный элемент.
maparr = [1, 2, 3, 4, 5, 6, 7, 8, 9] def square(x):   return x

Слайд 42sorted
Тут все совсем просто

sortedТут все совсем просто

Слайд 43sorted
Как перемешать массив?

sortedКак перемешать массив?

Слайд 44zip
Пусть для простоты есть 2 списка:
Задача: пройтись по обоим массивам

одновременно

zipПусть для простоты есть 2 списка:Задача: пройтись по обоим массивам одновременно

Слайд 45zip
Наивный подход:
assert len(X) == len(Y) for i in range(len(X)): x

= X[i] y = Y[i] print('Point: ({}, {})'.format(x,

y))
zipНаивный подход:assert len(X) == len(Y) for i in range(len(X)):   x = X[i]   y

Слайд 46zip
Python-way:
for x, y in zip(X, Y): print('Point: ({}, {})'.format(x,

zipPython-way:for x, y in zip(X, Y):   print('Point: ({}, {})'.format(x, y))

Слайд 47zip
Что же делает zip?
Zip просто соединяет попарно элементы из переданных

ему коллекций

zipЧто же делает zip?Zip просто соединяет попарно элементы из переданных ему коллекций

Слайд 48zip
Что если колекций больше 2х?
Все то же самое :)

zipЧто если колекций больше 2х?Все то же самое :)

Слайд 49Лямбда-функции

Лямбда-функции

Слайд 50Lambda
def pow2(x): return x * x
y = 2
pow2(y) # 4 y =

[2, 3, 4] list(map(pow2, y)) # [4, 9, 16]
Хочется как-то покороче...
def

get_key(x): return x[1] y = { "a": 5, "b": 3, "c": 4 } sorted(y.items(), key=get_key) # b c a
Lambdadef pow2(x): 	return x * x y = 2pow2(y) # 4  y = [2, 3, 4]

Слайд 51Lambda
C#:

(input parameters) => expression
(int x, string s) => s.Length >

x

Python

lambda input_parameters: expression
lambda x, y: x + y


Результат выражения будет

возвращен вызывающему лямбду коду
LambdaC#:(input parameters) => expression(int x, string s) => s.Length > xPythonlambda input_parameters: expressionlambda x, y: x +

Слайд 52Примеры lambda
# Инкремент числа
increment = lambda x: x + 1 print(increment(2))

# 3

# Возведение в квадрат (lambda x: x * x)(5)

Примеры lambda# Инкремент числаincrement = lambda x: x + 1 print(increment(2)) # 3# Возведение в квадрат (lambda

Слайд 53Примеры lambda
# Фильтрация массива y = [25, 10, 4, 20, 50,

8]
y = list(filter(lambda x: x > 10, y)) # [25,

20, 50]

Примеры lambda# Фильтрация массива y = [25, 10, 4, 20, 50, 8] y = list(filter(lambda x: x

Слайд 54Примеры lambda
y = 'Подсчет длины слов в предложении'

list(map(lambda w: len(w),

y.split()))

list(map(len, y.split()))

# [7, 5, 4, 1, 11]

Примеры lambday = 'Подсчет длины слов в предложении' list(map(lambda w: len(w), y.split())) list(map(len, y.split())) # [7, 5,

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика