Questions tagged [python]

Python — высокоуровневый язык с динамической типизацией, ориентированный на создание легко читаемого кода. Имеет две основные версии — 2 и 3. Используйте дополнительную метку [python-2.x] или [python-3.x], если ваш вопрос ориентирован на конкретную версию.

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

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

Существует две частично совместимых версии языка Python — 2 и 3. Но с 2020 года Python 2 официально не поддерживается.

Основная реализация языка Python — CPython, бесплатная и с открытым исходным кодом. Есть также большое разнообразие сторонних реализаций языка, предназначенных для специфичных окружений или задач.


Рекомендации по использованию метки:

Используйте метку для всех вопросов, связанных с Python. Если вы считаете, что ваш вопрос затрагивает возможности, различающиеся в версиях 2 и 3, в дополнение к основной метке , используйте уточняющие или . Если вы считаете, что ваш вопрос ещё сильнее зависит от версии Python, вы можете добавить метку версии, например, .

Указывайте метку реализации языка, если вы используете отличающуюся от CPython реализацию.


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

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

Философия языка Python называется The Zen of Python и написана Тимом Петерсом (Tim Peters). Она доступна в любом интерпретаторе Python через ввод команды:

>>> import this

Документация

Документация по языку поставляется вместе с интерпретатором и доступна без подключения к интернету. Ниже перечислены способы доступа к ней:

  • Зайдите в каталог путь_к_установленному_интерпретатору/Doc. Это полная документация, относящаяся к установленной версии Python.
  • Запустите в командной строке pydoc x или python -m pydoc x для отображения документации для модуля x.

Ссылки на некоторые книги, вводные руководства и курсы можно найти в обсуждении.

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

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

>>> from __future__ import braces
  File "<stdin>", line 1
SyntaxError: not a chance

Для упрощения перехода рекомендуется использовать правильно настроенный редактор кода или IDE. Python поставляется со стандартной IDE IDLE. Также часто используются бесплатные vim, Emacs или Eclipse + PyDev.
Список редакторов приведён в обсуждении.

64618 questions
105
votes
5 answers

Есть ли в Python оператор switch case?

Столкнулся с тем, что требуется реализовать множественное условие, которое в других языках я бы реализовал с помощью конструкции switch-case. В Python мне приходится расписывать всё через условия if-elif-else. Это мне кажется довольно неудобным.…
65
votes
2 answers

Что делает if __name__ == “__main__”?

Что происходит во время вызова if __name__ == "__main__":? # Threading example import time, thread def myfunction(string, sleeptime, lock, *args): while 1: lock.acquire() time.sleep(sleeptime) lock.release() …
Nicolas Chabanovsky
  • 51,426
  • 87
  • 267
  • 507
38
votes
1 answer

Ляп в Питоне: x + 1.0 < x

При смешивании типов возможно неочевидное поведение: >>> x = (1 << 53) + 1 >>> x + 1.0 < x True Казалось бы, что x + 1.0 не меньше просто x, поэтому ожидаемый результат сравнения False, но возвращается True. Почему?
jfs
  • 52,361
31
votes
1 answer

Что такое __all__ в Python?

Объясните, пожалуйста, что такое __all__ (я так понимаю, это некий список), в каких случаях он используется в Python и как это применяется при импортировании? Читаю Бизли, но там как-то мудрёно написано и пример непонятный, я не понял, честно…
G71
  • 2,089
22
votes
5 answers

Многострочные комментарии в Python

В Python, для однострочных комментариев используется символ #. Но если нужно закомментировать большой блок кода, то приходится приписывать # в начале каждой строки. Это очень неудобно при отладке. Есть ли какая-то возможность использовать…
Dmitriy Simushev
  • 17,999
  • 5
  • 49
  • 85
18
votes
2 answers

Python imports

Добрый день! Используя конструкцию вида: from a import * Но не используя все классы/функции и т.п. из a, можно ли сказать, что это влияет на скорость работы программы, на количество требующейся памяти? Или для python это не страшно?
Dex
  • 9,981
  • 3
  • 34
  • 60
15
votes
3 answers

Оператор присваивания += для списков (добавление по месту)

Как работает оператор += и аналогичные ему? То есть, понятно, что x+=y - это аналог x = x + y. Но я столкнулся с такой проблемой: x = [] y = (1,2,3) x = x + y В этом случае будет ошибка: TypeError: can only concatenate list (not "tuple") to…
Chaosman
  • 185
15
votes
1 answer

Как преобразовать список в строку?

Если открыть текстовый файл с помощью text.read(), возвращается список. Можно ли как-нибудь преобразовать его с строку, чтобы дальше работать с ним регулярными выражениями?
luminant
  • 259
  • 2
  • 4
  • 9
15
votes
3 answers

Как создать сайт на python без использования фреймворков?

Как создать сайт на python без использования фреймворков? Просто в общем скажите, что нужно сделать. Детали я сам погуглю P.S. Я знаю, что это создание велосипедов, но это мне нужно для изучения работы веб приложений в частности и обучения…
OLD
  • 383
14
votes
10 answers

Как разбить строку на отдельные символы?

Здравствуйте, помогите, пожалуйста, с такой задачей: есть строка data = "sadsadsadsfffffffddd dddsfd dsd" Как её разбить на отдельные символы? Понимаю, что data.split(), но только не понятно, что в split() писать. Заранее спасибо.
Rumato
  • 1,678
14
votes
4 answers

Глобальные переменные в Python: сохранить локальную переменную от вызова к вызову функции

У меня есть функция, которой необходимо сохранять значение от вызова к вызову, при этом это значение используется только в этой функции. Как правильно использовать глобальные переменные в Python? Я пробовал написать нечто подобное: someGlobalVar =…
Nicolas Chabanovsky
  • 51,426
  • 87
  • 267
  • 507
12
votes
4 answers

Как писать в stdout и в файл одновременно?

Есть python скрипт: import sys sys.stdout = open('my_log.log', 'w') print 'test' Он пишет весь стандартный вывод в файл. Вопрос: как мне и писать в файл, и одновременно выводить на консоль?
nick_gabpe
  • 3,943
12
votes
2 answers

Кто в Python должен проверять, правильного ли типа аргументы передаются в функцию или метод?

Кто в Python должен проверять, правильного ли типа аргументы передаются в функцию или метод: Программист вызывающий функцию обязан обеспечить правильность типа передаваемого аргумента. Функция не проверяет явно на первых этапах переданный…
pynista
  • 1,162
11
votes
1 answer

Проход по алфавиту Python

Можно ли как-то инкрементировать символ латинского алфавита? Нужно пройтись по алфавиту в Python, либо по числу получать какой-то определенный символ, есть такие функции?
Maxgmer
  • 2,798
10
votes
4 answers

Скрытие логина и пароля в коде Python

Каким образом можно зашифровать логин с паролем в самом коде? Ну или каким-либо другим способом сделать так, чтобы нельзя было бы их получить другим людям, так как сам код должен быть открытым и доступным для просмотра другими людьми. conn =…
Twiss
  • 6,393
1
2 3
99 100