diff options
Diffstat (limited to 'ru-ru/python-ru.html.markdown')
-rw-r--r-- | ru-ru/python-ru.html.markdown | 57 |
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/) - |