Главная страница

Шпаргалка-по-Python-ru. Шпаргалка по Python3 20122013 Laurent Pointal Licence Creative Commons Attribution 2 Официальная документация по Python3


Скачать 172.85 Kb.
НазваниеШпаргалка по Python3 20122013 Laurent Pointal Licence Creative Commons Attribution 2 Официальная документация по Python3
АнкорPython
Дата24.12.2021
Размер172.85 Kb.
Формат файлаpdf
Имя файлаШпаргалка-по-Python-ru.pdf
ТипШпаргалка
#317080


Доступ к элементам последовательностей
Шпаргалка по Python3
©2012-2013 - Laurent Pointal
Licence Creative Commons Attribution 2
Официальная документация по Python3
http://docs.python.org/py3k
0
783
-192
int
9.23
-1.7e-6
0.0
float
True
False
bool
"One\nTwo"
'I\'m'
str
"""X\tY\tZ
1\t2\t3"""
10
-6
символ табуляции перевод строки многострочные
Контейнерные типы
list
[1,5,9]
["x",11,8.9] ["word"]
[]
tuple
(1,5,9)
11,"y",7.4
("word",)
()
dict
{1:"one",3:"three",2:"two",3.14:"π"}
{"key":"value"}
set
{}
{1,9,3,0}
◾ упорядоченная последовательность, быстрый доступ по индексу
set()
◾ порядок заранее неизвестен, быстрый доступ по ключу, ключи = базовые типы или кортежи
{"key1","key2"}
неизменяемые
Присвоение переменным
x
=
1.2
+
8
+
sin
(
0
)
y
,
z
,
r
=
9.2
,
-7.6
,
"bad"
значение или вычислимое выражение имя переменной (идентификатор)
a

zA

Z_
потом
a

zA

Z_0

9
◽ нелатинские буквы разрешены, но избегайте их
ключевые слова языка запрещены
◽ маленькие/БОЛЬШИЕ буквы отличаются выражение с одними запятыми неизменяемая, упорядоченная последовательность симполов словарь
integer, float, boolean, string
контейнер с несколькими значениями (здесь кортеж)
имена переменных
Имена
a toto x7 y_max BigOne
8y and
x
+=
3
x
-=
2
добавление вычитание
Преобразования
для списков, кортежей, строк...
int
(
"15"
)
float
(
"-11.24e8"
)
bool
str
(
78.3
)
repr
(
"Text"
)
можно указать целое основание системы исчисленя вторым параметром
int
(
15.56
)
отбросить дробную часть (для округления делайте
round
(
15.56
)
)
и для буквального преобразования
type
(
выражение)
используйте сравнения (==, !=, <, >, …), дающие логический результат
см. форматирование строк на другой стороне для более тонкого контроля
":"
.
join
(
['toto','12','pswd']
)
'toto:12:pswd'
соединяющая строка последовательность строк
"words with spaces"
.
split
()
['words','with','spaces']
"1,4,8,2"
.
split
(
","
)
['1','4','8','2']
строка-разделитель
dict
(
[(3,"three"),(1,"one")]
)
{1:'one',3:'three'}
list
(
"abc"
)
['a','b','c']
использует каждый элемент
последовательности
set
(
["one","two"]
)
{'one','two'}
использует каждый элемент
последовательности
lst
=
[ ]
lst
[
1
]

67
lst
[
-2
]

42
0
1
2
3
5
4
-6
-5
-4
-3
-1
-2
доступ к отдельным элементам через [индекс]
положительный индекс
отрицательный индекс
0
1
2
3
5
4
6
-6
-5
-4
-3
-1
-2
отрицательный срез
положительный срез
доступ к подпоследовательности [начало среза:конец среза:шаг]
len
(
lst
)
6
lst
[
1
:
3
]→
[67,"abc"]
lst
[::
2
]→
[11,"abc",42]
lst
[
-3
:
-1
]→
[3.14,42]
lst
[:
3
]→
[11,67,"abc"]
lst
[:
-1
]→
[11,67,"abc",3.14,42]
lst
[
4
:]→
[42,1968]
lst
[
1
:
-1
]→
[67,"abc",3.14,42]
lst
[:]→
[11,67,"abc",3.14,42,1968]
cрез без указания границ → с начала до конца
Условный оператор
if
x
==
42
:
# блок выполнится, если x==42 истинно
print
(
"real truth"
)
elif
x
>
0
:
# иначе блок, если лог. выражение x > 0 истинно
print
(
"be positive"
)
elif
bFinished
:
# иначе блок, если лог. перем. bFinished истинна
print
(
"how, finished"
)
else:
# иначе блок для всех остальных случаев
print
(
"when it's not"
)
Булева логика
Блоки инструкций
родительская инструкция
:
блок инструкций 1…

родительская инструкция
:
блок инструкций 2…

след. инструкция после блока 1
от ст уп ы
!
Сравнения:
<
> <= >= == !=

=


a
and
b
a
or
b
not
a
логическое и логическое или логическое нет
верно хотя бы одно
оба верны одновременно
if
логическое выражение:
блок выражений
выражения в блоке выполняется
только если условие истинно
True
False
константа «истина»
константа «ложь»
может сопровождаться несколькими elif, elif, …,
но только одним окончательним else. Пример:
lst
[
-1
]

1968
lst
[
0
]

11
последний
первый
x
=
None
«неопределённая» константа
Математика
Операторы: + - * / // % **
× ÷
деление без остатка остаток a
b
from
math
import
sin
,
pi

' экранирована
abs
(
-3.2
)→
3.2
round
(
3.57
,
1
)→
3.6
числа с плавающей точкой… приближенные значения!
sin
(
pi
/
4
)→
0.707…
cos
(
2
*
pi
/
3
)→
-0.4999…
sqrt
(
81
)→
9.0

log
(
e
**
2
)→
2.0
углы в радианах
acos
(
0.5
)→
1.0471…
и т.д. (см. доки)
(
1
+
5.3
)*
2

12.6
для переменных, функций,
модулей, классов...
Mémento v1.2.2
str
как упорядоченная последовательность символов
Для изменяемых последовательностей, полезно удаление
del
lst
[
3
:
5
]
и изменение с помощью присвоения
lst
[
1
:
4
]=
['hop',9]
соответствие между ключами и значениями
Базовые типы
Перевод : Федотов В.А.
11,
67, "abc",3.14, 42, 1968

Печать / Ввод
print
(
"v="
,
3
,
"cm :"
,
x
,
","
,
y
+
4
)
настройки print:

sep
=
" "
(разделитель аргументов, по умолч. пробел)

end
=
"\n"
(конец печати, по умолч. перевод строки)

file
=
f
(печать в файл, по умолч. стандартный вывод)
элементы для отображения : литералы, переменные, выражения цикл по dict/set = цикл по последовательности ключей
Цикл с условием
блок инструкций выполняется
до тех пор, пока условие истинно
while
логическое выражение:
блок инструкций
s
=
0
i
=
1
while
i
<=
100
:
# выражения вычисляются пока i ≤ 100
s
=
s
+
i
**
2
i
=
i
+
1
print
(
"sum:"
,
s
)
инициализации перед циклом
условие с хотя бы одним изменяющимся значением
(здесь i)
s=

i=1
i=100
i
2
изменяет переменную цикла
Цикл перебора
блок инструкций выполняется
для всех элементов контейнера или итератора
for
переменная
in
подследовательность:
блок инструкций
s
=
"Some text"
cnt
= 0
for
c
in
s
:
if
c
==
"e"
:
cnt
=
cnt
+
1
print
(
"found"
,
cnt
,
"'e'"
)
Проход по элементам последовательности
Посчитать число
букв e в строке
Проход по индексам последовательности
можно присваивать элемент по индексу
◽ доступ к соседним элементам
lst
=
[11,18,9,12,23,4,17]
lost
=
[]
for
idx
in
range
(
len
(
lst
)):
val
=
lst
[
idx
]
if
val
>
15
:
lost
.
append
(
val
)
lst
[
idx
] =
15
print
(
"modif:"
,
lst
,
"-lost:"
,
lost
)
Ограничить значения
больше 15, запомнить
потеряные значения
☝ остерегайтесь бесконечных циклов !
инициализации перед циклом
переменная цикла, значение управляется циклом for
используйте срезы для проходов по подпоследовательностям
вычисленный результат цикла
Генераторы последовательностей int
Файлы
s
=
input
(
"Instructions:"
)
input всегда возвращает строку, преобразуйте её к нужному типу сами (см. «Преобразования» на другой стороне).
часто используются
в циклах
for
range
возвращает «генератор», чтобы увидеть значения,
преобразуйте его в последовательность, например:
print(list(range(4)))
range
(
5
)
0 1 2 3 4
range
(
3
,
8
)
3 4 5 6 7
range
(
2
,
12
,
3
)
2 5 8 11
range
(
[start,]stop [,step])
f
=
open
(
"fil.txt"
,
"w"
,
encoding
=
"utf8"
)
Сохранение и считывание файлов с диска
режим работы
'r' read
'w' write
'a' append…
кодировка
символов в текс- товых файлах:
utf8 ascii cp1251 ...
имя файла на диске
(+путь…)
файловая
переменная
для операций
f
.
write
(
"hello"
)
запись
☝ текстовый файл → чтение/запись
только строк, преобразуйте
требуемые типы
s
=
f
.
read
(4)
for
line
in
f
:
# блок кода для обработки строки
см. функции в модулях
os
и
os
.
path
если количество символов не указано, прочитает весь файл
s
=
f
.
readline
()
прочитать следующую строку
f
.
close
()
☝ не забывайте закрывать после использования
Автоматическое закрыте :
with
open
(…)
as
f
:
очень часто: цикл по строкам (каждая до '\n') текстового файла
Определение функций
def
fctname
(
p_x
,
p_y
,
p_z
):
"""documentation"""
# инструкции, вычисление результата
return
res
имя функций (идентификатор)
результат вызова. если нет возврата значения,
по умолчанию вернёт
None
☝ параметры и всесь этот блок существуют только во время
вызова функции («черная коробка»)
именованые параметры
Вызов функций
r
=
fctname
(
3
,
i
+
2
,
2
*
i
)
один аргумент каждому параметру получить результат (если нужен)
пустая строка при конце файла не включается по умолчанию 0
"model {} {} {}"
.
format
(
x
,
y
,
r
)
"{
селектор:формат!преобразование}"
Селекторы :
2
x
0.nom
4[key]
0[2]
str
Форматирование строк
значения для форматирования форматные директивы
"{:+2.3f}"
.
format
(
45.7273
)

'+45.727'
"{1:>10s}"
.
format
(
8
,
"toto"
)

' toto'
"{!r}"
.
format
(
"I'm"
)

'"I\'m"'
Преобразование :
s
(читаемый текст) или
r
(в виде литерала)
<
>
^
=
0
в начале для заполнения 0
целые:
b
бинарный,
c
символ,
d
десятичн. (по умолч.),
o
8-ричн,
x
или
X
16-ричн.
float:
e
or
E
экспонениалная запись,
f
or
e
фиксир. точка,
g
or
G
наиболее подходящая из
e
или
F
,
%
перевод долей в %
строки :
s

Формат :
заполнение выравнивание знак минширина
.
точность

максширина тип
+
-
пробел
П
ри м
ер ы
Операции с контейнерами
len
(
c
)
min
(
c
)
max
(
c
)
sum
(
c
)
sorted
(
c
)
reversed
(
c
)
☝ изменяют первоначальный список
lst
.
append
(
item
)
lst
.
pop
(
idx
)
lst
.
sort
()
lst
.
reverse
()
c
.
index
(
val
)
c
.
count
(
val
)
→ количество элементов
→ отсортированая копия
→ reverse iterator
→ позиция
→ подсчёт вхождений
lst
.
extend
(
seq
)
добавить элемент в конец добавить последовательность в конец
lst
.
insert
(
idx
,
val
)
вставить значение по индексу
lst
.
remove
(
val
)
удалить первое вхождение val удалить значение по индексу и вернуть его сортировать/обратить список по месту
Операции со словарями
Операции с множествами
Операторы:
|
→ объединение (вертикальная черта)
&
→ пересечение
- ^
→ разность/симметричная разн.
< <= > >=
→ отношения включения
d
.
update
(
d2
)
Обновить/добавить
пары
Прим. : для словарей и множеств эти
операции работают с ключами.
Только для
последовательностей
(lists, tuples, strings) :
val
in
c
→ boolean, membersihp operator
in
(absence
not in
)
Операции со списками
d
[
key]value
del
d
[
key]
d
[
key]=value
d
.
keys
()
d
.
clear
()
d
.
items
()
d
.
values
()
просмотр ключей,
значений и пар
d
.
pop
(
key)
s.
update
(
s2
)
s
.
add
(
key)
s
.
remove
(
key)
s
.
discard
(
key)
c
*
5
→ повторить
c
+
c2
→ соеденить
Управление циклом
break
continue
немедленный выход
следующая итерация
Пройти одновременно по индексам и значениям :
for
idx
,
val
in
enumerate
(
lst
):
enumerate
(
c
)
итератор по парам (индекс, значение)
чтение


написать администратору сайта