9 конструкций python которые нужно знать
Перейти к содержимому

9 конструкций python которые нужно знать

  • автор:

25 полезных однострочников Python, которые вы должны знать

Перед прочтением: в руках каждого разработчика должны быть удобные и практичные инструменты. Однострочники, как и синтаксический сахар, — это пример грамотного написания кода, который повышает вашу продуктивность и качество в глазах коллег, но при этом не требует каких-то сверхестественных усилий. Надеюсь, перевод данной статьи окажется полезным.

В тот день, когда я написал свою первую строчку кода на Python, я был очарован простотой, популярностью и крутостью его однострочников. В своем блоге я хочу представить несколько однострочников на Python.

1. Сменка двух переменных

# a = 4 b = 5 a,b = b,a # print(a,b) >> 5,4

Давайте начнем с чего-то более простого, например, поменяем местами две переменные друг с другом. Этот метод — один из самых простых и интуитивно понятных методов, который вы можете написать без необходимости использовать временную переменную или применять арифметические операции.

2. Множественные присвоения переменных

a,b,c = 4,5.5,'Hello' #print(a,b,c) >> 4,5.5,hello

Вы можете использовать запятые и переменные, чтобы назначать нескольким переменным значения за раз. Используя этот метод, вы даже можете назначить несколько типов данных var за раз. Вы можете использовать список для присвоения значений переменным. Ниже приведен пример присвоения нескольких значений разным переменным из списка.

a,b,*c = [1,2,3,4,5] print(a,b,c) > 1 2 [3,4,5]

3. Сумма четных чисел в списке

Для этого может быть много способов, но лучший и самый простой способ — использовать индексирование списка и функцию суммирования.

a = [1,2,3,4,5,6] s = sum([num for num in a if num%2 == 0]) print(s) >> 12

4. Удаление нескольких элементов из списка

del — ключевое слово, используемое в Python для удаления объектов из списка.

#### Удаляем все четные числа a = [1,2,3,4,5] del a[1::2] print(a) >[1, 3, 5]

5. Чтение файлов

lst = [line.strip() for line in open('data.txt')] print(lst)

Здесь мы используем понимание того, как устроен список. Сначала мы открываем текстовый файл и с помощью цикла for читаем строку за строкой. В итоге с помощью strip убираем все лишнее пространство. Но есть один более простой и короткий способ сделать то же самое, используя только функцию списка.

list(open('data.txt')) ##Использование with также закроет файл после использования with open("data.txt") as f: lst=[line.strip() for line in f] print(lst)

6. Запись данных в файл

with open("data.txt",'a',newline='\n') as f: f.write("Python is awesome")

Приведенный выше код сначала создаст файл data.txt, если его еще нет, а затем напишет в этом файле Python is awesome .

7. Создание списков

lst = [i for i in range(0,10)] print(lst) > [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] или lst = list(range(0,10)) print(lst)

Мы также можем создать список строк, используя тот же метод.

lst = [("Hello "+i) for i in ['Karl','Abhay','Zen']] print(lst) > ['Hello Karl', 'Hello Abhay', 'Hello Zen']

8. Mapping списков, или изменение типа данных в списке

Иногда в нашем проекте нам нужно изменить типы данных всех элементов в списке. Первый способ, который приходит вам в голову, — использовать цикл, а затем получить доступ ко всем элементам из списка, а затем один за другим изменить тип данных элементов. Этот метод предназначен для старой школы в Python. У нас есть функция map , которая может делать эту работу за нас.

list(map(int,['1','2','3'])) > [1, 2, 3] list(map(float,[1,2,3])) > [1.0, 2.0, 3.0] # А вот как делалось раньше [float(i) for i in [1,2,3]] > [1.0, 2.0, 3.0]

9. Создание набора

Метод, который мы использовали для создания списков, также можно использовать для создания наборов. Давайте создадим набор с помощью метода, который возвращает квадратный корень всех четных чисел в диапазоне.

# Квадрат всех четных чисел в диапазоне >

10. Fizz Buzz

Это тест, в котором нам нужно написать программу, что печатает числа от 1 до 100. Но для чисел, кратных трем, выведет «Fizz» вместо числа, а для кратных пяти выведет «Buzz». (если кратно и трем, и пяти, то выводится, соответственно, FizzBuzz).

Похоже, нам нужно использовать циклы и несколько операторов if-else. Если вы попытаетесь сделать это на любом другом языке, то вам, возможно, придется написать до 10 строк кода. Но используя python, мы сможем реализовать FizzBuzz всего одной строкой кода.

['FizzBuzz' if i%3==0 and i%5==0 else 'Fizz' if i%3==0 else 'Buzz' if i%5==0 else i for i in range(1,20)]

В приведенном выше коде мы используем понимание списка для запуска цикла от 1 до 20, а затем на каждой итерации цикла мы проверяем, делится ли число на 3 или 5. Если да, то мы заменяем число на Fizz или Buzz соответственно (при выполнении обоих условий заменим число на FizzBuzz).

11. Палиндром

Палиндром — это число или строка, которые в обратном виде выглядят одинаково.

text = 'level' ispalindrome = text == text[::-1] ispalindrome > True

12. Целые числа, разделенные пробелами, в списке

lis = list(map(int, input().split())) print(lis) > 1 2 3 4 5 6 7 8 [1, 2, 3, 4, 5, 6, 7, 8]

13. Лямбда-функция

Лямбда-функция — это небольшая анонимная функция.

Лямбда-функция может принимать любое количество аргументов, но может иметь только одно __выражение.

sqr = lambda x: x * x ##Функция, возвращающая квадрат любого числа sqr(10) > 100

14. Проверить наличие числа в списке

num = 5 if num in [1,2,3,4,5]: print('present') > present

15. Вывод паттернов

Паттерны — это то, что меня всегда увлекало. В python мы можем рисовать удивительные паттерны, используя всего одну строку кода.

n = 5 print('\n'.join('?' * i for i in range(1, n + 1))) > ? ?? . . . 

16. Нахождение факториала

Факториал — это произведение целого числа и всех целых чисел в порядке перед ним.

import math n = 6 math.factorial(n) > 720

17. Ряд Фибоначчи

Ряд Фибоначчи — это серия чисел, в которой каждое число (число Фибоначчи) является суммой двух предыдущих чисел. Простейший ряд Фибоначчи: 1, 1, 2, 3, 5, 8, 13 и т.д. Мы можем использовать создание списка и цикл for для создания ряда Фибоначчи в необходимом нам диапазоне.

fibo = [0,1] [fibo.append(fibo[-2]+fibo[-1]) for i in range(5)] fibo > [0, 1, 1, 2, 3, 5, 8]

18. Простое число

Простое число — это число, которое делится только само на себя и 1. например: 2,3,5,7 и т. Д. Чтобы сгенерировать простые числа в диапазоне, мы можем использовать функцию списка с фильтром и лямбда для генерации простых чисел.

list(filter(lambda x:all(x % y != 0 for y in range(2, x)), range(2, 13))) > [2, 3, 5, 7, 11]

19. Нахождение максимального числа

findmax = lambda x,y: x if x > y else y findmax(5,14) > 14 или max(5,14)

В приведенном выше коде с использованием лямбда-функции мы проверяем условие сравнения и в соответствии с ним возвращаем максимальное число.

20. Линейная алгебра

Иногда нам нужно увеличить числа в списке в 2 или 5 раз. Код ниже покажет, как это сделать.

def scale(lst, x): return [i*x for i in lst] scale([2,3,4], 2) ## вызов функции > [4,6,8]

21. Транспонировать матрицу

Если вам нужно преобразовать все строки в столбцы и наоборот, в python вы можете транспонировать матрицу всего в одну строку кода, используя функцию zip.

a=[[1,2,3], [4,5,6], [7,8,9]] transpose = [list(i) for i in zip(*a)] transpose > [[1, 4, 7], [2, 5, 8], [3, 6, 9]]

22. Подсчет нахождений паттерна

Это важный и рабочий метод, когда нам нужно знать количество повторений паттерна в тексте. В python есть библиотека re, которая сделает эту работу за нас.

import re; len(re.findall('python','python is a programming language. python is python.')) > 3

23. Замена текста другим текстом

"python is a programming language. python is python".replace("python",'Java') > Java is a programming language. Java is Java

24. Симуляция подбрасывания монеты

Это может быть не так важно, но может быть очень полезно, когда вам нужно сгенерировать случайный выбор из заданного набора вариантов.

import random; random.choice(['Head',"Tail"]) > Head

25. Генерация групп

groups = [(a, b) for a in ['a', 'b'] for b in [1, 2, 3]] groups > [('a', 1), ('a', 2), ('a', 3), ('b', 1), ('b', 2), ('b', 3)]

Я поделился всеми полезными и важными однострочниками, которые я знаю. Если вы знаете какие-то ещё, поделитесь в комментариях.

С чего начать изучение Python?

С чего начать изучение Python? главное изображение

Python — высокоуровневый язык с динамической типизацией. Это значит, что код на нем прост для чтения и понимания, а разработка быстрая, так как Python сам классифицирует вводимые данные.

Посмотрите, как можно вывести на экран фразу «Hello, World!» в одну строчку с помощью одной понятной команды:

print('Hello, World!') 

И как это можно сделать с помощью языка Java:

class HelloWorld  public static void main(String[] args)  System.out.println("Hello World!"); > > 

Python также известен своей философией — правилами, которые разработчики стараются соблюдать при написании кода. Они сформулированы в списке из 19 пунктов под названием «The Zen of Python» . Вот несколько правил из этого списка:

  • Явное лучше, чем неявное
  • Простое лучше, чем сложное
  • Читаемость имеет значение.

У Python есть более сотни библиотек кода — наборов инструментов для решения программистских задач. Также есть много фреймворков: возможно, вы что-то слышали о Django, Pyramid или Flask. Каждый из этих инструментов можно освоить, чтобы выйти на новый уровень программирования на Python.

Python применяют для создания и поддержания своих продуктов такие компании, как Google, Yandex, Spotify, Microsoft, Pinterest, Quora, Intel и другие.

Где используется Python

Python — самый популярный язык программирования по данным индекса TIOBE на ноябрь 2023 года. Востребованность Python можно объяснить тем, что его применяют во многих сферах: веб-разработка (чаще всего серверная часть), машинное обучение и анализ больших данных.

Также на Python создают:

  • Видеоигры
  • Десктопные приложения
  • 3D-графику
  • Программ для обработки изображений, видео и аудио.

В сфере мобильной разработки язык Python используют очень редко.

Python в Data Science

Python — главный язык программирования для работы с анализом данных. Python любят в Big Data за счет гибкости и скорости освоения.

В анализе данных чаще работают математики, финансисты или даже маркетологи, а не «чистые» программисты. Им гораздо проще работать с Python, чем с более сложными Java или C.

За счет встроенного интерпретатора этот язык программирования позволяет быстро проверять гипотезы и моментально получать результаты.

Тем, кто хочет работать в Data Science, потребуется выучить основы Python и несколько профильных библиотек:

  • Pandas — нужна для сбора и структурирования данных. Библиотека умеет извлекать информацию из баз данных и таблиц, превращая разрозненные объекты в индексированные массивы. Содержит инструменты визуализации.
  • NumPy — используют для расчетов. Позволяет индексировать, умножать и добавлять массивы, разбивать их на секции и менять форму. Есть инструменты для вычисления по формулам линейной алгебры.
  • Matplotlib — для визуализации данных. Помогает создавать графики, диаграммы, 2D-фигуры и встраивать их в большинство популярных приложений и сервисов.
  • Statsmodels — для статистического анализа. Помогает использовать в Python формулы из языка R. С ее помощью проводят одномерный и двумерный анализ данных, решают сложные математические задачи и занимаются машинным обучением.

Познакомьтесь с Python бесплатно

Что нужно, чтобы начать программировать на Python

Расскажем об основных особенностях этого языка и о том минимуме, который нужно знать, чтобы написать свое первое приложение на Python.

Установить IDE

Программисты пишут код в интегрированной среде разработки — IDE, которая включает в себя редактор кода, инструменты для его выполнения и отладки, а также систему контроля версий.

Среда разработки помогает разработчику ориентироваться в коде и искать в нем ошибки. Самые популярные IDE для Python: Python IDLE, PyCharm, Spyder, Thonny.

Еще можно установить редактор кода — это более легковесная программа, аналог текстовых редакторов. Она сохраняет проекты в правильном расширении, автоматически проверяет отступы в коде и подсвечивает синтаксис. Самые популярные редакторы кода для Python: Visual Studio Code, Sublime Text, Vim.

Также существует онлайн-IDE, с помощью которой можно писать код на Python прямо в браузере. Replit подойдет для первого знакомства с Python и создания небольших проектов.

Изучить базовый синтаксис

Синтаксис — это набор правил, по которым разработчики пишут код на любом языке программирования. Основа, без которой невозможно программировать.

Многие хотят начинать изучение программирования с Python, потому что у этого языка достаточно простой синтаксис. Код на нем можно понять без особых знаний за счет лаконичности языковых конструкций.

Вот примерный список тем, которые нужно изучить и понять перед тем, как начать кодить на Python:

  • Строки — как их выводить, извлекать из них символы.
  • Переменные и типы — для чего они нужны, как облегчают разработку.
  • Операторы — какие они бывают в Python и как работают.
  • Условия — что такое условные конструкции и как их задавать.
  • Циклы — для чего нужны и как использовать.
  • Структуры данных — для чего используют, сколько всего структур и какие они бывают.
  • Функции — в чем особенность, как их вызывать и где искать документацию по ним.
  • Классы и объекты — что это такое и как они обозначаются.

Давайте разберем пару базовых тем.

Списки

Список — это структура данных, которая используется для хранения коллекции элементов в упорядоченной последовательности. Эти элементы могут быть разного типа: числа, строки, другие списки и так далее. Список создается с использованием квадратных скобок [] , а элементы внутри списка разделяются запятыми.

Когда мы создаем список, в памяти компьютера появляется область — контейнер, в котором хранятся только ссылки на различные элементы данных.

Содержимое списка не статично, его можно изменять. Этим он принципиально отличается от строки или числа. Элементы списка можно удалять, добавлять и заменять.

Вот пример списка:

a = ['dog', 16, True] 

Наш список содержит строку, число и булево значение.

Со списками можно проводить различные операции:

  • Элементы в списках можно заменять. Для этого нужно обратиться к нему по индексу.
  • Списки можно объединять. Для этого используют оператор + .
  • Элементы в Python можно перебирать при помощи циклов for и while .
  • Списки можно сравнить друг с другом, получив в ответ булево значение — False или True .

Строки

Строка — последовательность данных. В прошлом примере слово ‘dog’ — это строка. Класс такого объекта называется str . Строка — это любая упорядоченная последовательность символов. Ее используют, чтобы хранить или выводить текстовую информацию.

Для создания строк в Python используют одинарные или двойные кавычки. Начинающим разработчикам стоит запомнить правило последовательности. В одном проекте нужно выбрать либо одинарные, либо двойные кавычки, придерживаясь единообразного стиля. Это повышает читаемость кода.

Строки в Python можно объединять при помощи математического оператора + . Но лучше использовать вместо него .join() .

В первом случае это выглядит так:

a1 = 'Я учусь' a2 = 'писать код на Python' а1 + а2 >>> 'Я учусь писать код на Python' 
''.join([а1, а2]) >>> 'Я учусь писать код на Python' 

Кавычки тут нужны для обозначения строки-соединителя. В этом примере она пустая, но может содержать в себе пробел или другой символ.

Использование .join() вместо математического оператора делает код лаконичнее и производительнее. Это имеет смысл, когда строк много, а не всего две, как в нашем примере.

Для поиска по текстовой информации используют регулярные выражения — regex . Они позволяют «вытащить» из строк нужные данные. По этому принципу, например, работает поиск в Word по документу.

У регулярных выражений есть свой синтаксис:

  • . — заменяет любой символ;
  • \ — экранирует, превращая спецсимволы в обычные символы;
  • […] — любой символ, указанный в скобках, можно обозначить как перечислением, так и диапазоном;
  • | — обозначает «или», то есть позволяет искать или один или другой символ;
  • [^…] — ищет любой символ, кроме указанного в скобках;
  • $ — конец строки;
  • ^ — начало строки.

Объектно-ориентированное программирование

Объектно-ориентированное программирование (ООП) — это парадигма разработки, то есть набор правил и принципов, которые нужно соблюдать программисту.

Знакомство с ней необходимо для того, чтобы понимать основы. Без знания принципов ООП невозможно стать квалифицированным разработчиком.

Главный принцип ООП: все программы состоят из объектов. Объект — сущность, у которой есть набор действий и определенные данные. Перед написанием кода программисту нужно мысленно выделить основные объекты, потом наполнить их данными и прописать доступные действия.

Структура объектно-ориентированного программирования:

  • Объект — отдельный элемент с собственными функциями и характеристиками.
  • Класс — шаблон для объектов. Например, на сайте-картотеке фильмов и сериалов классом будет карточка фильма с пустыми полями, а объектами уже заполненные карточки с указанным названием, годом и жанром.****
  • Метод — функция, связанная с конкретным объектом и работающая с его данными. Например, метод в нашем примере позволит вывести имена актеров или вывести все фильмы этого же режиссера.
  • Атрибут — данные объекта. У класса описывают будущие атрибуты, а в объекте заполняют их конкретными данными. Например, в классе «фильм» есть атрибуты-поля «Режиссер» и «Год выхода». А в объекте, определенном фильме, будут конкретные фамилии и даты.

Что еще нужно знать

Программирование — творческая профессия, поэтому у разработчика есть определенная свобода действий. Написать код можно разными способами, и он будет работать.

Начинающие программисты предпочитают самые простые способы. А опытные разработчики стараются сделать свой код красивым и лаконичным.

Например, выше мы уже писали, почему стоит объединять строки при помощи .join(). И это не единственный способ оптимизации.

Что еще нужно знать:

  • Декораторы — функции, о которых обязательно спросят на собеседовании. При помощи декоратора можно добавить к уже существующей функции новые возможности, не меняя исходный код.
  • Случайные числа — числа из определенного диапазона с некоторой вероятностью выпадения. Их используют для того, чтобы имитировать закон распределения случайной величины. В Python для этого используют библиотеку random или модуль numpy.random .
  • Рекурсия — функция, вызывающая себя саму. Ее используют для выполнения последовательности одинаковых действий. Например, если нужно узнать сумму чисел от 1 до N, есть два способа. Первый — итерационный, в котором прописывают каждый шаг при помощи цикла. А второй — рекурсионный, он оптимальнее для решения сложных задач.
  • Рефакторинг кода — процесс редактирования и оптимизации. Он необходим для того, чтобы улучшить читабельность, сделать код понятнее и красивее. В процессе рефакторинга удаляют неиспользуемые переменные, ненужные и отладочные команды, избавляются от ошибок форматирования.

Сколько времени нужно, чтобы выучить Python

Судя по опыту многих разработчиков, базовые знания по Python можно получить чуть меньше, чем за месяц, если заниматься до пяти часов в неделю.

Если вы хотите стать Python-разработчиком, то готовьтесь уделять учебе от десяти часов в неделю. Занимаясь такое количество времени, вы сможете освоить Python на уровне джуна примерно в течение года.

Основы языка можно выучить самостоятельно с помощью книг, видеолекций и онлайн-курсов. Но на более поздних этапах обучения рекомендуем вам обращаться по всем вопросам к опытным разработчикам или менторам.

Попробуйте себя в Python

Полезные материалы для изучения Python

Первым делом стоит изучить документацию языка. Она дает представление о работе языка и показывает примеры его использования. Это как огромная библиотека или справочная, в которую разработчик может прийти за нужным документом или ответом в спорных ситуациях. Документацию Python можно посмотреть на официальном сайте .

Решайте задачи

Существует много разных сайтов, на которых питонисты выкладывают и решают задачи по Python. Это, например:

  • LeetCode
  • Codewars
  • Exercism
  • okpython.net
  • Проект Эйлера
  • CheckiO

Платформа Kaggle подойдет для тех, кто выбрал для дальнейшего развития сферу машинного обучения. На ней проходят групповые соревнования, где организаторы дают разные задачи по Data Science. Участники решают задачи с помощью языка Python. Лучшие решения можно будет положить в портфолио.

Участвуйте в играх

Изучать Python по играм не менее эффективно, чем штудировать теорию курсов и учебников. На игровых турнирах можно прокачиваться в написании кода и даже знакомиться с единомышленниками.

В какие игры можно поиграть:

  • Code Monkey — пожалуй, самая популярная игра по Python. В ней нужно помогать обезьянке собирать бананы с помощью цепочки команд.
  • CodeCombat — игра учит базовым навыкам программирования и написанию кода. В ней нужно захватывать земли и уничтожать врагов.
  • Codebattle — это платформа, на которой проходят игры и турниры для разработчиков. Они развивают алгоритмическое мышление и дают полезные связи с разработчиками. Хекслет проводит соревнования разработчиков разных уровней на Codebattle каждый месяц — участвуйте, чтобы приобрести новый опыт и разнообразить свое обучение.

Читайте книги

Есть много хороших книг по изучению Python. Будет здорово, если вы прочитаете некоторые из них:

  • Пол Бэрри «Изучаем программирование на Python»
  • Марк Лутц «Изучаем Python»
  • Эрик Мэтиз. Изучаем Python. Программирование игр, визуализация данных, веб-приложения».

Также у Хекслета есть свой список рекомендованной литературы. Ознакомьтесь с этими книгами — они полезны для программистов любых направлений.

На YouTube-канале Хекслета есть рубрика «Публичные собеседования» , в которой наши студенты проходят учебные интервью у специалистов разных компаний. Посмотрите видео из этой рубрики, чтобы иметь понимание о том, как проходят собеседования и какие знания нужны разработчикам, чтобы успешно их проходить.

Если в процессе обучения вы почувствуете, что вам не хватает поддержки единомышленников и более опытных разработчиков, присоединяйтесь к Хекслет Комьюнити. Там вы сможете обсуждать трудные моменты в учебе, получать помощь и поддержку.

Что дальше

Если хотите быстро и недорого попробовать работать с Python под руководством наставника — запишитесь на наши подготовительные курсы. Двухнедельный интенсив позволит получить крепкую базу знаний и написать свою первую программу на Python.

Основы программирования в Python

Курс «Основы программирования в Python» имеет целью обучить студентов не только работе в Python, но и основам программирования вообще, поскольку наиболее базовые принципы являются схожими почти во всех языках программирования. При решении ряда задач исследователи часто сталкиваются с необходимостью работать с большими массивами данных. Характер данных может быть очень разным: политологические индексы, посчитанные для разных стран, социально-экономические показатели по регионам России и муниципальным образованиям, тексты законопроектов и инициатив, тексты пользователей в социальных сетях и т.д. Для того чтобы эффективно работать с разными типами данных, необходимо знать основы программирования, так как именно навыки программирования позволяют автоматически собирать необходимую информацию за достаточно быстрое время. В качестве языка программирования в данном курсе используется Python. Язык Python на данный момент является очень популярным, в том числе в исследованиях в рамках социальных наук. Дисциплина подразделяется на два блока. Первый блок посвящен основам программирования и включает необходимые для дальнейшей работы в Python темы: переменные и типы данных, списки и кортежи, словари, условные конструкции, циклы и функции. Второй блок посвящен решению прикладных задач в Python и включает темы, связанные со сбором и анализом данных: выгрузка данных с сайтов, парсинг веб-страниц, работа с таблицами и разведывательный анализ данных.

Цель освоения дисциплины

Овладение навыками программирования на языке Python, овладение методами сбора и обработки данных для решения политологических и социально-экономических задач

Планируемые результаты обучения

Умеет работать в среде Jupyter Notebook, умеет создавать переменные разных типов

Умеет решать прикладные задачи с применением условных конструкций и циклов

Знает особенности изменяемых и неизменяемых типов данных; умеет создавать разные структуры данных

2.1. Теория¶

Язык Python является одним из самых простых в изучении и самых приятных в использовании из языков программирования, получивших широкое распространение. Программный код на языке Python легко читать и писать, и, будучи лаконичным, он не выглядит загадочным. Python — очень выразительный язык, позволяющий уместить приложение в меньшее количество строк, чем на это потребовалось бы в других языках, таких как C++ или Java.

2.1.1. История создания¶

Разработка языка Python была начата в конце 1980-х годов сотрудником голландского института CWI (Центр математики и информатики, голл. Centrum Wiskunde & Informatica) Гвидо ван Россумом (англ. Guido van Rossum), на основе языка ABC (Рисунок 2.1.1). В феврале 1991 года Гвидо опубликовал исходный текст в группе новостей alt.sources.

https://upload.wikimedia.org/wikipedia/commons/thumb/6/66/Guido_van_Rossum_OSCON_2006.jpg/320px-Guido_van_Rossum_OSCON_2006.jpg

Рисунок 2.1.1 — Гвидо ван Россум на конференции в 2006 г. ¶

О создании Python Гвидо ван Россум написал в 1996 г.:

«Около 6 лет назад, в декабре 1989 г., я думал над проектом в области программирования в качестве хобби, которое бы заняло меня на время Рождественских выходных. Мой офис… был закрыл, но компьютер был и дома, и, в общем, это все, что у меня было на руках. Я решил написать интерпретатор для нового скриптового языка, о котором думал в последнее время: наследника ABC, который бы оказался привлекательным для Unix/C хакеров. Пилотное название «Питон» было выбрано с одной стороны в связи с немного скептическим отношением к перспективам проекта, а с другой — из-за того, что я большой фанат шоу «Летающий цирк Монти Пайтона».

Покинув в декабре 2012 года корпорацию Google, с 2013 года Гвидо работал в компании Dropbox Inc, выйдя на пенсию в 2019, а с 2020 работает в компании Microsoft. Имея статус «великодушного пожизненного диктатора» проекта — он продолжает наблюдать за процессом разработки Python, принимая окончательные решения, когда это необходимо (не менее 50% рабочего времени по договоренности с DropBox).

Появившись сравнительно поздно, Python создавался под влиянием множества языков программирования. Так, например, влияние оказали такие языки, как:

  • ABC: отступы для группировки операторов, высокоуровневые структуры данных;
  • Modula-3: пакеты, модули;
  • С, C++: некоторые синтаксические конструкции;
  • Smalltalk: ООП;
  • Java: обработка исключений и др.

Большая часть других особенностей Python (например, байт-компиляция исходного кода) также была реализована ранее в других языках.

Развитие языка происходит согласно четко регламентированному процессу создания, обсуждения, отбора и реализации документов PEP (Python Enhancement Proposal) — предложений по развитию Python.

В 2008 году, после длительного тестирования, вышла первая версия Python 3000 (или Python 3.0, также используется сокращение Py3k). В Python 3000 устранены многие недостатки архитектуры с максимально возможным (но не полным) сохранением совместимости со старыми версиями Python. На сегодня поддерживаются обе ветви развития (Python 3.x и 2.x) (сравнение и рекомендации), однако получать новый функционал будет только версия 3 6.

Ключевые вехи развития языка приведены в Таблице 2.1.1.

Таблица 2.1.1 — Основные вехи развития языка Python ¶

Ветвь (дата выхода)

Актуальная версия (дата выхода) (могла устареть)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *