The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by Академик Кодер, 2022-02-07 02:08:20

Шпаргалка по языку Python

mementopython3-russian

©2012-2013 - Laurent Pointal Mémento v1.2.2 Шпаргалка по Python3 Официальная документация по Python3
Licence Creative Commons Attribution 2 http://docs.python.org/py3k

integer, float, boolean, string Базовые типы ◾ упорядоченная последовательность, быстрый доступ поКионндеткесйу нерные типы

int 783 0 -192 list [1,5,9] ["x",11,8.9] ["word"] []

float 9.23 0.0 -1.7e-6 tuple (1,5,9) 11,"y",7.4 ("word",) ()

bool True False 10-6 неизменяемые выражение с одними запятыми
str как упорядоченная последовательность символов
str "One\nTwo" 'I\'m' ◾ порядок заранее неизвестен, быстрый доступ по ключу, ключи = базовые типы или кортежи

перевод строки ' экранирована dict {"key":"value"} {}
словарь {1:"one",3:"three",2:"two",3.14:"π"}
многострочные """X\tY\tZ
1\t2\t3""" соответствие между ключами и значениями
неизменяемая, упорядоченная
последовательность симполов символ табуляции set {"key1","key2"} {1,9,3,0} set()

для переменных, функций, Имена type(выражение) Преобразования
модулей, классов... можно указать целое основание системы исчисленя вторым параметром
int("15")
a‥zA‥Z_ потом a‥zA‥Z_0‥9
◽ нелатинские буквы разрешены, но избегайте их int(15.56) отбросить дробную часть (для округления делайте round(15.56))
◽ ключевые слова языка запрещены
◽ маленькие/БОЛЬШИЕ буквы отличаются float("-11.24e8")

☺ a toto x7 y_max BigOne str(78.3) и для буквального преобразования repr("Text")
☹ 8y and
см. форматирование строк на другой стороне для более тонкого контроля

bool используйте сравнения (==, !=, <, >, …), дающие логический результат

Присвоение переменным list("abc") использует каждый элемент ['a','b','c']
последовательности
x = 1.2+8+sin(0)
dict([(3,"three"),(1,"one")]) {1:'one',3:'three'}
значение или вычислимое выражение
имя переменной (идентификатор) set(["one","two"]) использует каждый элемент {'one','two'}
последовательности
y,z,r = 9.2,-7.6,"bad"
":".join(['toto','12','pswd']) 'toto:12:pswd'
имена контейнер с несколькими
переменных значениями (здесь кортеж) соединяющая строка последовательность строк

x+=3 добавление x-=2 "words with spaces".split() ['words','with','spaces']
вычитание
"1,4,8,2".split(",") ['1','4','8','2']
x=None «неопределённая» константа строка-разделитель

отрицательный индекс -6 для списков, кортежей, строк... Доступ к элементам последовательностей
-5 -4 -3 -2 -1
len(lst) 6

положительный индекс 0 1 23 4 5 доступ к отдельным элементам через [индекс]

lst=[ 11, 67, "abc",3.14, 42, 1968 ] lst[1]→67 lst[0]→11 первый
положительный срез 0 1 2 3 4 6 lst[-2]→42
5 lst[-1]→1968 последний

отрицательный срез -6 -5 -4 -3 -2 -1 доступ к подпоследовательности [начало среза:конец среза:шаг]

lst[:-1]→[11,67,"abc",3.14,42] lst[1:3]→[67,"abc"]

lst[1:-1]→[67,"abc",3.14,42] lst[-3:-1]→[3.14,42]

lst[::2]→[11,"abc",42] lst[:3]→[11,67,"abc"]

lst[:]→[11,67,"abc",3.14,42,1968] lst[4:]→[42,1968]

cрез без указания границ → с начала до конца

Для изменяемых последовательностей, полезно удаление del lst[3:5] и изменение с помощью присвоения lst[1:4]=['hop',9]

Булева логика Блоки инструкцийотступы !выражения в блоке выполняется Условный оператор
Сравнения: < > <= >= == != родительская инструкция: только если условие истинно

≤≥= ≠ блок инструкций 1… if логическое выражение:
⁝ блок выражений
a and bоблаовгеирчныесокдонеоивременно
a or b велрноогихчотесякбоые иодлнио родительская инструкция: может сопровождаться несколькими elif, elif, …,
not a логическое нет блок инструкций 2… но только одним окончательним else. Пример:
True константа «истина» ⁝
False константа «ложь» if x==42:
след. инструкция после блока 1 # блок выполнится, если x==42 истинно
print("real truth")
☝ числа с плавающей точкой… приближенные значения! Математика
elif x>0:
углы в радианах # иначе блок, если лог. выражение x > 0 истинно
Операторы: + - * / // % ** from math import sin,pi… print("be positive")
×÷ ab
sin(pi/4)→0.707… elif bFinished:
деление без остатка остаток cos(2*pi/3)→-0.4999… # иначе блок, если лог. перем. bFinished истинна
acos(0.5)→1.0471… print("how, finished")
(1+5.3)*2→12.6
else:
abs(-3.2)→3.2 sqrt(81)→9.0 √ # иначе блок для всех остальных случаев
print("when it's not")
round(3.57,1)→3.6 log(e**2)→2.0 и т.д. (см. доки)

Перевод : Федотов В.А.

блок инструкций выполняется Цикл с условием блок инструкций выполняется Цикл перебора
до тех пор, пока условие истинно для всех элементов контейнера или итератора
while логическое выражение:
блок инструкций for переменная in подследовательность:
s=0 Управление циклом блок инструкций
i=1
инициализации перед циклом break Проход по элементам последовательности
немедленный выход
continue s = "Some text" инициализации перед циклом
условие с хотя бы одним изменяющимся значением следующая итерация cnt = 0
(здесь i)
while i <= 100: переменная цикла, значение управляется циклом for

# выражения вычисляются пока i ≤ 100 i=100 for c in s: Посчитать число
s = s + i**2 if c == "e": букв e в строке
i = i + 1 изменяет переменную цикла s= ∑ i2 cnt = cnt + 1
i=1
print("found",cnt,"'e'")
print("sum:",s) вычисленный результат цикла
☝ остерегайтесь бесконечных циклов ! цикл по dict/set = цикл по последовательности ключей
используйте срезы для проходов по подпоследовательностям
Проход по индексам последовательности
Печать / Ввод ◽ можно присваивать элемент по индексу
◽ доступ к соседним элементам
print("v=",3,"cm :",x,",",y+4)
lst = [11,18,9,12,23,4,17]
lost = []
элементы для отображения : литералы, переменные, выражения
настройки print: for idx in range(len(lst)):
◽ sep=" " (разделитель аргументов, по умолч. пробел)
◽ end="\n" (конец печати, по умолч. перевод строки) val = lst[idx] Ограничить значения
◽ file=f (печать в файл, по умолч. стандартный вывод) больше 15, запомнить
if val > 15: потеряные значения
s = input("Instructions:") lost.append(val)

lst[idx] = 15

print("modif:",lst,"-lost:",lost)

☝ input всегда возвращает строку, преобразуйте её к нужному Пройти одновременно по индексам и значениям :
типу сами (см. «Преобразования» на другой стороне). for idx,val in enumerate(lst):

len(c)→ количество элементов Операции с контейнерами Генераторы последовательностей int
часто используются по умолчанию 0 не включается
min(c) max(c) sum(c) Прим. : для словарей и множеств эти
sorted(c) → отсортированая копия операции работают с ключами. в циклах for range([start,]stop [,step])

val in c → boolean, membersihp operator in (absence not in) range(5) 01234

enumerate(c)→ итератор по парам (индекс, значение) range(3,8) 34567

Только для последовательностей (lists, tuples, strings) : range(2,12,3) 2 5 8 11

reversed(c)→ reverse iterator c*5 → повторить c+c2 → соеденить
c.index(val)→ позиция c.count(val)→ подсчёт вхождений
range возвращает «генератор», чтобы увидеть значения,
☝ изменяют первоначальный список Операции со списками преобразуйте его в последовательность, например:
print(list(range(4)))

lst.append(item) добавить элемент в конец
lst.extend(seq)
добавить последовательность в конец имя функций (идентификатор) Определение функций
lst.insert(idx,val) вставить значение по индексу именованые параметры
lst.remove(val)
lst.pop(idx) удалить первое вхождение val

удалить значение по индексу и вернуть его def fctname(p_x,p_y,p_z):
lst.sort() lst.reverse() сортировать/обратить список по месту
"""documentation"""

Операции со словарями Операции с множествами # инструкции, вычисление результата
return res
d[key]=value d.clear() Операторы: результат вызова. если нет
d[key]→value del d[key] | → объединение (вертикальная черта) возврата значения,
& → пересечение ☝ параметры и всесь этот блок по умолчанию вернёт None
d.update(d2) Обновить/добавить - ^ → разность/симметричная разн. существуют только во время
вызова функции («черная коробка»)
d.keys() пары < <= > >= → отношения включения

d.values() просмотр ключей, s.update(s2) r = fctname(3,i+2,2*i)Вызов функций
d.items() значений и пар
d.pop(key) s.add(key) s.remove(key)
s.discard(key) один аргумент каждому параметру
получить результат (если нужен)
Файлы
Сохранение и считывание файлов с диска Форматирование строк
значения для форматирования
f = open("fil.txt","w",encoding="utf8") форматные директивы

файловая имя файла режим работы кодировка "model {} {} {}".format(x,y,r) str
переменная на диске ◽ 'r' read символов в текс- "{селектор:формат!преобразование}"
для операций (+путь…) ◽ 'w' write товых файлах:
◽ 'a' append… utf8 ascii ◽ Селекторы : "{:+2.3f}".format(45.7273)
cp1251 ...
2 →'+45.727'
см. функции в модулях os и os.path x Примеры "{1:>10s}".format(8,"toto")
0.nom →' toto'
запись пустая строка при конце файла чтение 4[key] "{!r}".format("I'm")
0[2] →'"I\'m"'
f.write("hello") s = f.read(4)если количество
☝ текстовый файл → чтение/запись прочитать следующую символов не указано, ◽ Формат :
заполнение выравнивание знак минширина.точность~максширина тип
только строк, преобразуйте строку прочитает весь файл

требуемые типы s = f.readline() < > ^ = + - пробел 0 в начале для заполнения 0
f.close() ☝ не забывайте закрывать после использования целые: b бинарный, c символ, d десятичн. (по умолч.), o 8-ричн, x или X 16-ричн.
Автоматическое закрыте : with open(…) as f: float: e or E экспонениалная запись, f or e фиксир. точка,

очень часто: цикл по строкам (каждая до '\n') текстового файла g or G наиболее подходящая из e или F, % перевод долей в %
строки : s …
for line in f : ◽ Преобразование : s (читаемый текст) или r (в виде литерала)
# блок кода для обработки строки


Click to View FlipBook Version