Python (Programming Language) - Wikipedia
Python (Programming Language) - Wikipedia
Python é uma linguagem de programação de alto nível e de propósito geral . Sua filosofia de
design enfatiza a legibilidade do código com o uso de recuo significativo . [ 32 ]
Python é dinamicamente tipado e coletado como lixo . Ele suporta múltiplos paradigmas de
programação , incluindo programação estruturada (particularmente procedural ), orientada a
objetos e funcional . É frequentemente descrito como uma linguagem "baterias incluídas" devido
à sua abrangente biblioteca padrão . [ 33 ] [ 34 ]
Guido van Rossum começou a trabalhar no Python no final da década de 1980 como sucessor
da linguagem de programação ABC e o lançou pela primeira vez em 1991 como Python 0.9.0.
[ 35 ]
O Python 2.0 foi lançado em 2000. O Python 3.0, lançado em 2008, foi uma revisão
importante não totalmente compatível com versões anteriores. O Python 2.7.18, lançado em
2020, foi o último lançamento do Python 2. [ 36 ]
História
O designer do Python,
Guido van Rossum , na
OSCON 2006
O Python foi concebido no final da década de 1980 [ 41 ] por Guido van Rossum no Centrum
Wiskunde & Informatica (CWI) na Holanda como um sucessor da linguagem de programação
ABC , que foi inspirada no SETL , [ 42 ] capaz de lidar com exceções e interagir com o sistema
operacional Amoeba . [ 12 ] Sua implementação começou em dezembro de 1989. [ 43 ] Van
Rossum assumiu a responsabilidade exclusiva pelo projeto, como desenvolvedor líder, até 12 de
julho de 2018, quando anunciou suas "férias permanentes" de suas responsabilidades como "
ditador benevolente vitalício " (BDFL) do Python, um título que a comunidade Python concedeu a
ele para refletir seu compromisso de longo
Pitão
prazo como o principal tomador de decisões
do projeto [ 44 ] (ele já saiu da aposentadoria e
se autointitula "BDFL-emérito"). Em janeiro de
2019, os desenvolvedores ativos do núcleo
Python elegeram um Conselho Diretor de
cinco membros para liderar o projeto. [ 45 ] [ 46 ]
(up from one and a half), followed by 3 years não oficial (ou que
funciona): Outras
of security support (for same total support as
variantes do tipo Unix
before).
/ BSD ) e algumas
Python 3.13 introduces some change in behavior, i.e. new "well-defined semantics", fixing bugs
(plus many removals of deprecated classes, functions and methods, and removed some of the
C API and outdated modules): "The [old] implementation of locals() and
frame.f_locals is slow, inconsistent and buggy [and it has] has many corner cases and
oddities. Code that works around those may need to be changed. Code that uses locals() for
simple templating, or print debugging, will continue to work correctly."[62]
Some (more) standard library modules and many deprecated classes, functions and methods,
will be removed in Python 3.15 or 3.16.[63][64]
Python 3.14 is now in alpha 2;[65] regarding possible change to annotations: "In Python 3.14,
from __future__ import annotations will continue to work as it did before, converting
annotations into strings." [66]
PEP 711 proposes PyBI: a standard format for distributing Python Binaries.[67]
O Python 3.15 "Tornará o modo UTF-8 padrão", [ 68 ] o modo existe em todas as versões atuais do
Python, mas atualmente precisa ser ativado. O UTF-8 já é usado, por padrão, no Windows (e em
outros lugares), para a maioria das coisas, mas, por exemplo, para open arquivos, não é e a
ativação também torna o código totalmente multiplataforma, ou seja, usa UTF-8 para tudo em
todas as plataformas.
Sua filosofia central é resumida no Zen of Python (PEP 20), que inclui aforismos como: [ 78 ]
A legibilidade é importante.
However, Python features regularly violate these principles and have received criticism for adding
unnecessary language bloat.[79] Responses to these criticisms are that the Zen of Python is a
guideline rather than a rule.[80] The addition of some new features had been so controversial that
Guido van Rossum resigned as Benevolent Dictator for Life following vitriol over the addition of
the assignment expression operator in Python 3.8.[81][82]
Nevertheless, rather than building all of its functionality into its core, Python was designed to be
highly extensible via modules. This compact modularity has made it particularly popular as a
means of adding programmable interfaces to existing applications. Van Rossum's vision of a
small core language with a large standard library and easily extensible interpreter stemmed from
his frustrations with ABC, which espoused the opposite approach.[41]
Python claims to strive for a simpler, less-cluttered syntax and grammar while giving developers
a choice in their coding methodology. In contrast to Perl's "there is more than one way to do it"
motto, Python embraces a "there should be one—and preferably only one—obvious way to do it."
philosophy.[78] In practice, however, Python provides many ways to achieve the same task. There
are, for example, at least three ways to format a string literal, with no certainty as to which one a
programmer should use.[83] Alex Martelli, a Fellow at the Python Software Foundation and Python
book author, wrote: "To describe something as 'clever' is not considered a compliment in the
Python culture."[84]
Os desenvolvedores do Python buscam que ele seja divertido de usar. Isso se reflete em seu
nome — uma homenagem ao grupo de comédia britânico Monty Python [ 87 ] — e em abordagens
ocasionalmente lúdicas para tutoriais e materiais de referência, como o uso dos termos "spam"
e "eggs" (uma referência a um esquete do Monty Python ) em exemplos, em vez dos
frequentemente usados "foo" e "bar" . [ 88 ] [ 89 ] Um neologismo comum na comunidade Python é
pythonic , que tem uma ampla gama de significados relacionados ao estilo do programa. O
código "pythonic" pode usar bem os idiomas Python , ser natural ou mostrar fluência na
linguagem, ou estar em conformidade com a filosofia minimalista do Python e ênfase na
legibilidade. O código que é difícil de entender ou que parece uma transcrição grosseira de outra
linguagem de programação é chamado de unpythonic . [ 90 ]
Sintaxe e semântica
Python foi criado para ser uma linguagem de fácil leitura. Sua formatação é visualmente
organizada e frequentemente usa palavras-chave em inglês onde outras linguagens usam
pontuação. Ao contrário de muitas outras linguagens, ele não usa chaves para delimitar blocos,
e ponto e vírgula após as instruções são permitidos, mas raramente usados. Ele tem menos
exceções sintáticas e casos especiais do que C ou Pascal . [ 91 ]
Recuo
Python uses whitespace indentation, rather than curly brackets or keywords, to delimit blocks. An
increase in indentation comes after certain statements; a decrease in indentation signifies the
end of the current block.[92] Thus, the program's visual structure accurately represents its
semantic structure.[93] This feature is sometimes termed the off-side rule. Some other languages
use indentation this way; but in most, indentation has no semantic meaning. The recommended
indent size is four spaces.[94]
The if statement, which conditionally executes a block of code, along with else and
elif (a contraction of else-if)
The for statement, which iterates over an iterable object, capturing each element to a local
variable for use by the attached block
The while statement, which executes a block of code as long as its condition is true
The try statement, which allows exceptions raised in its attached code block to be caught
and handled by except clauses (or new syntax except* in Python 3.11 for exception
groups[95]); it also ensures that clean-up code in a finally block is always run regardless of
how the block exits
The raise statement, used to raise a specified exception or re-raise a caught exception
The class statement, which executes a block of code and attaches its local namespace to a
class, for use in object-oriented programming
The with statement, which encloses a code block within a context manager (for example,
acquiring a lock before it is run, then releasing the lock; or opening and closing a file), allowing
resource-acquisition-is-initialization (RAII)-like behavior and replacing a common try/finally
idiom[96]
The continue statement, which skips the rest of the current iteration and continues with the
next
The del statement, which removes a variable—deleting the reference from the name to the
value, and producing an error if the variable is referred to before it is redefined
The pass statement, serving as a NOP, syntactically needed to create an empty code block
The assert statement, used in debugging to check for conditions that should apply
The yield statement, which returns a value from a generator function (and also an
operator); used to implement coroutines
The import and from statements, used to import modules whose functions or variables
can be used in the current program
The match and case statements, an analog of the switch statement construct, that
compares an expression against one or more cases as a control-of-flow measure.
Python does not support tail call optimization or first-class continuations, and, according to Van
Rossum, it never will.[97][98] However, better support for coroutine-like functionality is provided by
extending Python's generators.[99] Before 2.5, generators were lazy iterators; data was passed
unidirectionally out of the generator. From Python 2.5 on, it is possible to pass data back into a
generator function; and from version 3.3, it can be passed through multiple stack levels.[100]
Expressions
The + , - , and * operators for mathematical addition, subtraction, and multiplication are
similar to other languages, but the behavior of division differs. There are two types of divisions
in Python: floor division (or integer division) // and floating-point / division.[101] Python uses
the ** operator for exponentiation.
Python uses the + operator for string concatenation. Python uses the * operator for
duplicating a string a specified number of times.
The @ infix operator. It is intended to be used by libraries such as NumPy for matrix
multiplication.[102][103]
The syntax := , called the "walrus operator", was introduced in Python 3.8. It assigns values to
variables as part of a larger expression.[104]
Python has a type of expression named a list comprehension, and a more general expression
named a generator expression.[76]
Anonymous functions are implemented using lambda expressions; however, there may be only
one expression in each body.
Python makes a distinction between lists and tuples. Lists are written as [1, 2, 3] , are
mutable, and cannot be used as the keys of dictionaries (dictionary keys must be immutable in
Python). Tuples, written as (1, 2, 3) , are immutable and thus can be used as keys of
dictionaries, provided all of the tuple's elements are immutable. The + operator can be used
to concatenate two tuples, which does not directly modify their contents, but produces a new
tuple containing the elements of both. Thus, given the variable t initially equal to (1, 2,
3) , executing t = t + (4, 5) first evaluates t + (4, 5) , which yields (1, 2, 3,
4, 5) , which is then assigned back to t —thereby effectively "modifying the contents" of t
while conforming to the immutable nature of tuple objects. Parentheses are optional for tuples
in unambiguous contexts.[106]
Python features sequence unpacking where multiple expressions, each evaluating to anything
that can be assigned (to a variable, writable property, etc.) are associated in an identical
manner to that forming tuple literals—and, as a whole, are put on the left-hand side of the equal
sign in an assignment statement. The statement expects an iterable object on the right-hand
side of the equal sign that produces the same number of values as the provided writable
expressions; when iterated through them, it assigns each of the produced values to the
corresponding expression on the left.[107]
Python has a "string format" operator % that functions analogously to printf format
strings in C—e.g. "spam=%s eggs=%d" % ("blah", 2) evaluates to "spam=blah
eggs=2" . In Python 2.6+ and 3+, this was supplemented by the format() method of the
str class, e.g. "spam={0} eggs={1}".format("blah", 2) . Python 3.6 added "f-
strings": spam = "blah"; eggs = 2; f'spam={spam} eggs={eggs}' .[108]
Strings in Python can be concatenated by "adding" them (with the same operator as for adding
integers and floats), e.g. "spam" + "eggs" returns "spameggs" . If strings contain
numbers, they are added as strings rather than integers, e.g. "2" + "2" returns "22" .
Triple-quoted (beginning and ending with three single or double quotes), which may span
multiple lines and function like here documents in shells, Perl, and Ruby.
Raw string varieties, denoted by prefixing the string literal with r . Escape sequences are
not interpreted; hence raw strings are useful where literal backslashes are common, such
as regular expressions and Windows-style paths. (Compare " @ -quoting" in C#.)
Python has array index and array slicing expressions in lists, denoted as a[key] ,
a[start:stop] or a[start:stop:step] . Indexes are zero-based, and negative
indexes are relative to the end. Slices take elements from the start index up to, but not
including, the stop index. The third slice parameter, called step or stride, allows elements to be
skipped and reversed. Slice indexes may be omitted—for example, a[:] returns a copy of the
entire list. Each element of a slice is a shallow copy.
The eval() vs. exec() built-in functions (in Python 2, exec is a statement); the former
is for expressions, the latter is for statements
Methods
Methods on objects are functions attached to the object's class; the syntax
instance.method(argument) is, for normal methods and functions, syntactic sugar for
Class.method(instance, argument) . Python methods have an explicit self
parameter to access instance data, in contrast to the implicit self (or this ) in some other
object-oriented programming languages (e.g., C++, Java, Objective-C, Ruby).[109] Python also
provides methods, often called dunder methods (due to their names beginning and ending with
double-underscores), to allow user-defined classes to modify how they are handled by native
operations including length, comparison, in arithmetic operations and type conversion.[110]
Typing
Python uses duck typing and has typed objects but untyped variable names. Type constraints are
not checked at compile time; rather, operations on an object may fail, signifying that it is not of a
suitable type. Despite being dynamically typed, Python is strongly typed, forbidding operations
that are not well-defined (for example, adding a number to a string) rather than silently
attempting to make sense of them.
Python allows programmers to define their own types using classes, most often used for object-
oriented programming. New instances of classes are constructed by calling the class (for
example, SpamClass() or EggsClass() ), and the classes are instances of the metaclass
type (itself an instance of itself), allowing metaprogramming and reflection.
Before version 3.0, Python had two kinds of classes (both using the same syntax): old-style and
new-style;[111] current Python versions only support the semantics of the new style.
Python supports optional type annotations.[4][112] These annotations are not enforced by the
language, but may be used by external tools such as mypy to catch errors.[113][114] Mypy also
supports a Python compiler called mypyc, which leverages type annotations for optimization.[115]
Summary of Python 3's built-in types
True
bool immutable Boolean value
False
bytearray(b'Some
ASCII')
bytearray(b"Some
bytearray mutable Sequence of bytes
ASCII")
bytearray([119,
105, 107, 105])
b'Some ASCII'
b"Some ASCII"
bytes immutable Sequence of bytes
bytes([119, 105,
107, 105])
[4.0, 'string',
list mutable List, can contain mixed types True]
[]
'Wikipedia'
"Wikipedia"
"""Spanning
multiple
A character string: sequence of Unicode lines"""
str immutable
codepoints
Spanning
multiple
lines
(4.0, 'string',
True)
tuple immutable Can contain mixed types ('single
element',)
()
Arithmetic operations
Python has the usual symbols for arithmetic operators ( + , - , * , / ), the floor division
operator // and the modulo operation % (where the remainder can be negative, e.g. 4 % -3
== -2 ). It also has ** for exponentiation, e.g. 5**3 == 125 and 9**0.5 == 3.0 , and a
matrix‑multiplication operator @ .[119] These operators work like in traditional math; with the
same precedence rules, the operators infix ( + and - can also be unary to represent positive
and negative numbers respectively).
The division between integers produces floating-point results. The behavior of division has
changed significantly over time:[120]
Current Python (i.e. since 3.0) changed / to always be floating-point division, e.g.
5/2 == 2.5 .
In Python terms, / is true division (or simply division), and // is floor division. / before
version 3.0 is classic division.[120]
Rounding towards negative infinity, though different from most languages, adds consistency. For
instance, it means that the equation (a + b)//b == a//b + 1 is always true. It also means
that the equation b*(a//b) + a%b == a is valid for both positive and negative values of a .
However, maintaining the validity of this equation means that while the result of a%b is, as
expected, in the half-open interval [0, b), where b is a positive integer, it has to lie in the interval
(b, 0] when b is negative.[121]
Python fornece uma round função para arredondar um float para o inteiro mais próximo. Para
desempate , Python 3 usa round to even : round(1.5) e round(2.5) ambos produzem 2 .
[ 122 ]
Versões anteriores a 3 usavam round-away-from-zero : round(0.5) is 1.0 ,
round(-0.5) is −1.0 . [ 123 ]
Python permite expressões booleanas com múltiplas relações de igualdade de uma maneira que
é consistente com o uso geral em matemática. Por exemplo, a expressão a < b < c testa se
a é menor que b e b é menor que c . [ 124 ] Linguagens derivadas de C interpretam essa
expressão de forma diferente: em C, a expressão primeiro avaliaria a < b , resultando em 0 ou
1, e esse resultado seria então comparado com c . [ 125 ]
Exemplos de programação
Bibliotecas
A grande biblioteca padrão do Python [ 130 ] fornece ferramentas adequadas para muitas tarefas
e é comumente citada como um de seus maiores pontos fortes. Para aplicativos voltados para a
Internet, muitos formatos e protocolos padrão, como MIME e HTTP, são suportados. Ela inclui
módulos para criar interfaces gráficas de usuário , conectar-se a bancos de dados relacionais ,
gerar números pseudoaleatórios , aritmética com decimais de precisão arbitrária, [ 126 ]
manipular expressões regulares e testes de unidade .
Algumas partes da biblioteca padrão são cobertas por especificações — por exemplo, a
implementação da Web Server Gateway Interface (WSGI) wsgiref segue o PEP 333 [ 131 ] —
mas a maioria é especificada por seu código, documentação interna e suítes de teste . No
entanto, como a maior parte da biblioteca padrão é código Python multiplataforma, apenas
alguns módulos precisam ser alterados ou reescritos para implementações variantes.
Automação
Análise de dados
Bases de dados
Documentação
Processamento de imagem
Aprendizado de máquina
Aplicativos móveis
Multimídia
Redes de computadores
Computação científica
Administração do sistema
Estruturas de teste
Processamento de texto
Estruturas da Web
Raspagem da web
Ambientes de desenvolvimento
O Python também vem com um ambiente de desenvolvimento integrado (IDE) chamado IDLE ,
que é mais voltado para iniciantes.
Outros shells, incluindo IDLE e IPython , adicionam recursos adicionais, como preenchimento
automático aprimorado, retenção de estado de sessão e destaque de sintaxe .
Implementações
Implementação de referência
Todas as versões atuais do Python (ou seja, desde a 3.7) oferecem suporte apenas a sistemas
operacionais com suporte a multithreading.
Outras implementações
Todas as implementações alternativas têm semânticas pelo menos ligeiramente diferentes (por
exemplo, podem ter dicionários não ordenados, ao contrário de todas as versões atuais do
Python), por exemplo, com o ecossistema Python maior, como com o suporte à API C Python
com PyPy:
PyPy is a fast, compliant interpreter of Python 2.7 and 3.10.[144][145] Its just-in-time compiler
often brings a significant speed improvement over CPython, but some libraries written in C
cannot be used with it.[146] It has e.g. RISC-V support.
Stackless Python is a significant fork of CPython that implements microthreads; it does not
use the call stack in the same way, thus allowing massively concurrent programs. PyPy also
has a stackless version.[149]
MicroPython and CircuitPython are Python 3 variants optimized for microcontrollers, including
Lego Mindstorms EV3.[150]
Pyston is a variant of the Python runtime that uses just-in-time compilation to speed up the
execution of Python programs.[151]
Other just-in-time Python compilers have been developed, but are now unsupported:
Google began a project named Unladen Swallow in 2009, with the aim of speeding up the
Python interpreter five-fold by using the LLVM, and of improving its multithreading ability to
scale to thousands of cores,[157] while ordinary implementations suffer from the global
interpreter lock.
Psyco is a discontinued just-in-time specializing compiler that integrates with CPython and
transforms bytecode to machine code at runtime. The emitted code is specialized for certain
data types and is faster than the standard Python code. Psyco does not support Python 2.7 or
later.
PyS60 was a Python 2 interpreter for Series 60 mobile phones released by Nokia in 2005. It
implemented many of the modules from the standard library and some additional modules for
integrating with the Symbian operating system. The Nokia N900 also supports Python with
GTK widget libraries, enabling programs to be written and run on the target device.[158]
There are several compilers/transpilers to high-level object languages, with either unrestricted
Python, a restricted subset of Python, or a language similar to Python as the source language:
Brython,[159] Transcrypt[160][161] and Pyjs (latest release in 2012) compile Python to JavaScript.
Cython compiles (a superset of) Python to C. The resulting code is also usable with Python via
direct C-level API calls into the Python interpreter.
Nuitka compiles Python into C.[162] It works with Python 3.4 to 3.12 (and 2.6 and 2.7), for
Python's main supported platforms (and Windows 7 or even Windows XP) and for Android. It
claims complete support for Python 3.10, some support for 3.11 and 3.12 and experimental
support for Python 3.13. It supports macOS including Apple Silicon-based. It's a free compiler,
though it also has commercial add-ons (e.g. for hiding source code).
Numba is used from Python, as a tool (enabled by adding a decorator to relevant Python code),
a JIT compiler that translates a subset of Python and NumPy code into fast machine code.
RPython can be compiled to C, and is used to build the PyPy interpreter of Python.
The Python → 11l → C++ transpiler[164] compiles a subset of Python 3 to C++ (C++17).
Specialized:
MyHDL is a Python-based hardware description language (HDL), that converts MyHDL code to
Verilog or VHDL code.
Older projects (or not to be used with Python 3.x and latest syntax):
IronPython allows running Python 2.7 programs (and an alpha, released in 2021, is also
available for "Python 3.4, although features and behaviors from later versions may be
included"[168]) on the .NET Common Language Runtime.[169]
Jython compiles Python 2.7 to Java bytecode, allowing the use of the Java libraries from a
Python program.[170]
Pyrex (último lançamento em 2010) e Shed Skin (último lançamento em 2013) compilam para
C e C++, respectivamente.
Desempenho
Desenvolvimento
Os lançamentos públicos do CPython vêm em três tipos, diferenciados pela parte do número da
versão que é incrementada:
Versões incompatíveis com versões anteriores, onde se espera que o código quebre e precise
ser portado manualmente . A primeira parte do número da versão é incrementada. Esses
lançamentos acontecem com pouca frequência — a versão 3.0 foi lançada 8 anos após a 2.0.
De acordo com Guido van Rossum, é muito improvável que uma versão 4.0 aconteça. [ 178 ]
Lançamentos de correção de bugs, [ 182 ] que não introduzem novos recursos, ocorrem
aproximadamente a cada 3 meses e são feitos quando um número suficiente de bugs foi
corrigido upstream desde o último lançamento. Vulnerabilidades de segurança também são
corrigidas nesses lançamentos. A terceira e última parte do número da versão é
incrementada. [ 182 ]
Muitos alpha, beta e release-candidates também são lançados como prévias e para testes antes
dos lançamentos finais. Embora haja um cronograma aproximado para cada lançamento, eles
são frequentemente atrasados se o código não estiver pronto. A equipe de desenvolvimento do
Python monitora o estado do código executando o grande conjunto de testes unitários durante o
desenvolvimento. [ 183 ]
O Python 3.12 removeu wstr o significado de que as extensões do Python [ 184 ] precisam ser
modificadas, [ 185 ] e o 3.10 adicionou a correspondência de padrões à linguagem. [ 186 ]
O Python 3.12 removeu alguns módulos desatualizados, e mais serão removidos no futuro,
obsoletos a partir do 3.13; o código de formato de array 'u' já obsoleto emitirá
DeprecationWarning desde o 3.13 e será removido no Python 3.16. O código de formato 'w'
deve ser usado em vez disso. Parte de ctypes também está obsoleta e
http.server.CGIHTTPRequestHandler emitirá um DeprecationWarning, e será removido
no 3.15. Usar esse código já tem um alto potencial para bugs de segurança e funcionalidade.
Partes do módulo de digitação estão obsoletas, por exemplo, criar uma
typing.NamedTuple classe usando argumentos de palavra-chave para denotar os campos e
tal (e mais) será desautorizado no Python 3.15.
As ferramentas que podem gerar documentação para a API Python incluem pydoc (disponível
como parte da biblioteca padrão), Sphinx , Pdoc e seus forks, Doxygen e Graphviz , entre outros.
[ 187 ]
Nomeação
O nome Python é derivado do grupo de comédia britânico Monty Python , de quem o criador do
Python, Guido van Rossum, gostava enquanto desenvolvia a linguagem. Referências ao Monty
Python aparecem frequentemente no código e na cultura Python; [ 188 ] por exemplo, as variáveis
metassintáticas frequentemente usadas na literatura Python são spam e eggs em vez das
tradicionais foo e bar . [ 188 ] [ 189 ] A documentação oficial do Python também contém várias
referências às rotinas do Monty Python. [ 190 ] [ 191 ] Os usuários do Python são às vezes
chamados de "Pythonistas". [ 192 ]
O prefixo Py- é usado para mostrar que algo está relacionado ao Python. Exemplos do uso desse
prefixo em nomes de aplicativos ou bibliotecas Python incluem Pygame , uma ligação do Simple
DirectMedia Layer ao Python (comumente usado para criar jogos); PyQt e PyGTK , que ligam Qt e
GTK ao Python, respectivamente; e PyPy , uma implementação Python escrita originalmente em
Python.
Popularidade
Grandes organizações que usam Python incluem Wikipedia , Google , [ 194 ] Yahoo !, [ 195 ] CERN ,
[ 196 ]
NASA , [ 197 ] Facebook , [ 198 ] Amazon , Instagram , [ 199 ] Spotify , [ 200 ] e algumas entidades
menores como Industrial Light & Magic [ 201 ] e ITA . [ 202 ] O site de rede social de notícias Reddit
foi escrito principalmente em Python. [ 203 ] Organizações que usam Python parcialmente
incluem Discord [ 204 ] e Baidu . [ 205 ]
Usos
Python Desenvolvido
Python pode servir como uma linguagem de script para aplicações web , por exemplo, via
mod_wsgi para o servidor web Apache . [ 206 ] Com a Web Server Gateway Interface , uma API
padrão evoluiu para facilitar essas aplicações. Frameworks web como Django , Pylons , Pyramid
, TurboGears , web2py , Tornado , Flask , Bottle e Zope dão suporte aos desenvolvedores no
design e manutenção de aplicações complexas. Pyjs e IronPython podem ser usados para
desenvolver o lado cliente de aplicações baseadas em Ajax. SQLAlchemy pode ser usado como
um mapeador de dados para um banco de dados relacional. Twisted é um framework para
programar comunicações entre computadores, e é usado (por exemplo) pelo Dropbox .
Libraries such as NumPy, SciPy and Matplotlib allow the effective use of Python in scientific
computing,[207][208] with specialized libraries such as Biopython and Astropy providing domain-
specific functionality. SageMath is a computer algebra system with a notebook interface
programmable in Python: its library covers many aspects of mathematics, including algebra,
combinatorics, numerical mathematics, number theory, and calculus.[209] OpenCV has Python
bindings with a rich set of features for computer vision and image processing.[210]
Python is commonly used in artificial intelligence projects and machine learning projects with the
help of libraries like TensorFlow, Keras, Pytorch, scikit-learn and the Logic language
ProbLog.[211][212][213][214][215] As a scripting language with a modular architecture, simple syntax,
and rich text processing tools, Python is often used for natural language processing.[216]
The combination of Python and Prolog has proved to be particularly useful for AI applications,
with Prolog providing knowledge representation and reasoning capabilities. The Janus system, in
particular, exploits the similarities between these two languages, in part because of their use of
dynamic typing, and the simple recursive nature of their data structures. Typical applications of
this combination include natural language processing, visual query answering, geospatial
reasoning, and handling of semantic web data.[217][218] The Natlog system, implemented in
Python, uses Definite Clause Grammars (DCGs) as prompt generators for text-to-text generators
like GPT3 and text-to-image generators like DALL-E or Stable Diffusion.[219]
Python can also be used for graphical user interface (GUI) by using libraries like Tkinter.[220][221]
Python has been successfully embedded in many software products as a scripting language,
including in finite element method software such as Abaqus, 3D parametric modelers like
FreeCAD, 3D animation packages such as 3ds Max, Blender, Cinema 4D, Lightwave, Houdini,
Maya, modo, MotionBuilder, Softimage, the visual effects compositor Nuke, 2D imaging
programs like GIMP,[222] Inkscape, Scribus and Paint Shop Pro,[223] and musical notation
programs like scorewriter and capella. GNU Debugger uses Python as a pretty printer to show
complex structures such as C++ containers. Esri promotes Python as the best choice for writing
scripts in ArcGIS.[224] It has also been used in several video games,[225][226] and has been
adopted as first of the three available programming languages in Google App Engine, the other
two being Java and Go.[227]
Many operating systems include Python as a standard component. It ships with most Linux
distributions,[228] AmigaOS 4 (using Python 2.7), FreeBSD (as a package), NetBSD, and OpenBSD
(as a package) and can be used from the command line (terminal). Many Linux distributions use
installers written in Python: Ubuntu uses the Ubiquity installer, while Red Hat Linux and Fedora
Linux use the Anaconda installer. Gentoo Linux uses Python in its package management system,
Portage.
A maior parte do software Sugar para o One Laptop per Child XO, desenvolvido no Sugar Labs
em 2008 , é escrito em Python. [ 231 ] O projeto do computador de placa única Raspberry Pi
adotou o Python como sua principal linguagem de programação do usuário.
O LibreOffice inclui Python e pretende substituir Java por Python. Seu Python Scripting Provider
é um recurso central [ 232 ] desde a versão 4.0 de 7 de fevereiro de 2013.
Boo usa recuo, uma sintaxe semelhante e um modelo de objeto semelhante. [ 233 ]
Cobra usa recuo e uma sintaxe semelhante, e seu documento de Agradecimentos lista Python
em primeiro lugar entre as linguagens que o influenciaram. [ 234 ]
CoffeeScript , uma linguagem de programação que pode ser compilada para JavaScript, tem
sintaxe inspirada em Python.
Groovy foi motivado pelo desejo de trazer a filosofia de design Python para Java . [ 238 ]
Julia foi projetada para ser "tão utilizável para programação geral quanto Python". [ 27 ]
Mojo é um superconjunto não estrito [ 28 ] [ 239 ] do Python (por exemplo, ainda faltam classes e
adicionamos, por exemplo, struct ). [ 240 ]
O criador do Ruby , Yukihiro Matsumoto , disse: "Eu queria uma linguagem de script que fosse
mais poderosa que Perl e mais orientada a objetos que Python. É por isso que decidi projetar
minha própria linguagem." [ 242 ]
Swift , uma linguagem de programação desenvolvida pela Apple, tem alguma sintaxe inspirada
em Python. [ 243 ]
Kotlin combina recursos Python e Java, minimizando o código clichê para maior eficiência do
desenvolvedor. [ 244 ]
As práticas de desenvolvimento do Python também foram emuladas por outras linguagens. Por
exemplo, a prática de exigir um documento descrevendo a justificativa e os problemas que
cercam uma mudança na linguagem (em Python, um PEP) também é usada em Tcl , [ 245 ] Erlang
, [ 246 ] e Swift. [ 247 ]
Veja também
Portal de programação
de computadores
Portal de software livre
e de código aberto
Referências
3. "Por que Python é uma linguagem dinâmica e também uma linguagem fortemente tipada"
(https://wiki.python.org/moin/Why%20is%20Python%20a%20dynamic%20language%20an
d%20also%20a%20strongly%20typed%20language) . Python Wiki . Arquivado (https://web.
archive.org/web/20210314173706/https://wiki.python.org/moin/Why%20is%20Python%20
a%20dynamic%20language%20and%20also%20a%20strongly%20typed%20language) do
original em 14 de março de 2021 . Recuperado em 27 de janeiro de 2021 . (https://wiki.pyth
on.org/moin/Why%20is%20Python%20a%20dynamic%20language%20and%20also%20a%2
0strongly%20typed%20language) (https://web.archive.org/web/20210314173706/https://
wiki.python.org/moin/Why%20is%20Python%20a%20dynamic%20language%20and%20als
o%20a%20strongly%20typed%20language)
6. "PEP 738 – Adicionando Android como uma plataforma suportada | peps.python.org" (http
s://peps.python.org/pep-0738/) . Python Enhancement Proposals (PEPs) . Recuperado
em 19 de maio de 2024 . (https://peps.python.org/pep-0738/)
10. Holth, Moore (30 March 2014). "PEP 0441 – Improving Python ZIP Application Support" (htt
ps://www.python.org/dev/peps/pep-0441/) . Archived (https://web.archive.org/web/2018
1226141117/https://www.python.org/dev/peps/pep-0441/%20) from the original on 26
December 2018. Retrieved 12 November 2015.
15. "itertools – Functions creating iterators for efficient looping – Python 3.7.1 documentation"
(https://docs.python.org/3/library/itertools.html) . docs.python.org. Archived (https://web.
archive.org/web/20200614153629/https://docs.python.org/3/library/itertools.html) from
the original on 14 June 2020. Retrieved 22 November 2016. "This module implements a
number of iterator building blocks inspired by constructs from APL, Haskell, and SML."
16. van Rossum, Guido (1993). "An Introduction to Python for UNIX/C Programmers".
Proceedings of the NLUUG Najaarsconferentie (Dutch UNIX Users Group).
CiteSeerX 10.1.1.38.2023 (https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.38.2
023) . "even though the design of C is far from ideal, its influence on Python is
considerable."
19. Simionato, Michele. "The Python 2.3 Method Resolution Order" (https://www.python.org/do
wnload/releases/2.3/mro/) . Python Software Foundation. Archived (https://web.archive.o
rg/web/20200820231854/https://www.python.org/download/releases/2.3/mro/) from
the original on 20 August 2020. Retrieved 29 July 2014. "The C3 method itself has nothing
to do with Python, since it was invented by people working on Dylan and it is described in a
paper intended for lispers"
20. Kuchling, A. M. "Functional Programming HOWTO" (https://docs.python.org/howto/function
al.html) . Python v2.7.2 documentation. Python Software Foundation. Archived (https://we
b.archive.org/web/20121024163217/http://docs.python.org/howto/functional.html) from
the original on 24 October 2012. Retrieved 9 February 2012. "List comprehensions and
generator expressions [...] are a concise notation for such operations, borrowed from the
functional programming language Haskell."
21. Schemenauer, Neil; Peters, Tim; Hetland, Magnus Lie (18 May 2001). "PEP 255 – Simple
Generators" (https://www.python.org/dev/peps/pep-0255/) . Python Enhancement
Proposals. Python Software Foundation. Archived (https://web.archive.org/web/202006050
12926/https://www.python.org/dev/peps/pep-0255/) from the original on 5 June 2020.
Retrieved 9 February 2012.
28. Krill, Paul (4 May 2023). "Mojo language marries Python and MLIR for AI development" (http
s://www.infoworld.com/article/3695588/mojo-language-marries-python-and-mlir-for-ai-dev
elopment.html) . InfoWorld. Archived (https://web.archive.org/web/20230505064554/http
s://www.infoworld.com/article/3695588/mojo-language-marries-python-and-mlir-for-ai-dev
elopment.html) from the original on 5 May 2023. Retrieved 5 May 2023.
29. Ring Team (4 December 2017). "Ring and other languages" (http://ring-lang.sourceforge.ne
t/doc1.6/introduction.html#ring-and-other-languages) . ring-lang.net. ring-lang. Archived (h
ttps://web.archive.org/web/20181225175312/http://ring-lang.sourceforge.net/doc1.6/intro
duction.html#ring-and-other-languages) from the original on 25 December 2018.
Retrieved 4 December 2017.
30. Bini, Ola (2007). Practical JRuby on Rails Web 2.0 Projects: bringing Ruby on Rails to the Java
platform (https://archive.org/details/practicaljrubyon0000bini/page/3) . Berkeley: APress.
p. 3 (https://archive.org/details/practicaljrubyon0000bini/page/3) . ISBN 978-1-59059-
881-8.
31. Lattner, Chris (3 June 2014). "Chris Lattner's Homepage" (http://nondot.org/sabre/) . Chris
Lattner. Archived (https://web.archive.org/web/20181225175312/http://nondot.org/sabr
e/) from the original on 25 December 2018. Retrieved 3 June 2014. "The Swift language is
the product of tireless effort from a team of language experts, documentation gurus,
compiler optimization ninjas, and an incredibly important internal dogfooding group who
provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited
from the experiences hard-won by many other languages in the field, drawing ideas from
Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list."
32. Kuhlman, Dave. "A Python Book: Beginning Python, Advanced Python, and Python Exercises"
(https://web.archive.org/web/20120623165941/http://cutter.rexx.com/~dkuhlman/python_
book_01.html) . Section 1.1. Archived from the original (https://www.davekuhlman.org/pyt
hon_book_01.pdf) (PDF) on 23 June 2012.
35. Rossum, Guido Van (20 January 2009). "The History of Python: A Brief Timeline of Python"
(https://python-history.blogspot.com/2009/01/brief-timeline-of-python.html) . The History
of Python. Archived (https://web.archive.org/web/20200605032200/https://python-history.
blogspot.com/2009/01/brief-timeline-of-python.html) from the original on 5 June 2020.
Retrieved 5 March 2021.
36. Peterson, Benjamin (20 April 2020). "Python 2.7.18, the last release of Python 2" (https://pyt
honinsider.blogspot.com/2020/04/python-2718-last-release-of-python-2.html) . Python
Insider. Archived (https://web.archive.org/web/20200426204118/https://pythoninsider.blog
spot.com/2020/04/python-2718-last-release-of-python-2.html) from the original on 26
April 2020. Retrieved 27 April 2020.
41. Venners, Bill (13 January 2003). "The Making of Python" (http://www.artima.com/intv/pytho
nP.html) . Artima Developer. Artima. Archived (https://web.archive.org/web/201609011833
32/http://www.artima.com/intv/pythonP.html) from the original on 1 September 2016.
Retrieved 22 March 2007.
42. van Rossum, Guido (29 August 2000). "SETL (was: Lukewarm about range literals)" (https://
mail.python.org/pipermail/python-dev/2000-August/008881.html) . Python-Dev (Mailing
list). Archived (https://web.archive.org/web/20180714064019/https://mail.python.org/piper
mail/python-dev/2000-August/008881.html) from the original on 14 July 2018. Retrieved
13 March 2011.
43. van Rossum, Guido (20 January 2009). "A Brief Timeline of Python" (https://python-history.bl
ogspot.com/2009/01/brief-timeline-of-python.html) . The History of Python. Archived (http
s://web.archive.org/web/20200605032200/https://python-history.blogspot.com/2009/01/b
rief-timeline-of-python.html) from the original on 5 June 2020. Retrieved 20 January 2009.
44. Fairchild, Carlie (12 July 2018). "Guido van Rossum Stepping Down from Role as Python's
Benevolent Dictator For Life" (https://www.linuxjournal.com/content/guido-van-rossum-step
ping-down-role-pythons-benevolent-dictator-life) . Linux Journal. Archived (https://web.arch
ive.org/web/20180713192427/https://www.linuxjournal.com/content/guido-van-rossum-st
epping-down-role-pythons-benevolent-dictator-life) from the original on 13 July 2018.
Retrieved 13 July 2018.
47. Kuchling, A. M.; Zadka, Moshe (16 October 2000). "What's New in Python 2.0" (https://docs.
python.org/whatsnew/2.0.html) . Python Software Foundation. Archived (https://web.archi
ve.org/web/20121023112045/http://docs.python.org/whatsnew/2.0.html) from the
original on 23 October 2012. Retrieved 11 February 2012.
49. "PEP 466 – Network Security Enhancements for Python 2.7.x" (https://www.python.org/de
v/peps/pep-0466/) . python.org. Archived (https://web.archive.org/web/20200604232833/
https://www.python.org/dev/peps/pep-0466/) from the original on 4 June 2020. Retrieved
9 January 2017.
53. Langa, Łukasz (17 May 2022). "Python 3.9.13 is now available" (https://pythoninsider.blogsp
ot.com/2022/05/python-3913-is-now-available.html) . Python Insider. Archived (https://we
b.archive.org/web/20220517173546/https://pythoninsider.blogspot.com/2022/05/python-
3913-is-now-available.html) from the original on 17 May 2022. Retrieved 21 May 2022.
60. corbet (24 October 2022). "Python 3.11 released [LWN.net]" (https://lwn.net/Articles/91221
6/) . lwn.net. Retrieved 15 November 2022.
63. Wouters, Thomas (9 April 2024). "Python Insider: Python 3.12.3 and 3.13.0a6 released" (http
s://pythoninsider.blogspot.com/2024/04/python-3123-and-3130a6-released.html) . Python
Insider. Retrieved 29 April 2024.
64. "PEP 594 – Removing dead batteries from the standard library" (https://peps.python.org/pe
p-0594/) . Python Enhancement Proposals. Python Softtware Foundation. 20 May 2019.
65. Hugo (15 October 2024). "Python Insider: Python 3.14.0 alpha 1 is now available" (https://py
thoninsider.blogspot.com/2024/10/python-3140-alpha-1-is-now-available.html) . Python
Insider. Retrieved 16 October 2024.
67. "PEP 711: PyBI: a standard format for distributing Python Binaries" (https://discuss.python.
org/t/pep-711-pybi-a-standard-format-for-distributing-python-binaries/25547) .
Discussions on Python.org. 7 April 2023. Retrieved 20 November 2024.
69. The Cain Gang Ltd. "Python Metaclasses: Who? Why? When?" (https://web.archive.org/we
b/20090530030205/http://www.python.org/community/pycon/dc2004/papers/24/metacla
sses-pycon.pdf) (PDF). Archived from the original (https://www.python.org/community/py
con/dc2004/papers/24/metaclasses-pycon.pdf) (PDF) on 30 May 2009. Retrieved
27 June 2009.
71. "PyDBC: method preconditions, method postconditions and class invariants for Python" (htt
p://www.nongnu.org/pydbc/) . Archived (https://web.archive.org/web/20191123231931/h
ttp://www.nongnu.org/pydbc/) from the original on 23 November 2019. Retrieved
24 September 2011.
76. Hettinger, Raymond (30 January 2002). "PEP 289 – Generator Expressions" (https://www.py
thon.org/dev/peps/pep-0289/) . Python Enhancement Proposals. Python Software
Foundation. Archived (https://web.archive.org/web/20200614153717/https://www.python.
org/dev/peps/pep-0289/) from the original on 14 June 2020. Retrieved 19 February 2012.
77. "6.5 itertools – Functions creating iterators for efficient looping" (https://docs.python.org/3/
library/itertools.html) . Docs.python.org. Archived (https://web.archive.org/web/20200614
153629/https://docs.python.org/3/library/itertools.html) from the original on 14 June
2020. Retrieved 22 November 2016.
78. Peters, Tim (19 August 2004). "PEP 20 – The Zen of Python" (https://www.python.org/dev/p
eps/pep-0020/) . Python Enhancement Proposals. Python Software Foundation. Archived
(https://web.archive.org/web/20181226141127/https://www.python.org/dev/peps/pep-002
0/) from the original on 26 December 2018. Retrieved 24 November 2008.
81. Ambi, Chetan (4 July 2021). "The Most Controversial Python Walrus Operator" (https://pytho
nsimplified.com/the-most-controversial-python-walrus-operator/) . Python Simplified.
Archived (https://web.archive.org/web/20230827154931/https://pythonsimplified.com/the-
most-controversial-python-walrus-operator/) from the original on 27 August 2023.
Retrieved 5 February 2024.
82. Grifski, Jeremy (24 May 2020). "The Controversy Behind The Walrus Operator in Python" (htt
ps://therenegadecoder.com/code/the-controversy-behind-the-walrus-operator-in-python/) .
The Renegade Coder. Archived (https://web.archive.org/web/20231228135749/https://ther
enegadecoder.com/code/the-controversy-behind-the-walrus-operator-in-python/) from the
original on 28 December 2023. Retrieved 25 February 2024.
84. Martelli, Alex; Ravenscroft, Anna; Ascher, David (2005). Python Cookbook, 2nd Edition (http://
shop.oreilly.com/product/9780596007973.do) . O'Reilly Media. p. 230. ISBN 978-0-596-
00797-3. Archived (https://web.archive.org/web/20200223171254/http://shop.oreilly.com/
product/9780596007973.do) from the original on 23 February 2020. Retrieved
14 November 2015.
93. Guttag, John V. (12 August 2016). Introduction to Computation and Programming Using
Python: With Application to Understanding Data. MIT Press. ISBN 978-0-262-52962-4.
97. van Rossum, Guido (22 April 2009). "Tail Recursion Elimination" (http://neopythonic.blogspo
t.be/2009/04/tail-recursion-elimination.html) . Neopythonic.blogspot.be. Archived (https://
web.archive.org/web/20180519225253/http://neopythonic.blogspot.be/2009/04/tail-recur
sion-elimination.html) from the original on 19 May 2018. Retrieved 3 December 2012.
98. van Rossum, Guido (9 February 2006). "Language Design Is Not Just Solving Puzzles" (htt
p://www.artima.com/weblogs/viewpost.jsp?thread=147358) . Artima forums. Artima.
Archived (https://web.archive.org/web/20200117182525/https://www.artima.com/weblog
s/viewpost.jsp?thread=147358) from the original on 17 January 2020. Retrieved 21 March
2007.
99. van Rossum, Guido; Eby, Phillip J. (10 May 2005). "PEP 342 – Coroutines via Enhanced
Generators" (https://www.python.org/dev/peps/pep-0342/) . Python Enhancement
Proposals. Python Software Foundation. Archived (https://web.archive.org/web/202005290
03739/https://www.python.org/dev/peps/pep-0342/) from the original on 29 May 2020.
Retrieved 19 February 2012.
102. "PEP 0465 – A dedicated infix operator for matrix multiplication" (https://www.python.org/d
ev/peps/pep-0465/) . python.org. Archived (https://web.archive.org/web/2020060422425
5/https://www.python.org/dev/peps/pep-0465/) from the original on 4 June 2020.
Retrieved 1 January 2016.
105. van Rossum, Guido; Hettinger, Raymond (7 February 2003). "PEP 308 – Conditional
Expressions" (https://www.python.org/dev/peps/pep-0308/) . Python Enhancement
Proposals. Python Software Foundation. Archived (https://web.archive.org/web/201603131
13147/https://www.python.org/dev/peps/pep-0308/) from the original on 13 March 2016.
Retrieved 13 July 2011.
109. "Why must 'self' be used explicitly in method definitions and calls?" (https://docs.python.or
g/faq/design.html#why-must-self-be-used-explicitly-in-method-definitions-and-calls) .
Design and History FAQ. Python Software Foundation. Archived (https://web.archive.org/we
b/20121024164243/http://docs.python.org/faq/design.html#why-must-self-be-used-explici
tly-in-method-definitions-and-calls) from the original on 24 October 2012. Retrieved
19 February 2012.
110. Sweigart, Al (2020). Beyond the Basic Stuff with Python: Best Practices for Writing Clean
Code (https://books.google.com/books?id=7GUKEAAAQBAJ&pg=PA322) . No Starch
Press. p. 322. ISBN 978-1-59327-966-0. Archived (https://web.archive.org/web/202108131
94312/https://books.google.com/books?id=7GUKEAAAQBAJ&pg=PA322) from the
original on 13 August 2021. Retrieved 7 July 2021.
111. "The Python Language Reference, section 3.3. New-style and classic classes, for release
2.7.1" (https://web.archive.org/web/20121026063834/http://docs.python.org/reference/da
tamodel.html#new-style-and-classic-classes) . Archived from the original (https://docs.pyt
hon.org/reference/datamodel.html#new-style-and-classic-classes) on 26 October 2012.
Retrieved 12 January 2011.
114. "mypy – Optional Static Typing for Python" (http://mypy-lang.org/) . Archived (https://web.
archive.org/web/20200606192012/http://mypy-lang.org/) from the original on 6 June
2020. Retrieved 28 January 2017.
115. "Introduction" (https://mypyc.readthedocs.io/en/latest/introduction.html) .
mypyc.readthedocs.io. Archived (https://web.archive.org/web/20231222000457/https://my
pyc.readthedocs.io/en/latest/introduction.html) from the original on 22 December 2023.
Retrieved 22 December 2023.
116. "15. Floating Point Arithmetic: Issues and Limitations – Python 3.8.3 documentation" (http
s://docs.python.org/3.8/tutorial/floatingpoint.html#representation-error) . docs.python.org.
Archived (https://web.archive.org/web/20200606113842/https://docs.python.org/3.8/tutori
al/floatingpoint.html#representation-error) from the original on 6 June 2020. Retrieved
6 June 2020. "Almost all machines today (November 2000) use IEEE-754 floating point
arithmetic, and almost all platforms map Python floats to IEEE-754 "double precision"."
117. Zadka, Moshe; van Rossum, Guido (11 March 2001). "PEP 237 – Unifying Long Integers and
Integers" (https://www.python.org/dev/peps/pep-0237/) . Python Enhancement Proposals.
Python Software Foundation. Archived (https://web.archive.org/web/20200528063237/http
s://www.python.org/dev/peps/pep-0237/) from the original on 28 May 2020. Retrieved
24 September 2011.
119. "PEP 465 – A dedicated infix operator for matrix multiplication" (https://legacy.python.org/d
ev/peps/pep-0465/) . python.org. Archived (https://web.archive.org/web/2020052920031
0/https://legacy.python.org/dev/peps/pep-0465/) from the original on 29 May 2020.
Retrieved 3 July 2018.
120. Zadka, Moshe; van Rossum, Guido (11 March 2001). "PEP 238 – Changing the Division
Operator" (https://www.python.org/dev/peps/pep-0238/) . Python Enhancement Proposals.
Python Software Foundation. Archived (https://web.archive.org/web/20200528115550/http
s://www.python.org/dev/peps/pep-0238/) from the original on 28 May 2020. Retrieved
23 October 2013.
125. Kernighan, Brian W.; Ritchie, Dennis M. (1988). The C Programming Language (2nd ed.).
p. 206 (https://archive.org/details/cprogramminglang00bria/page/206) .
126. Batista, Facundo (17 October 2003). "PEP 327 – Decimal Data Type" (https://www.python.or
g/dev/peps/pep-0327/) . Python Enhancement Proposals. Python Software Foundation.
Archived (https://web.archive.org/web/20200604234830/https://www.python.org/dev/pep
s/pep-0327/) from the original on 4 June 2020. Retrieved 24 November 2008.
128. "10 Reasons Python Rocks for Research (And a Few Reasons it Doesn't) – Hoyt Koepke" (htt
ps://web.archive.org/web/20200531211840/https://www.stat.washington.edu/~hoytak/blo
g/whypython.html) . University of Washington Department of Statistics. Archived from the
original (https://www.stat.washington.edu/~hoytak/blog/whypython.html) on 31 May
2020. Retrieved 3 February 2019.
129. Shell, Scott (17 June 2014). "An introduction to Python for scientific computing" (https://eng
ineering.ucsb.edu/~shell/che210d/python.pdf) (PDF). Archived (https://web.archive.org/
web/20190204014642/https://engineering.ucsb.edu/~shell/che210d/python.pdf) (PDF)
from the original on 4 February 2019. Retrieved 3 February 2019.
130. Piotrowski, Przemyslaw (July 2006). "Build a Rapid Web Development Environment for
Python Server Pages and Oracle" (http://www.oracle.com/technetwork/articles/piotrowski-
pythoncore-084049.html) . Oracle Technology Network. Oracle. Archived (https://web.archi
ve.org/web/20190402124435/https://www.oracle.com/technetwork/articles/piotrowski-pyt
honcore-084049.html) from the original on 2 April 2019. Retrieved 12 March 2012.
131. Eby, Phillip J. (7 December 2003). "PEP 333 – Python Web Server Gateway Interface v1.0" (h
ttps://www.python.org/dev/peps/pep-0333/) . Python Enhancement Proposals. Python
Software Foundation. Archived (https://web.archive.org/web/20200614170344/https://ww
w.python.org/dev/peps/pep-0333/) from the original on 14 June 2020. Retrieved
19 February 2012.
132. "PyPI" (https://pypi.org/) . PyPI. 17 March 2024. Archived (https://web.archive.org/web/20
240317112557/https://pypi.org/) from the original on 17 March 2024.
135. "4. Building C and C++ Extensions – Python 3.9.2 documentation" (https://docs.python.org/
3/extending/building.html) . docs.python.org. Archived (https://web.archive.org/web/2021
0303002519/https://docs.python.org/3/extending/building.html) from the original on 3
March 2021. Retrieved 1 March 2021.
136. van Rossum, Guido (5 June 2001). "PEP 7 – Style Guide for C Code" (https://www.python.or
g/dev/peps/pep-0007/) . Python Enhancement Proposals. Python Software Foundation.
Archived (https://web.archive.org/web/20200601203908/https://www.python.org/dev/pep
s/pep-0007/) from the original on 1 June 2020. Retrieved 24 November 2008.
145. Team, The PyPy (28 December 2019). "Download and Install" (https://www.pypy.org/downlo
ad.html) . PyPy. Archived (https://web.archive.org/web/20220108212951/https://www.pyp
y.org/download.html) from the original on 8 January 2022. Retrieved 8 January 2022.
148. Lawson, Loraine (14 March 2023). "MIT-Created Compiler Speeds up Python Code" (https://t
henewstack.io/mit-created-compiler-speeds-up-python-code/) . The New Stack. Archived
(https://web.archive.org/web/20230406054200/https://thenewstack.io/mit-created-compil
er-speeds-up-python-code/) from the original on 6 April 2023. Retrieved 28 August 2023.
151. Yegulalp, Serdar (29 October 2020). "Pyston returns from the dead to speed Python" (http
s://www.infoworld.com/article/3587591/pyston-returns-from-the-dead-to-speed-python.ht
ml) . InfoWorld. Archived (https://web.archive.org/web/20210127113233/https://www.info
world.com/article/3587591/pyston-returns-from-the-dead-to-speed-python.html) from the
original on 27 January 2021. Retrieved 26 January 2021.
152. "cinder: Instagram's performance-oriented fork of CPython" (https://github.com/facebookin
cubator/cinder) . GitHub. Archived (https://web.archive.org/web/20210504112500/https://
github.com/facebookincubator/cinder) from the original on 4 May 2021. Retrieved 4 May
2021.
153. Aroca, Rafael (7 August 2021). "Snek Lang: feels like Python on Arduinos" (https://rafaelaro
ca.wordpress.com/2021/08/07/snek-lang-feels-like-python-on-arduinos/) . Yet Another
Technology Blog. Archived (https://web.archive.org/web/20240105001031/https://rafaelaro
ca.wordpress.com/2021/08/07/snek-lang-feels-like-python-on-arduinos/) from the
original on 5 January 2024. Retrieved 4 January 2024.
154. Aufranc (CNXSoft), Jean-Luc (16 January 2020). "Snekboard Controls LEGO Power
Functions with CircuitPython or Snek Programming Languages (Crowdfunding) – CNX
Software" (https://www.cnx-software.com/2020/01/16/snekboard-controls-lego-power-fun
ctions-with-circuitpython-or-snek-programming-languages/) . CNX Software – Embedded
Systems News. Archived (https://web.archive.org/web/20240105001031/https://www.cnx-s
oftware.com/2020/01/16/snekboard-controls-lego-power-functions-with-circuitpython-or-s
nek-programming-languages/) from the original on 5 January 2024. Retrieved 4 January
2024.
155. Kennedy (@mkennedy), Michael. "Ready to find out if you're git famous?" (https://pythonbyt
es.fm/episodes/show/187/ready-to-find-out-if-youre-git-famous) . pythonbytes.fm.
Archived (https://web.archive.org/web/20240105001031/https://pythonbytes.fm/episode
s/show/187/ready-to-find-out-if-youre-git-famous) from the original on 5 January 2024.
Retrieved 4 January 2024.
156. Packard, Keith (20 December 2022). "The Snek Programming Language: A Python-inspired
Embedded Computing Language" (https://sneklang.org/doc/snek.pdf) (PDF). Archived (ht
tps://web.archive.org/web/20240104162458/https://sneklang.org/doc/snek.pdf) (PDF)
from the original on 4 January 2024. Retrieved 4 January 2024.
163. Guelton, Serge; Brunet, Pierrick; Amini, Mehdi; Merlini, Adrien; Corbillon, Xavier; Raynaud,
Alan (16 March 2015). "Pythran: enabling static optimization of scientific Python programs"
(https://doi.org/10.1088%2F1749-4680%2F8%2F1%2F014001) . Computational Science &
Discovery. 8 (1). IOP Publishing: 014001. Bibcode:2015CS&D....8a4001G (https://ui.adsabs.
harvard.edu/abs/2015CS&D....8a4001G) . doi:10.1088/1749-4680/8/1/014001 (https://do
i.org/10.1088%2F1749-4680%2F8%2F1%2F014001) . ISSN 1749-4699 (https://search.worl
dcat.org/issn/1749-4699) .
167. Francisco, Thomas Claburn in San. "Google's Grumpy code makes Python Go" (https://www.
theregister.com/2017/01/05/googles_grumpy_makes_python_go/) . www.theregister.com.
Archived (https://web.archive.org/web/20210307165521/https://www.theregister.com/201
7/01/05/googles_grumpy_makes_python_go/) from the original on 7 March 2021.
Retrieved 20 January 2021.
171. Murri, Riccardo (2013). Performance of Python runtimes on a non-numeric scientific code.
European Conference on Python in Science (EuroSciPy). arXiv:1404.6388 (https://arxiv.org/
abs/1404.6388) . Bibcode:2014arXiv1404.6388M (https://ui.adsabs.harvard.edu/abs/201
4arXiv1404.6388M) .
173. Warsaw, Barry; Hylton, Jeremy; Goodger, David (13 June 2000). "PEP 1 – PEP Purpose and
Guidelines" (https://www.python.org/dev/peps/pep-0001/) . Python Enhancement
Proposals. Python Software Foundation. Archived (https://web.archive.org/web/202006060
42011/https://www.python.org/dev/peps/pep-0001/) from the original on 6 June 2020.
Retrieved 19 April 2011.
175. Cannon, Brett. "Guido, Some Guys, and a Mailing List: How Python is Developed" (https://we
b.archive.org/web/20090601134342/http://www.python.org/dev/intro/) . python.org.
Python Software Foundation. Archived from the original (https://www.python.org/dev/intr
o/) on 1 June 2009. Retrieved 27 June 2009.
181. Norwitz, Neal (8 April 2002). "[Python-Dev] Release Schedules (was Stability & change)" (htt
ps://mail.python.org/pipermail/python-dev/2002-April/022739.html) . Archived (https://we
b.archive.org/web/20181215122750/https://mail.python.org/pipermail/python-dev/2002-A
pril/022739.html) from the original on 15 December 2018. Retrieved 27 June 2009.
182. Aahz; Baxter, Anthony (15 March 2001). "PEP 6 – Bug Fix Releases" (https://www.python.or
g/dev/peps/pep-0006/) . Python Enhancement Proposals. Python Software Foundation.
Archived (https://web.archive.org/web/20200605001318/https://www.python.org/dev/pep
s/pep-0006/) from the original on 5 June 2020. Retrieved 27 June 2009.
184. "1. Extending Python with C or C++ – Python 3.9.1 documentation" (https://docs.python.or
g/3/extending/extending.html) . docs.python.org. Archived (https://web.archive.org/web/2
0200623232830/https://docs.python.org/3/extending/extending.html) from the original
on 23 June 2020. Retrieved 14 February 2021.
189. "In Python, should I use else after a return in an if block?" (https://stackoverflow.com/questi
ons/5033906/in-python-should-i-use-else-after-a-return-in-an-if-block) . Stack Overflow.
Stack Exchange. 17 February 2011. Archived (https://web.archive.org/web/2019062000005
0/https://stackoverflow.com/questions/5033906/in-python-should-i-use-else-after-a-return-i
n-an-if-block) from the original on 20 June 2019. Retrieved 6 May 2011.
190. Lutz, Mark (2009). Learning Python: Powerful Object-Oriented Programming (https://books.go
ogle.com/books?id=1HxWGezDZcgC&pg=PA17) . O'Reilly Media, Inc. p. 17.
ISBN 9781449379322. Archived (https://web.archive.org/web/20170717044012/https://bo
oks.google.com/books?id=1HxWGezDZcgC&pg=PA17) from the original on 17 July 2017.
Retrieved 9 May 2017.
193. Blake, Troy (18 January 2021). "TIOBE Index for January 2021" (https://seniordba.wordpres
s.com/2021/01/18/tiobe-index-for-january-2021/) . Technology News and Information by
SeniorDBA. Archived (https://web.archive.org/web/20210321143253/https://seniordba.wor
dpress.com/2021/01/18/tiobe-index-for-january-2021/) from the original on 21 March
2021. Retrieved 26 February 2021.
197. Shafer, Daniel G. (17 January 2003). "Python Streamlines Space Shuttle Mission Design" (htt
ps://www.python.org/about/success/usa/) . Python Software Foundation. Archived (http
s://web.archive.org/web/20200605093424/https://www.python.org/about/success/usa/)
from the original on 5 June 2020. Retrieved 24 November 2008.
198. "Tornado: Facebook's Real-Time Web Framework for Python – Facebook for Developers" (ht
tps://developers.facebook.com/blog/post/301) . Facebook for Developers. Archived (http
s://web.archive.org/web/20190219031313/https://developers.facebook.com/blog/post/30
1) from the original on 19 February 2019. Retrieved 19 June 2018.
201. Fortenberry, Tim (17 January 2003). "Industrial Light & Magic Runs on Python" (https://www.
python.org/about/success/ilm/) . Python Software Foundation. Archived (https://web.arch
ive.org/web/20200606042020/https://www.python.org/about/success/ilm/) from the
original on 6 June 2020. Retrieved 11 February 2012.
202. Taft, Darryl K. (5 March 2007). "Python Slithers into Systems" (http://www.eweek.com/c/a/
Application-Development/Python-Slithers-into-Systems/) . eWeek.com. Ziff Davis
Holdings. Archived (https://web.archive.org/web/20210813194304/https://www.eweek.co
m/development/python-slithers-into-systems/) from the original on 13 August 2021.
Retrieved 24 September 2011.
206. "Usage statistics and market share of Python for websites" (http://w3techs.com/technologi
es/details/pl-python/all/all) . 2012. Archived (https://web.archive.org/web/202108131943
05/https://w3techs.com/technologies/details/pl-python) from the original on 13 August
2021. Retrieved 18 December 2012.
208. Millman, K. Jarrod; Aivazis, Michael (2011). "Python for Scientists and Engineers" (http://ww
w.computer.org/csdl/mags/cs/2011/02/mcs2011020009.html) . Computing in Science
and Engineering. 13 (2): 9–12. Bibcode:2011CSE....13b...9M (https://ui.adsabs.harvard.edu/
abs/2011CSE....13b...9M) . doi:10.1109/MCSE.2011.36 (https://doi.org/10.1109%2FMCS
E.2011.36) . Archived (https://web.archive.org/web/20190219031439/https://www.compu
ter.org/csdl/mags/cs/2011/02/mcs2011020009.html) from the original on 19 February
2019. Retrieved 7 July 2014.
212. Piatetsky, Gregory. "Python eats away at R: Top Software for Analytics, Data Science,
Machine Learning in 2018: Trends and Analysis" (https://www.kdnuggets.com/2018/05/poll
-tools-analytics-data-science-machine-learning-results.html/2) . KDnuggets. Archived (http
s://web.archive.org/web/20191115234216/https://www.kdnuggets.com/2018/05/poll-tool
s-analytics-data-science-machine-learning-results.html/2) from the original on 15
November 2019. Retrieved 30 May 2018.
214. Jouppi, Norm. "Google supercharges machine learning tasks with TPU custom chip" (http
s://cloudplatform.googleblog.com/2016/05/Google-supercharges-machine-learning-tasks-
with-custom-chip.html) . Google Cloud Platform Blog. Archived (https://web.archive.org/we
b/20160518201516/https://cloudplatform.googleblog.com/2016/05/Google-supercharges-
machine-learning-tasks-with-custom-chip.html) from the original on 18 May 2016.
Retrieved 19 May 2016.
215. De Raedt, Luc; Kimmig, Angelika (2015). "Probabilistic (logic) programming concepts" (http
s://doi.org/10.1007%2Fs10994-015-5494-z) . Machine Learning. 100 (1): 5–47.
doi:10.1007/s10994-015-5494-z (https://doi.org/10.1007%2Fs10994-015-5494-z) .
S2CID 3166992 (https://api.semanticscholar.org/CorpusID:3166992) .
217. Andersen, C. and Swift, T., 2023. The Janus System: a bridge to new prolog applications. In
Prolog: The Next 50 Years (pp. 93–104). Cham: Springer Nature Switzerland.
222. "Installers for GIMP for Windows – Frequently Asked Questions" (https://web.archive.org/w
eb/20130717070814/http://gimp-win.sourceforge.net/faq.html) . 26 July 2013. Archived
from the original (http://gimp-win.sourceforge.net/faq.html) on 17 July 2013. Retrieved
26 July 2013.
225. CCP porkbelly (24 August 2010). "Stackless Python 2.7" (https://community.eveonline.com/
news/dev-blogs/stackless-python-2.7/) . EVE Community Dev Blogs. CCP Games. Archived
(https://web.archive.org/web/20140111155537/http://community.eveonline.com/news/de
v-blogs/stackless-python-2.7/) from the original on 11 January 2014. Retrieved
11 January 2014. "As you may know, EVE has at its core the programming language known
as Stackless Python."
226. Caudill, Barry (20 September 2005). "Modding Sid Meier's Civilization IV" (https://web.archiv
e.org/web/20101202164144/http://www.2kgames.com/civ4/blog_03.htm) . Sid Meier's
Civilization IV Developer Blog. Firaxis Games. Archived from the original (http://www.2kgame
s.com/civ4/blog_03.htm) on 2 December 2010. "we created three levels of tools ... The
next level offers Python and XML support, letting modders with more experience
manipulate the game world and everything in it."
227. "Python Language Guide (v1.0)" (https://web.archive.org/web/20100715145616/http://cod
e.google.com/apis/documents/docs/1.0/developers_guide_python.html) . Google
Documents List Data API v1.0. Archived from the original (https://code.google.com/apis/do
cuments/docs/1.0/developers_guide_python.html) on 15 July 2010.
238. Strachan, James (29 August 2003). "Groovy – the birth of a new dynamic language for the
Java platform" (https://web.archive.org/web/20070405085722/http://radio.weblogs.com/0
112098/2003/08/29.html) . Archived from the original (http://radio.weblogs.com/011209
8/2003/08/29.html) on 5 April 2007. Retrieved 11 June 2007.
240. Spencer, Michael (4 May 2023). "What is Mojo Programming Language?" (https://datascien
celearningcenter.substack.com/p/what-is-mojo-programming-language) .
datasciencelearningcenter.substack.com. Archived (https://web.archive.org/web/202305050
90408/https://datasciencelearningcenter.substack.com/p/what-is-mojo-programming-lang
uage) from the original on 5 May 2023. Retrieved 5 May 2023.
241. Yegulalp, Serdar (16 January 2017). "Nim language draws from best of Python, Rust, Go,
and Lisp" (https://www.infoworld.com/article/3157745/application-development/nim-langu
age-draws-from-best-of-python-rust-go-and-lisp.html) . InfoWorld. Archived (https://web.ar
chive.org/web/20181013211847/https://www.infoworld.com/article/3157745/application-
development/nim-language-draws-from-best-of-python-rust-go-and-lisp.html) from the
original on 13 October 2018. Retrieved 7 June 2020. "Nim's syntax is strongly reminiscent of
Python's, as it uses indented code blocks and some of the same syntax (such as the way
if/elif/then/else blocks are constructed)."
244. Jalan, Nishant Aanjaney (10 November 2022). "Programming in Kotlin" (https://medium.co
m/codex/programming-in-kotlin-934bdb3659cf) . CodeX. Retrieved 29 April 2024.
245. Kupries, Andreas; Fellows, Donal K. (14 September 2000). "TIP #3: TIP Format" (http://www.
tcl.tk/cgi-bin/tct/tip/3.html) . tcl.tk. Tcl Developer Xchange. Archived (https://web.archive.
org/web/20170713233954/http://tcl.tk/cgi-bin/tct/tip/3.html) from the original on 13 July
2017. Retrieved 24 November 2008.
246. Gustafsson, Per; Niskanen, Raimo (29 January 2007). "EEP 1: EEP Purpose and Guidelines"
(http://www.erlang.org/eeps/eep-0001.html) . erlang.org. Archived (https://web.archive.or
g/web/20200615153206/http://erlang.org/eeps/eep-0001.html) from the original on 15
June 2020. Retrieved 19 April 2011.
Sources
"Python for Artificial Intelligence" (https://web.archive.org/web/20121101045354/http://wiki.p
ython.org/moin/PythonForArtificialIntelligence) . Python Wiki. 19 July 2012. Archived from
the original (https://wiki.python.org/moin/PythonForArtificialIntelligence) on 1 November
2012. Retrieved 3 December 2012.
Leitura adicional
Downey, Allen B. (maio de 2012). Think Python: How to Think Like a Computer Scientist (versão
1.6.6 ed.). Cambridge University Press. ISBN 978-0-521-72596-5.
Lutz, Mark (2013). Aprendendo Python (5ª ed.). O'Reilly Media. ISBN 978-0-596-15806-4.
Links externos