From 41a6f19c460c8b1990827920792cf12fa8972793 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andre=20Polykanine=20A=2EK=2EA=2E=20Menelion=20Elens=C3=BA?=
 =?UTF-8?q?l=C3=AB?= <andre@oire.org>
Date: Sun, 18 Jan 2015 00:00:06 +0200
Subject: [Python/ru] Fixing Russian translation for both Python tutorials

---
 ru-ru/python3-ru.html.markdown | 54 ++++++++++++++++++++++++++++--------------
 1 file changed, 36 insertions(+), 18 deletions(-)

(limited to 'ru-ru/python3-ru.html.markdown')

diff --git a/ru-ru/python3-ru.html.markdown b/ru-ru/python3-ru.html.markdown
index 637c0157..fd95c876 100644
--- a/ru-ru/python3-ru.html.markdown
+++ b/ru-ru/python3-ru.html.markdown
@@ -10,7 +10,7 @@ filename: learnpython3-ru.py
 ---
 
 Язык Python был создан Гвидо ван Россумом в начале 90-х. Сейчас это один из
-самых популярных языков. Я люблю его за понятный и доходчивый синтаксис  — это
+самых популярных языков. Я влюбился в Python за понятный и доходчивый синтаксис  — это
 почти что исполняемый псевдокод.
 
 С благодарностью жду ваших отзывов: [@louiedinh](http://twitter.com/louiedinh)
@@ -56,7 +56,7 @@ filename: learnpython3-ru.py
 7 % 3 # => 1
 
 # Возведение в степень
-2 ** 4 # => 16
+2**4 # => 16
 
 # Приоритет операций указывается скобками
 (1 + 3) * 2 #=> 8
@@ -69,6 +69,18 @@ False
 not True #=> False
 not False #=> True
 
+# Логические операторы
+# Обратите внимание: ключевые слова «and» и «or» чувствительны к регистру букв
+True and False #=> False
+False or True #=> True
+
+# Обратите внимание, что логические операторы используются и с целыми числами
+0 and 2 #=> 0
+-5 or 0 #=> -5
+0 == False #=> True
+2 == True #=> False
+1 == True #=> True
+
 # Равенство — это ==
 1 == 1 #=> True
 2 == 1 #=> False
@@ -91,7 +103,7 @@ not False #=> True
 "Это строка."
 'Это тоже строка.'
 
-# И строки тоже могут складываться! Хотя лучше этого не делайте.
+# И строки тоже могут складываться! Хотя лучше не злоупотребляйте этим.
 "Привет " + "мир!" #=> "Привет мир!"
 
 # Со строкой можно работать, как со списком символов
@@ -134,10 +146,10 @@ bool({}) #=> False
 ## 2. Переменные и коллекции
 ####################################################
 
-# У Python есть функция Print
+# В Python есть функция Print
 print("Я Python. Приятно познакомиться!")
 
-# Необязательно объявлять переменные перед их инициализацией.
+# Объявлять переменные перед инициализацией не нужно.
 # По соглашению используется нижний_регистр_с_подчёркиваниями
 some_var = 5
 some_var #=> 5
@@ -149,7 +161,7 @@ some_unknown_var  # Выбрасывает ошибку именования
 
 # Списки хранят последовательности
 li = []
-# Можно сразу начать с заполненным списком
+# Можно сразу начать с заполненного списка
 other_li = [4, 5, 6]
 
 # Объекты добавляются в конец списка методом append
@@ -170,7 +182,7 @@ li[-1] #=> 3
 # Попытка выйти за границы массива приведёт к ошибке индекса
 li[4] # Выдаёт IndexError
 
-# Можно обращаться к диапазону, используя "кусочный синтаксис" (slice syntax)
+# Можно обращаться к диапазону, используя так называемые срезы
 # (Для тех, кто любит математику, это называется замкнуто-открытый интервал).
 li[1:3] #=> [2, 4]
 # Опускаем начало
@@ -181,13 +193,14 @@ li[:3] #=> [1, 2, 4]
 li[::2]   # =>[1, 4]
 # Переворачиваем список
 li[::-1]   # => [3, 4, 2, 1]
-# Используйте сочетания всего вышеназванного для выделения более сложных кусков
+# Используйте сочетания всего вышеназванного для выделения более сложных срезов
 # li[начало:конец:шаг]
 
 # Удаляем произвольные элементы из списка оператором del
 del li[2] # [1, 2, 3]
 
-# Вы можете складывать списки
+# Вы можете складывать, или, как ещё говорят, конкатенировать списки
+# Обратите внимание: значения li и other_li при этом не изменились.
 li + other_li #=> [1, 2, 3, 4, 5, 6]  — Замечание: li и other_li не изменяются
 
 # Объединять списки можно методом extend
@@ -224,10 +237,11 @@ empty_dict = {}
 # Вот так описывается предзаполненный словарь
 filled_dict = {"one": 1, "two": 2, "three": 3}
 
-# Значения ищутся по ключу с помощью оператора []
+# Значения извлекаются так же, как из списка, с той лишь разницей,
+# что индекс — у словарей он называется ключом — не обязан быть числом
 filled_dict["one"] #=> 1
 
-# Все значения в виде списка получаются с помощью метода keys(). 
+# Все ключи в виде списка получаются с помощью метода keys(). 
 # Его вызов нужно обернуть в list(), так как обратно мы получаем
 # итерируемый объект, о которых поговорим позднее.
 list(filled_dict.keys())   # => ["three", "two", "one"]
@@ -247,7 +261,7 @@ list(filled_dict.values())   # => [3, 2, 1]
 # Попытка получить значение по несуществующему ключу выбросит ошибку ключа
 filled_dict["four"] # KeyError
 
-# Чтобы избежать этого, используйте метод get
+# Чтобы избежать этого, используйте метод get()
 filled_dict.get("one") #=> 1
 filled_dict.get("four") #=> None
 # Метод get также принимает аргумент по умолчанию, значение которого будет
@@ -259,6 +273,10 @@ filled_dict.get("four", 4) #=> 4
 filled_dict.setdefault("five", 5) #filled_dict["five"] возвращает 5
 filled_dict.setdefault("five", 6) #filled_dict["five"] по-прежнему возвращает 5
 
+# Добавление элементов в словарь
+filled_dict.update({"four":4}) #=> {"one": 1, "two": 2, "three": 3, "four": 4}
+#filled_dict["four"] = 4  # Другой способ добавления элементов
+
 # Удаляйте ключи из словаря с помощью оператора del
 del filled_dict["one"]  # Удаляет ключ «one» из словаря
 
@@ -345,7 +363,7 @@ try:
     # Чтобы выбросить ошибку, используется raise
     raise IndexError("Это ошибка индекса")
 except IndexError as e:
-    # pass это просто отсутствие оператора. Обычно здесь происходит
+    # pass — это просто отсутствие оператора. Обычно здесь происходит
     # восстановление после ошибки.
     pass
 except (TypeError, NameError):
@@ -393,7 +411,7 @@ list(filled_dict.keys())  #=> Возвращает ["one", "two", "three"]
 # Используйте def для создания новых функций
 def add(x, y):
     print("x равен %s, а y равен %s" % (x, y))
-    return x + y    # Возвращайте результат выражением return
+    return x + y    # Возвращайте результат с помощью ключевого слова return
 
 # Вызов функции с аргументами
 add(5, 6) #=> выводит «x равен 5, а y равен 6» и возвращает 11
@@ -401,14 +419,14 @@ add(5, 6) #=> выводит «x равен 5, а y равен 6» и возвр
 # Другой способ вызова функции — вызов с именованными аргументами
 add(y=6, x=5)   # Именованные аргументы можно указывать в любом порядке.
 
-# Вы можете определить функцию, принимающую изменяемое число аргументов
+# Вы можете определить функцию, принимающую переменное число аргументов
 def varargs(*args):
     return args
 
 varargs(1, 2, 3) #=> (1,2,3)
 
 
-# А также можете определить функцию, принимающую изменяемое число
+# А также можете определить функцию, принимающую переменное число
 # именованных аргументов
 def keyword_args(**kwargs):
     return kwargs
@@ -427,7 +445,7 @@ all_the_args(1, 2, a=3, b=4) выводит:
 """
 
 # Вызывая функции, можете сделать наоборот!
-# Используйте символ * для передачи кортежей и ** для передачи словарей
+# Используйте символ * для распаковки кортежей и ** для распаковки словарей
 args = (1, 2, 3, 4)
 kwargs = {"a": 3, "b": 4}
 all_the_args(*args) # эквивалентно foo(1, 2, 3, 4)
@@ -451,7 +469,7 @@ def setGlobalX(num):
 setX(43)
 setGlobalX(6)
 
-# В Python функции — «объекты первого класса». Это означает, что их можно использовать наравне с любыми другими значениями
+# В Python функции — «объекты первого класса»
 def create_adder(x):
     def adder(y):
         return x + y
-- 
cgit v1.2.3


From dac116d322ca587647cff5576e3534c33e6e30e9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=92=D0=B8=D1=82=D1=8E=D0=BA=20=D0=94=D0=BC=D0=B8=D1=82?=
 =?UTF-8?q?=D1=80=D0=B8=D0=B9?= <dimitriy.vityuk@gmail.com>
Date: Tue, 7 Apr 2015 12:30:52 +0300
Subject: Update python3-ru.html.markdown

Typo fix
---
 ru-ru/python3-ru.html.markdown | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'ru-ru/python3-ru.html.markdown')

diff --git a/ru-ru/python3-ru.html.markdown b/ru-ru/python3-ru.html.markdown
index fd95c876..2a7b3f7b 100644
--- a/ru-ru/python3-ru.html.markdown
+++ b/ru-ru/python3-ru.html.markdown
@@ -593,7 +593,7 @@ def double_numbers(iterable):
 range_ = range(1, 900000000)
 
 # Будет удваивать все числа, пока результат не превысит 30
-for i in double_numbers(xrange_):
+for i in double_numbers(range_):
     print(i)
     if i >= 30:
         break
-- 
cgit v1.2.3