Скільки важить Python

Зміст:

Загальні поширені запитання щодо Python¶

Python — це інтерпретована, інтерактивна, об’єктно-орієнтована мова програмування. Він містить модулі, винятки, динамічну типізацію, динамічні типи даних дуже високого рівня та класи. Він підтримує кілька парадигм програмування, окрім об’єктно-орієнтованого програмування, наприклад процедурне та функціональне програмування. Python поєднує в собі надзвичайну потужність із дуже чітким синтаксисом. Він має інтерфейси для багатьох системних викликів і бібліотек, а також для різних віконних систем і розширюється на C або C++. Його також можна використовувати як мову розширення для програм, яким потрібен програмований інтерфейс. Нарешті, Python портативний: він працює на багатьох варіантах Unix, включаючи Linux і macOS, а також на Windows.

Щоб дізнатися більше, почніть з Підручник з Python . Посібник для початківців з Python містить посилання на інші вступні посібники та ресурси для вивчення Python.

Що таке Python Software Foundation?¶

Python Software Foundation — це незалежна некомерційна організація, яка володіє авторськими правами на Python версії 2.1 і новіших. Місія PSF полягає в тому, щоб просувати технологію з відкритим кодом, пов’язану з мовою програмування Python, і оприлюднювати використання Python. Домашня сторінка PSF знаходиться за адресою https://www.python.org/psf/.

Пожертви на користь PSF звільняються від податків у США. Якщо ви використовуєте Python і вважаєте його корисним, зробіть свій внесок через сторінку пожертв PSF.

Чи існують обмеження авторського права на використання Python?¶

Ви можете робити з вихідним кодом усе, що завгодно, за умови, що ви залишите авторські права та відобразите ці авторські права в будь-якій документації щодо Python, яку ви створюєте. Якщо ви дотримуєтеся правил авторського права, можна використовувати Python для комерційного використання, продавати копії Python у вихідній чи двійковій формі (модифікованій чи немодифікованій) або продавати продукти, які в тій чи іншій формі містять Python. Звичайно, ми все ще хотіли б знати про комерційне використання Python.

See the license page to find further explanations and the full text of the PSF License.

Логотип Python є торговою маркою, і в деяких випадках для його використання потрібен дозвіл. Зверніться до Політики використання торговельних марок для отримання додаткової інформації.

Чому взагалі був створений Python?¶

Ось дуже короткий виклад того, з чого все почалося, написаний Гвідо ван Россумом:

У мене був великий досвід впровадження мови інтерпретації в групі ABC у CWI, і, працюючи з цією групою, я багато чого дізнався про мовний дизайн. Це походження багатьох функцій Python, включаючи використання відступів для групування операторів і включення типів даних дуже високого рівня (хоча всі деталі в Python різні).

У мене було кілька нарікань щодо мови ABC, але мені також сподобалися багато її функцій. Неможливо було розширити мову ABC (або її реалізацію), щоб виправити мої скарги – насправді її відсутність розширюваності була однією з найбільших проблем. У мене був певний досвід використання Modula-2+, я поспілкувався з розробниками Modula-3 і прочитав звіт Modula-3. Modula-3 є джерелом синтаксису та семантики, які використовуються для винятків, а також деяких інших функцій Python.

Я працював у групі розподілених операційних систем Amoeba в CWI. Нам потрібен був кращий спосіб адміністрування системи, ніж написання програм на C або сценаріїв оболонки Bourne, оскільки Amoeba мала власний інтерфейс системних викликів, до якого було важко отримати доступ із оболонки Bourne. Мій досвід обробки помилок в Amoeba дав мені чітке усвідомлення важливості винятків як функції мови програмування.

Мені спало на думку, що мова сценаріїв із синтаксисом, подібним до ABC, але з доступом до системних викликів Amoeba, задовольнить цю потребу. Я зрозумів, що було б нерозумно писати мову, специфічну для Amoeba, тому я вирішив, що мені потрібна мова, яка загалом розширювана.

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

У лютому 1991 року, після трохи більше ніж року розробки, я вирішив опублікувати повідомлення в USENET. Решта у файлі Misc/HISTORY .

Чим корисний Python?¶

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

The language comes with a large standard library that covers areas such as string processing (regular expressions, Unicode, calculating differences between files), internet protocols (HTTP, FTP, SMTP, XML-RPC, POP, IMAP), software engineering (unit testing, logging, profiling, parsing Python code), and operating system interfaces (system calls, filesystems, TCP/IP sockets). Look at the table of contents for Стандартна бібліотека Python to get an idea of what’s available. A wide variety of third-party extensions are also available. Consult the Python Package Index to find packages of interest to you.

Як працює схема нумерації версій Python?¶

Python versions are numbered «A.B.C» or «A.B»:

  • A is the major version number – it is only incremented for really major changes in the language.
  • B is the minor version number – it is incremented for less earth-shattering changes.
  • C is the micro version number – it is incremented for each bugfix release.

See PEP 6 for more information about bugfix releases.

Not all releases are bugfix releases. In the run-up to a new feature release, a series of development releases are made, denoted as alpha, beta, or release candidate. Alphas are early releases in which interfaces aren’t yet finalized; it’s not unexpected to see an interface change between two alpha releases. Betas are more stable, preserving existing interfaces but possibly adding new modules, and release candidates are frozen, making no changes except as needed to fix critical bugs.

Alpha, beta and release candidate versions have an additional suffix:

  • The suffix for an alpha version is «aN» for some small number N.
  • The suffix for a beta version is «bN» for some small number N.
  • The suffix for a release candidate version is «rcN» for some small number N.

In other words, all versions labeled 2.0aN precede the versions labeled 2.0bN, which precede versions labeled 2.0rcN, and those precede 2.0.

Ви також можете знайти номери версій із суфіксом «+», напр. «2,2+». Це неопубліковані версії, створені безпосередньо з репозиторію розробки CPython. На практиці, після створення остаточного мінорного випуску, версія збільшується до наступної мінорної версії, яка стає версією «a0», напр. «2.4a0».

Як отримати копію вихідного коду Python?¶

Найновіший вихідний код Python завжди доступний на сайті python.org за адресою https://www.python.org/downloads/. Останні джерела розробки можна отримати на https://github.com/python/cpython/.

Дистрибутив вихідного коду — це файл tar у форматі gzip, що містить повний вихідний код C, документацію у форматі Sphinx, модулі бібліотеки Python, приклади програм і кілька корисних частин програмного забезпечення, яке вільно розповсюджується. Джерело компілюється та запускається з коробки на більшості платформ UNIX.

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

Як отримати документацію на Python?¶

Стандартна документація для поточної стабільної версії Python доступна за адресою https://docs.python.org/3/. PDF, звичайний текст і HTML-версії для завантаження також доступні за адресою https://docs.python.org/3/download.html.

The documentation is written in reStructuredText and processed by the Sphinx documentation tool. The reStructuredText source for the documentation is part of the Python source distribution.

Я ніколи раніше не програмував. Чи є підручник з Python?¶

Доступно багато підручників і книг. Стандартна документація включає Підручник з Python .

Зверніться до Посібника для початківців, щоб знайти інформацію для початківців програмістів Python, включаючи списки навчальних посібників.

Чи існує група новин або список розсилки, присвячений Python?¶

Є група новин comp.lang.python і список розсилки python-list. Група новин і список розсилки пов’язані один з одним — якщо ви можете читати новини, немає необхідності підписуватися на список розсилки. comp.lang.python має високий трафік, отримує сотні публікацій щодня, і читачам Usenet часто легше впоратися з цим обсягом.

Announcements of new software releases and events can be found in comp.lang.python.announce, a low-traffic moderated list that receives about five postings per day. It’s available as the python-announce mailing list.

Додаткову інформацію про інші списки розсилки та групи новин можна знайти на https://www.python.org/community/lists/.

Як отримати тестову бета-версію Python?¶

Альфа- та бета-версії доступні за адресою https://www.python.org/downloads/. Усі випуски оголошуються в групах новин comp.lang.python і comp.lang.python.announce, а також на домашній сторінці Python за адресою https://www.python.org/; доступна RSS-канал новин.

Ви також можете отримати доступ до версії Python для розробки через Git. Перегляньте Посібник розробника Python для отримання додаткової інформації.

Як надіслати звіти про помилки та виправлення для Python?¶

To report a bug or submit a patch, use the issue tracker at https://github.com/python/cpython/issues.

Щоб дізнатися більше про те, як розробляється Python, зверніться до Посібника розробника Python.

Чи є опубліковані статті про Python, на які я можу посилатися?¶

Мабуть, найкраще процитувати вашу улюблену книгу про Python.

The very first article about Python was written in 1991 and is now quite outdated.

Гвідо ван Россум і Джелке де Бур, «Інтерактивне тестування віддалених серверів за допомогою мови програмування Python», CWI Quarterly, том 4, випуск 4 (грудень 1991), Амстердам, стор. 283–303.

Чи є книги про Python?¶

Так, їх багато, і публікується більше. Перегляньте список у вікі python.org за адресою https://wiki.python.org/moin/PythonBooks.

Ви також можете шукати в книжкових онлайн-магазинах «Python» і відфільтрувати посилання на Monty Python; або, можливо, шукайте «Python» і «мова».

Де у світі знаходиться www.python.org?¶

The Python project’s infrastructure is located all over the world and is managed by the Python Infrastructure Team. Details here.

Чому він називається Python?¶

Коли Гвідо ван Россум почав впроваджувати Python, він також читав опубліковані сценарії з «Летючого цирку Монті Пайтона», комедійного серіалу BBC 1970-х років. Ван Россум подумав, що йому потрібна коротка, унікальна та трохи загадкова назва, тому він вирішив назвати мову Python.

Чи обов’язково мені повинен подобатись «Летючий цирк Монті Пайтона»?¶

Python у реальному світі¶

Наскільки стабільний Python?¶

Very stable. New, stable releases have been coming out roughly every 6 to 18 months since 1991, and this seems likely to continue. As of version 3.9, Python will have a new feature release every 12 months ( PEP 602).

The developers issue bugfix releases of older versions, so the stability of existing releases gradually improves. Bugfix releases, indicated by a third component of the version number (e.g. 3.5.3, 3.6.2), are managed for stability; only fixes for known problems are included in a bugfix release, and it’s guaranteed that interfaces will remain the same throughout a series of bugfix releases.

The latest stable releases can always be found on the Python download page. There are two production-ready versions of Python: 2.x and 3.x. The recommended version is 3.x, which is supported by most widely used libraries. Although 2.x is still widely used, it is not maintained anymore.

Скільки людей використовують Python?¶

Ймовірно, є мільйони користувачів, хоча важко отримати точну кількість.

Python доступний для безкоштовного завантаження, тому немає даних про продажі, і він доступний на багатьох різних сайтах і входить до складу багатьох дистрибутивів Linux, тому статистика завантажень також не говорить усієї історії.

Група новин comp.lang.python дуже активна, але не всі користувачі Python пишають у групі або навіть читають її.

Чи були якісь значні проекти виконані на Python?¶

Див. https://www.python.org/about/success, щоб переглянути список проектів, які використовують Python. Перегляд матеріалів минулих конференцій Python покаже внески багатьох різних компаній і організацій.

High-profile Python projects include the Mailman mailing list manager and the Zope application server. Several Linux distributions, most notably Red Hat, have written part or all of their installer and system administration software in Python. Companies that use Python internally include Google, Yahoo, and Lucasfilm Ltd.

Які нові розробки очікуються для Python у майбутньому?¶

See https://peps.python.org/ for the Python Enhancement Proposals (PEPs). PEPs are design documents describing a suggested new feature for Python, providing a concise technical specification and a rationale. Look for a PEP titled «Python X.Y Release Schedule», where X.Y is a version that hasn’t been publicly released yet.

New development is discussed on the python-dev mailing list.

Чи розумно пропонувати несумісні зміни в Python?¶

Загалом ні. По всьому світу вже існують мільйони рядків коду Python, тому будь-яку зміну в мові, яка робить недійсною більш ніж дуже малу частину існуючих програм, слід сприймати несхвально. Навіть якщо ви можете надати програму перетворення, все одно залишається проблема оновлення всієї документації; Про Python написано багато книжок, і ми не хочемо скасувати їх усі одним ударом.

Надання поступового шляху оновлення є необхідним, якщо функцію потрібно змінити. PEP 5 описує процедуру введення змін, несумісних із попередніми версіями, мінімізуючи перешкоди для користувачів.

Чи є Python хорошою мовою для програмістів-початківців?¶

Досі прийнято починати студентів із процедурної та статично типізованої мови, такої як Pascal, C або підмножини C++ чи Java. Студентам краще буде вивчати Python як першу мову. Python має дуже простий і послідовний синтаксис і велику стандартну бібліотеку, і, що найважливіше, використання Python на початковому курсі програмування дозволяє студентам зосередитися на важливих навичках програмування, таких як декомпозиція задачі та проектування типів даних. За допомогою Python студенти можуть швидко познайомитися з основними поняттями, такими як цикли та процедури. Ймовірно, вони навіть можуть працювати з об’єктами, визначеними користувачем, у своєму першому курсі.

Для студента, який ніколи раніше не програмував, використання статично типізованої мови виглядає неприродним. Це створює додаткову складність, яку студент повинен освоїти, і уповільнює темп курсу. Студенти намагаються навчитися мислити як комп’ютер, декомпонувати проблеми, проектувати послідовні інтерфейси та інкапсулювати дані. Хоча навчитися використовувати статично типізовану мову є важливим у довгостроковій перспективі, це не обов’язково найкраща тема для вивчення в першому курсі програмування студентів.

Багато інших аспектів Python роблять його хорошою першою мовою. Подібно до Java, Python має велику стандартну бібліотеку, тому студентам можна призначати проекти програмування на початку курсу, які роблять щось. Завдання не обмежуються стандартним чотирифункціональним калькулятором і програмами перевірки балансу. Використовуючи стандартну бібліотеку, студенти можуть отримати задоволення від роботи над реалістичними програмами, вивчаючи основи програмування. Використання стандартної бібліотеки також навчає студентів повторному використанню коду. Сторонні модулі, такі як PyGame, також допомагають розширити охоплення студентів.

Інтерактивний інтерпретатор Python дозволяє студентам тестувати функції мови під час програмування. Вони можуть тримати вікно з запущеним інтерпретатором, поки вони вводять код своєї програми в інше вікно. Якщо вони не можуть згадати методи для списку, вони можуть зробити щось подібне:

>>> L = [] >>> dir(L) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] >>> [d for d in dir(L) if '__' not in d] ['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] >>> help(L.append) Help on built-in function append: append(. ) L.append(object) -> None -- append object to end >>> L.append(1) >>> L [1] 

З інтерпретатором документація завжди є доступною для студента, оскільки він програмує.

There are also good IDEs for Python. IDLE is a cross-platform IDE for Python that is written in Python using Tkinter. Emacs users will be happy to know that there is a very good Python mode for Emacs. All of these programming environments provide syntax highlighting, auto-indenting, and access to the interactive interpreter while coding. Consult the Python wiki for a full list of Python editing environments.

Якщо ви хочете обговорити використання Python в освіті, вам може бути цікаво приєднатися до списку розсилки edu-sig.

Download the latest version of Python

All Python releases are Open Source. Historically, most, but not all, Python releases have also been GPL-compatible. The Licenses page details GPL-compatibility and Terms and Conditions.

Sources

For most Unix systems, you must download and compile the source code. The same source code archive can also be used to build the Windows and Mac versions, and is the starting point for ports to all other platforms.

Download the latest Python 3 source.

Alternative Implementations

This site hosts the “traditional” implementation of Python (nicknamed CPython). A number of alternative implementations are available as well.

History

Python was created in the early 1990s by Guido van Rossum at Stichting Mathematisch Centrum in the Netherlands as a successor of a language called ABC. Guido remains Python’s principal author, although it includes many contributions from others.

Release Schedules

See Status of Python Versions for all an overview of all versions, including unsupported.

Information about specific ports, and developer info

OpenPGP Public Keys

Source and binary executables are signed by the release manager or binary builder using their OpenPGP key. Release files for currently supported releases are signed by the following:

  • Thomas Wouters (3.12.x and 3.13.x source files and tags) (key id: A821E680E5FA6305)
  • Pablo Galindo Salgado (3.10.x and 3.11.x source files and tags) (key id: 64E628F8D684696D)
  • Steve Dower (Windows binaries) (key id: FC62 4643 4870 34E5)
  • Łukasz Langa (3.8.x and 3.9.x source files and tags) (key id: B269 95E3 1025 0568)
  • Ned Deily (macOS binaries, 3.7.x / 3.6.x source files and tags) (key ids: 2D34 7EA6 AA65 421D and FB99 2128 6F5E 1540
  • Larry Hastings (3.5.x source files and tags) (key id: 3A5C A953 F73C 700D)
  • Benjamin Peterson (2.7.z source files and tags) (key id: 04C3 67C2 18AD D4FF and A4135B38)

Release files for older releases which have now reached end-of-life may have been signed by one of the following:

  • Anthony Baxter (key id: 0EDD C5F2 6A45 C816)
  • Georg Brandl (key id: 0A5B 1018 3658 0288)
  • Martin v. Löwis (key id: 6AF0 53F0 7D9D C8D2)
  • Ronald Oussoren (key id: C9BE 28DE E6DF 025C)
  • Barry Warsaw (key ids: 126E B563 A74B 06BF, D986 6941 EA5B BD71, and ED9D77D5)

You can import a person’s public keys from a public keyserver network server you trust by running a command like:

or, in many cases, public keys can also be found at keybase.io. On the version-specific download pages, you should see a link to both the downloadable file and a detached signature file. To verify the authenticity of the download, grab both files and then run this command:

gpg --verify Python-3.6.2.tgz.asc

Note that you must use the name of the signature file, and you should use the one that’s appropriate to the download you’re verifying.

macOS Installer Packages

Installer packages for Python on macOS downloadable from python.org are signed with with an Apple Developer ID Installer certificate.

  • As of Python 3.11.4 and 3.12.0b1 (2023-05-23), release installer packages are signed with certificates issued to the Python Software Foundation (Apple Developer ID BMM5U3QVKW)).
  • Installer packages for previous releases were signed with certificates issued to Ned Deily (DJ3H93M7VJ).

Other Useful Items

  • Looking for 3rd party Python modules? The Package Index has many of them.
  • You can view the standard documentation online, or you can download it in HTML, PostScript, PDF and other formats. See the main Documentation page.
  • Information on tools for unpacking archive files provided on python.org is available.
  • Tip: even if you download a ready-made binary for your platform, it makes sense to also download the source. This lets you browse the standard library (the subdirectory Lib) and the standard collections of demos (Demo) and tools (Tools) that come with it. There’s a lot you can learn from the source!
  • There is also a collection of Emacs packages that the Emacsing Pythoneer might find useful. This includes major modes for editing Python, C, C++, Java, etc., Python debugger interfaces and more. Most packages are compatible with Emacs and XEmacs.

Want to contribute?

Want to contribute? See the Python Developer’s Guide to learn about how Python development is managed.

  • About
    • Applications
    • Quotes
    • Getting Started
    • Help
    • Python Brochure
    • All releases
    • Source code
    • Windows
    • macOS
    • Other Platforms
    • License
    • Alternative Implementations
    • Docs
    • Audio/Visual Talks
    • Beginner’s Guide
    • Developer’s Guide
    • FAQ
    • Non-English Docs
    • PEP Index
    • Python Books
    • Python Essays
    • Diversity
    • Mailing Lists
    • IRC
    • Forums
    • PSF Annual Impact Report
    • Python Conferences
    • Special Interest Groups
    • Python Logo
    • Python Wiki
    • Code of Conduct
    • Community Awards
    • Get Involved
    • Shared Stories
    • Arts
    • Business
    • Education
    • Engineering
    • Government
    • Scientific
    • Software Development
    • Python News
    • PSF Newsletter
    • PSF News
    • PyCon US News
    • News from the Community
    • Python Events
    • User Group Events
    • Python Events Archive
    • User Group Events Archive
    • Submit an Event
    • Developer’s Guide
    • Issue Tracker
    • python-dev list
    • Core Mentorship
    • Report a Security Issue

Related Post

Коли садити лаванду на розсадуКоли садити лаванду на розсаду

Зміст:1 Як посадити лаванду1.1 Як посадити лаванду вдома1.1.1 Короткий опис вирощування1.2 Особливості лаванди1.3 Вирощування лаванди з насіння1.3.1 Посадка у відкритий грунт1.3.2 Посів на розсаду1.3.3 Догляд за розсадою1.3.4 Посадка у відкритий