summaryrefslogtreecommitdiffhomepage
path: root/ru-ru
diff options
context:
space:
mode:
Diffstat (limited to 'ru-ru')
-rw-r--r--ru-ru/python-ru.html.markdown57
1 files changed, 27 insertions, 30 deletions
diff --git a/ru-ru/python-ru.html.markdown b/ru-ru/python-ru.html.markdown
index 7dcfcd60..40299c20 100644
--- a/ru-ru/python-ru.html.markdown
+++ b/ru-ru/python-ru.html.markdown
@@ -287,20 +287,21 @@ empty_dict = {}
filled_dict = {"one": 1, "two": 2, "three": 3}
# Обратите внимание, что ключи для словарей должны быть неизменяемыми типами. Это
-# сделано для того, чтобы ключ может быть преобразован в хеш для быстрого поиска.
-# Неизменяемые типы включают целые числа, числа с плавающей запятой, строки, кортежи.
+# сделано для того, чтобы ключ мог быть преобразован в хеш для быстрого поиска.
+# Неизменяемые типы включают целые числа, числа с плавающей запятой, строки,
+# кортежи.
invalid_dict = {[1,2,3]: "123"} # => Выбрасывает ошибку TypeError: unhashable type: 'list'
valid_dict = {(1,2,3):[1,2,3]} # Однако значения могут быть любого типа.
# Поиск значений с помощью []
filled_dict["one"] # => 1
-# Все ключи в виде списка получаются с помощью метода keys().
-# Его вызов нужно обернуть в list(), так как обратно мы получаем
-# итерируемый объект, о которых поговорим позднее. Примечание - для Python
-# версии <3.7, порядок словарных ключей не гарантируется. Ваши результаты могут
-# не точно соответствовать приведенному ниже примеру. Однако, начиная с Python 3.7
-# элементы в словаре сохраняют порядок, в котором они вставляются в словарь.
+# Все ключи в виде списка получаются с помощью метода keys(). Его вызов нужно
+# обернуть в list(), так как обратно мы получаем итерируемый объект, о которых
+# поговорим позднее. Примечание - для Python версии <3.7, порядок словарных
+# ключей не гарантируется. Ваши результаты могут не точно соответствовать
+# приведенному ниже примеру. Однако, начиная с Python 3.7 элементы в словаре
+# сохраняют порядок, в котором они вставляются в словарь.
list(filled_dict.keys()) # => ["three", "two", "one"] в Python <3.7
list(filled_dict.keys()) # => ["one", "two", "three"] в Python 3.7+
@@ -337,12 +338,11 @@ filled_dict["four"] = 4 # Другой способ добавления
# Удаляйте ключи из словаря с помощью ключевого слова del
del filled_dict["one"] # Удаляет ключ "one" из словаря
-# После Python 3.5 вы также можете использовать дополнительные параметры распаковки
+# В Python 3.5+ вы также можете использовать дополнительные параметры распаковки
{'a': 1, **{'b': 2}} # => {'a': 1, 'b': 2}
{'a': 1, **{'a': 2}} # => {'a': 2}
-
# Множества содержат... ну, в общем, множества
empty_set = set()
# Инициализация множества набором значений.
@@ -417,8 +417,7 @@ for animal in ["собака", "кошка", "мышь"]:
print("{} — это млекопитающее".format(animal))
"""
-"range(число)" возвращает список чисел
-от нуля до заданного числа
+"range(число)" возвращает список чисел от нуля до заданного числа.
Выводит:
0
1
@@ -429,8 +428,8 @@ for i in range(4):
print(i)
"""
-"range(нижнее, верхнее)" возвращает список чисел
-от нижнего числа к верхнему
+"range(начало, конец)" возвращает список чисел от начального числа
+к конечному, не включая конечное.
Выводит:
4
5
@@ -441,9 +440,9 @@ for i in range(4, 8):
print(i)
"""
-"range(нижнее, верхнее, шаг)" возвращает список чисел
-от нижнего числа к верхнему, от нижнего числа к верхнему, увеличивая
-шаг за шагом. Если шаг не указан, значение по умолчанию - 1.
+"range(начало, конец, шаг)" возвращает список чисел от начального
+числа к конечному, увеличивая шаг за шагом.
+Если шаг не указан, значение по умолчанию - 1.
Выводит:
4
6
@@ -452,7 +451,7 @@ for i in range(4, 8, 2):
print(i)
"""
-Чтобы перебрать список и получить индекс и значение каждого элемента в списке
+Можно перебрать список и получить индекс и значение каждого элемента в списке
Выводит:
0 собака
1 кошка
@@ -475,6 +474,7 @@ while x < 4:
print(x)
x += 1 # Краткая запись для x = x + 1
+
# Обрабатывайте исключения блоками try/except
try:
# Чтобы выбросить ошибку, используется raise
@@ -482,10 +482,10 @@ try:
except IndexError as e:
pass # pass — это просто отсутствие оператора. Обычно здесь происходит восстановление после ошибки.
except (TypeError, NameError):
- pass # Несколько исключений можно обработать вместе, если нужно.
-else: # Необязательное выражение. Должно следовать за последним блоком except
- print("Всё хорошо!") # Выполнится, только если не было никаких исключений
-finally: # Выполнить при любых обстоятельствах
+ pass # Можно обработать больше одного исключения.
+else: # Необязательно. Добавляется за последним except.
+ print("Всё хорошо!") # Выполнится, только если не было никаких исключений.
+finally: # Необязательно. Выполнить при любых обстоятельствах.
print("Мы можем очистить ресурсы здесь")
# Вместо try/finally чтобы очистить ресурсы, можно использовать оператор with
@@ -504,19 +504,17 @@ with open("myfile2.txt", "w+") as file:
# Чтение из файла
with open('myfile1.txt', "r+") as file:
contents = file.read() # Читает строку из файла
-print(contents)
-# print: {"aa": 12, "bb": 21}
+print(contents) # => '{"aa": 12, "bb": 21}'
-with open('myfile2.txt', "r+") as file:
+with open('myfile2.txt', "r") as file:
contents = json.load(file) # Читает объект json из файла
-print(contents)
-# print: {"aa": 12, "bb": 21}
+print(contents) # => {"aa": 12, "bb": 21}
# Python предоставляет фундаментальную абстракцию,
# которая называется итерируемым объектом (Iterable).
# Итерируемый объект — это объект, который воспринимается как последовательность.
-# Объект, который возвратила функция range(), итерируемый.
+# Объект, который возвратила функция range() — итерируемый.
filled_dict = {"one": 1, "two": 2, "three": 3}
our_iterable = filled_dict.keys()
@@ -540,7 +538,7 @@ next(our_iterator) # => "one"
next(our_iterator) # => "two"
next(our_iterator) # => "three"
-# Возвратив все данные, итератор выбрасывает исключение StopIterator
+# Возвратив все данные, итератор выбрасывает исключение StopIteration
next(our_iterator) # Выбрасывает исключение StopIteration
# Мы можем проходить по нему циклом.
@@ -1049,4 +1047,3 @@ print(say(say_please=True)) # Вы не купите мне пива? Пожа
* [A Crash Course in Python for Scientists](http://nbviewer.jupyter.org/gist/anonymous/5924718)
* [Python Tutorial for Intermediates](https://pythonbasics.org/)
* [Build a Desktop App with Python](https://pythonpyqt.com/)
-