diff options
Diffstat (limited to 'ru-ru/python3-ru.html.markdown')
| -rw-r--r-- | ru-ru/python3-ru.html.markdown | 58 | 
1 files changed, 38 insertions, 20 deletions
| diff --git a/ru-ru/python3-ru.html.markdown b/ru-ru/python3-ru.html.markdown index 637c0157..2b6b59a7 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 @@ -531,7 +549,7 @@ Human.grunt() #=> "*grunt*"  # Вы можете импортировать модули  import math -print(math.sqrt(16)) #=> 4 +print(math.sqrt(16)) #=> 4.0  # Вы можете импортировать отдельные функции модуля  from math import ceil, floor @@ -575,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 | 
