Glossário¶
>>>
O prompt padrão do shell interativo do Python. Normalmente visto em exemplos de código que podem ser executados interativamente no interpretador.
...
The default Python prompt of the interactive shell when entering code for an indented code block, when within a pair of matching left and right delimiters (parentheses, square brackets, curly braces or triple quotes), or after specifying a decorator.
- 2to3
Uma ferramenta que tenta converter código Python 2.x em código Python 3.x tratando a maioria das incompatibilidades que podem se detectadas com análise do código-fonte e navegação na árvore sintática.
O 2to3 está disponível na biblioteca padrão como
lib2to3
; um ponto de entrada é disponibilizado comoTools/scripts/2to3
. Veja 2to3 - Tradução Automatizada de Código Python 2 para 3.- classe base abstrata
Abstract base classes complement duck-typing by providing a way to define interfaces when other techniques like
hasattr()
would be clumsy or subtly wrong (for example with magic methods). ABCs introduce virtual subclasses, which are classes that don’t inherit from a class but are still recognized byisinstance()
andissubclass()
; see theabc
module documentation. Python comes with many built-in ABCs for data structures (in thecollections
module), numbers (in thenumbers
module), and streams (in theio
module). You can create your own ABCs with theabc
module.- argumento
A value passed to a function (or method) when calling the function. There are two types of arguments:
argumento nomeado: um argumento precedido por um identificador (por exemplo,
nome=
) na chamada de uma função ou passada como um valor em um dicionário precedido por**
. Por exemplo,3
e5
são ambos argumentos nomeados na chamada da funçãocomplex()
a seguir:complex(real=3, imag=5) complex(**{'real': 3, 'imag': 5})
argumento posicional: um argumento que não é um argumento nomeado. Argumentos posicionais podem aparecer no início da lista de argumentos e/ou podem ser passados com elementos de um iterável precedido por
*
. Por exemplo,3
e5
são ambos argumentos posicionais nas chamadas a seguir:complex(3, 5) complex(*(3, 5))
Argumentos são atribuídos às variáveis locais nomeadas no corpo da função. Veja a seção Calls para as regras de atribuição. Sintaticamente, qualquer expressão pode ser usada para representar um argumento; avaliada a expressão, o valor é atribuído à variável local.
See also the parameter glossary entry and the FAQ question on the difference between arguments and parameters.
- atributo
Um valor associado a um objeto que é referenciado pelo nome separado por um ponto. Por exemplo, se um objeto o tem um atributo a esse seria referenciado como o.a.
- BDFL
Benevolent Dictator For Life, a.k.a. Guido van Rossum, Python’s creator.
- objeto byte ou similar
An object that supports the buffer protocol, like
str
,bytearray
ormemoryview
. Bytes-like objects can be used for various operations that expect binary data, such as compression, saving to a binary file or sending over a socket. Some operations need the binary data to be mutable, in which case not all bytes-like objects can apply.- bytecode
Python source code is compiled into bytecode, the internal representation of a Python program in the CPython interpreter. The bytecode is also cached in
.pyc
and.pyo
files so that executing the same file is faster the second time (recompilation from source to bytecode can be avoided). This “intermediate language” is said to run on a virtual machine that executes the machine code corresponding to each bytecode. Do note that bytecodes are not expected to work between different Python virtual machines, nor to be stable between Python releases.Uma lista de instruções bytecode pode ser encontrada na documentação para o módulo dis.
- Classe
Um modelo para criação de objetos definidos pelo usuário. Definições de classe normalmente contém definições de métodos que operam sobre instâncias da classe.
- classic class
Any class which does not inherit from
object
. See new-style class. Classic classes have been removed in Python 3.- coerção
The implicit conversion of an instance of one type to another during an operation which involves two arguments of the same type. For example,
int(3.15)
converts the floating point number to the integer3
, but in3+4.5
, each argument is of a different type (one int, one float), and both must be converted to the same type before they can be added or it will raise aTypeError
. Coercion between two operands can be performed with thecoerce
built-in function; thus,3+4.5
is equivalent to callingoperator.add(*coerce(3, 4.5))
and results inoperator.add(3.0, 4.5)
. Without coercion, all arguments of even compatible types would have to be normalized to the same value by the programmer, e.g.,float(3)+4.5
rather than just3+4.5
.- número complexo
Uma extensão ao familiar sistema de números reais em que todos os números são expressos como uma soma de uma parte real e uma parte imaginária. Números imaginários são múltiplos reais da unidade imaginária (a raiz quadrada de
-1
), normalmente escrita comoi
em matemática ouj
em engenharia. O Python tem suporte nativo para números complexos, que são escritos com esta última notação; a parte imaginária escrita com um sufixoj
, p.ex.,3+1j
. Para ter acesso aos equivalentes para números complexos do módulomath
, utilizecmath
. O uso de números complexos é uma funcionalidade matemática bastante avançada. Se você não sabe se irá precisar deles, é quase certo que você pode ignorá-los sem problemas.- gerenciador de contexto
Um objeto que controla o ambiente visto numa instrução
with
por meio da definição dos métodos__enter__()
e__exit__()
. Veja PEP 343.- CPython
A implementação canônica da linguagem de programação Python, como disponibilizada pelo python.org. O termo “CPython” é quando for necessário distinguir esta implementação de outras como Jython ou IronPython.
- decorador
Uma função que retorna outra função, geralmente aplicada como uma transformação de função usando a sintaxe
@wrapper
. Exemplos comuns para decoradores sãoclassmethod()
estaticmethod()
.A sintaxe do decorador é meramente um açúcar-sintático, as duas definições de funções a seguir são semanticamente equivalentes:
def f(...): ... f = staticmethod(f) @staticmethod def f(...): ...
O mesmo conceito existe para as classes, mas não é comumente utilizado. Veja a documentação de function definitions e class definitions para obter mais informações sobre decoradores.
- descritor
Any new-style object which defines the methods
__get__()
,__set__()
, or__delete__()
. When a class attribute is a descriptor, its special binding behavior is triggered upon attribute lookup. Normally, using a.b to get, set or delete an attribute looks up the object named b in the class dictionary for a, but if b is a descriptor, the respective descriptor method gets called. Understanding descriptors is a key to a deep understanding of Python because they are the basis for many features including functions, methods, properties, class methods, static methods, and reference to super classes.Para obter mais informações sobre os métodos dos descritores, veja: Implementing Descriptors.
- dicionário
An associative array, where arbitrary keys are mapped to values. The keys can be any object with
__hash__()
and__eq__()
methods. Called a hash in Perl.- visualização de dicionário
The objects returned from
dict.viewkeys()
,dict.viewvalues()
, anddict.viewitems()
are called dictionary views. They provide a dynamic view on the dictionary’s entries, which means that when the dictionary changes, the view reflects these changes. To force the dictionary view to become a full list uselist(dictview)
. See Dictionary view objects.- docstring
Uma string literal que aparece como primeira expressão numa classe, função ou módulo. Ainda que sejam ignoradas quando a suíte é executada, é reconhecida pelo compilador que a coloca no atributo
__doc__
da classe, função ou módulo que a encapsula. Como ficam disponíveis por meio de introspecção, docstrings são o lugar canônico para documentação do objeto.- duck-typing (tipagem pato)
Um estilo de programação que não verifica o tipo do objeto para determinar se ele possui a interface correta; em vez disso, o método ou atributo é simplesmente chamado ou utilizado (“Se se parece com um pato e grasna como um pato, então deve ser um pato.”) Enfatizando interfaces ao invés de tipos específicos, o código bem desenvolvido aprimora sua flexibilidade por permitir substituição polimórfica. Tipagem pato evita necessidade de testes que usem
type()
ouisinstance()
. (Note, porém, que a a tipagem pato pode ser complementada com o uso de classes base abstratas.) Ao invés disso, são normalmente empregados testeshasattr()
ou programação EAFP.- EAFP
Iniciais da expressão em inglês “easier to ask for forgiveness than permission” que significa “é mais fácil pedir perdão que permissão”. Este estilo de codificação comum em Python assume a existência de chaves ou atributos válidos e captura exceções caso essa premissa se prove falsa. Este estilo limpo e rápido se caracteriza pela presença de várias instruções
try
eexcept
. A técnica diverge do estilo LBYL, comum em outras linguagens como C, por exemplo.- expressão
A piece of syntax which can be evaluated to some value. In other words, an expression is an accumulation of expression elements like literals, names, attribute access, operators or function calls which all return a value. In contrast to many other languages, not all language constructs are expressions. There are also statements which cannot be used as expressions, such as
print
orif
. Assignments are also statements, not expressions.- extension module (módulo de extensão)
Um módulo escrito em C ou C++, usando a API C de Python para interagir tanto com código de usuário quanto do núcleo.
- objeto arquivo
Um objeto que expõe uma API orientada a arquivos (com métodos tais como
read()
ouwrite()
) para um recurso subjacente. Dependendo da maneira como foi criado, um objeto arquivo pode mediar o acesso a um arquivo real no disco ou outro tipo de dispositivo de armazenamento ou de comunicação (por exemplo a entrada/saída padrão, buffers em memória, soquetes, pipes, etc.). Objetos arquivo também são chamados de file-like objects ou streams.There are actually three categories of file objects: raw binary files, buffered binary files and text files. Their interfaces are defined in the
io
module. The canonical way to create a file object is by using theopen()
function.- objeto como-arquivo
Um sinônimo do termo file object.
- localizador
An object that tries to find the loader for a module. It must implement a method named
find_module()
. See PEP 302 for details.- divisão pelo piso
Divisão matemática que arredonda para baixo para o inteiro mais próximo. O operador de divisão pelo piso é
//
. Por exemplo, a expressão11 // 4
retorna o valor2
ao invés de2.75
, que seria retornado pela divisão de ponto flutuante. Note que(-11) // 4
é-3
porque é-2.75
arredondado para baixo. Consulte a PEP 238.- função
Uma série de instruções que retorna algum valor para um chamador. Também pode ser passado zero ou mais argumentos que podem ser usados na execução do corpo. Veja também parâmetro, métodos e a seção Function definitions.
- __future__
A pseudo-module which programmers can use to enable new language features which are not compatible with the current interpreter. For example, the expression
11/4
currently evaluates to2
. If the module in which it is executed had enabled true division by executing:from __future__ import division
the expression
11/4
would evaluate to2.75
. By importing the__future__
module and evaluating its variables, you can see when a new feature was first added to the language and when it will become the default:>>> import __future__ >>> __future__.division _Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 8192)
- garbage collection (coletor de lixo)
The process of freeing memory when it is not used anymore. Python performs garbage collection via reference counting and a cyclic garbage collector that is able to detect and break reference cycles.
- gerador
A function which returns an iterator. It looks like a normal function except that it contains
yield
statements for producing a series of values usable in a for-loop or that can be retrieved one at a time with thenext()
function. Eachyield
temporarily suspends processing, remembering the location execution state (including local variables and pending try-statements). When the generator resumes, it picks up where it left off (in contrast to functions which start fresh on every invocation).- generator expression
An expression that returns an iterator. It looks like a normal expression followed by a
for
expression defining a loop variable, range, and an optionalif
expression. The combined expression generates values for an enclosing function:>>> sum(i*i for i in range(10)) # sum of squares 0, 1, 4, ... 81 285
- GIL
Veja global interpreter lock.
- global interpreter lock (bloqueio global do interpretador)
O mecanismo utilizado pelo interpretador CPython para garantir que apenas uma thread execute o bytecode Python por vez. Isto simplifica a implementação do CPython ao fazer com que o modelo de objetos (incluindo tipos internos críticos como o
dict
) ganhem segurança implícita contra acesso concorrente. Travar todo o interpretador facilita que o interpretador em si seja multitarefa, às custas de muito do paralelismo já provido por máquinas multiprocessador.No entanto, alguns módulos de extensão, tanto da biblioteca padrão quanto de terceiros, são desenvolvidos de forma a liberar o GIL ao realizar tarefas computacionalmente muito intensas, como compactação ou cálculos de hash. Além disso, o GIL é sempre liberado nas operações de E/S.
No passado, esforços para criar um interpretador que lidasse plenamente com threads (travando dados compartilhados numa granularidade bem mais fina) não foram bem sucedidos devido a queda no desempenho ao serem executados em processadores de apenas um núcleo. Acredita-se que superar essa questão de desempenho acabaria tornando a implementação muito mais complicada e bem mais difícil de manter.
- hasheável
An object is hashable if it has a hash value which never changes during its lifetime (it needs a
__hash__()
method), and can be compared to other objects (it needs an__eq__()
or__cmp__()
method). Hashable objects which compare equal must have the same hash value.A hashabilidade faz com que um objeto possa ser usado como chave de um dicionário e como membro de um conjunto, pois estas estruturas de dados utilizam os valores de hash internamente.
All of Python’s immutable built-in objects are hashable, while no mutable containers (such as lists or dictionaries) are. Objects which are instances of user-defined classes are hashable by default; they all compare unequal (except with themselves), and their hash value is derived from their
id()
.- IDLE
Um ambiente de desenvolvimento integrado para Python. IDLE é um editor básico e um ambiente interpretador que vem junto com a distribuição padrão do Python.
- imutável
Um objeto que possui um valor fixo. Objetos imutáveis incluem números, strings e tuplas. Estes objetos não podem ser alterados. Um novo objeto deve ser criado se um valor diferente tiver de ser armazenado. Objetos imutáveis têm um papel importante em lugares onde um valor constante de hash seja necessário, como por exemplo uma chave em um dicionário.
- integer division
Mathematical division discarding any remainder. For example, the expression
11/4
currently evaluates to2
in contrast to the2.75
returned by float division. Also called floor division. When dividing two integers the outcome will always be another integer (having the floor function applied to it). However, if one of the operands is another numeric type (such as afloat
), the result will be coerced (see coercion) to a common type. For example, an integer divided by a float will result in a float value, possibly with a decimal fraction. Integer division can be forced by using the//
operator instead of the/
operator. See also __future__.- importing (importando)
O processo pelo qual o código Python em um módulo é disponibilizado para o código Python em outro módulo.
- importer
Um objeto que localiza e carrega um módulo; Tanto um finder e o objeto loader.
- interactive
Python tem um interpretador interativo, o que significa que você pode digitar comandos e expressões no prompt do interpretador, executá-los imediatamente e ver seus resultados. Apenas execute
python
sem argumentos (possivelmente selecionando-o a partir do menu de aplicações de seu sistema operacional). O interpretador interativo é uma maneira poderosa de testar novas ideias ou aprender mais sobre módulos e pacotes (lembre-se do comandohelp(x)
).- interpreted
Python é uma linguagem interpretada, em oposição àquelas que são compiladas, embora esta distinção possa ser nebulosa devido à presença do compilador de bytecode. Isto significa que os arquivos-fontes podem ser executados diretamente sem necessidade explícita de se criar um arquivo executável. Linguagens interpretadas normalmente têm um ciclo de desenvolvimento/depuração mais curto que as linguagens compiladas, apesar de seus programas geralmente serem executados mais lentamente. Veja também interativo.
- iterável
An object capable of returning its members one at a time. Examples of iterables include all sequence types (such as
list
,str
, andtuple
) and some non-sequence types likedict
andfile
and objects of any classes you define with an__iter__()
or__getitem__()
method. Iterables can be used in afor
loop and in many other places where a sequence is needed (zip()
,map()
, …). When an iterable object is passed as an argument to the built-in functioniter()
, it returns an iterator for the object. This iterator is good for one pass over the set of values. When using iterables, it is usually not necessary to calliter()
or deal with iterator objects yourself. Thefor
statement does that automatically for you, creating a temporary unnamed variable to hold the iterator for the duration of the loop. See also iterator, sequence, and generator.- iterador
An object representing a stream of data. Repeated calls to the iterator’s
next()
method return successive items in the stream. When no more data are available aStopIteration
exception is raised instead. At this point, the iterator object is exhausted and any further calls to itsnext()
method just raiseStopIteration
again. Iterators are required to have an__iter__()
method that returns the iterator object itself so every iterator is also iterable and may be used in most places where other iterables are accepted. One notable exception is code which attempts multiple iteration passes. A container object (such as alist
) produces a fresh new iterator each time you pass it to theiter()
function or use it in afor
loop. Attempting this with an iterator will just return the same exhausted iterator object used in the previous iteration pass, making it appear like an empty container.Mais informações podem ser encontradas em Tipos de Iteradores.
- key function (função chave)
Uma função chave ou função colação é algo que retorna um valor utilizado para ordenação ou classificação. Por exemplo,
locale.strxfrm()
é usada para produzir uma chave de ordenação que leva o locale em consideração para fins de ordenação.A number of tools in Python accept key functions to control how elements are ordered or grouped. They include
min()
,max()
,sorted()
,list.sort()
,heapq.nsmallest()
,heapq.nlargest()
, anditertools.groupby()
.There are several ways to create a key function. For example. the
str.lower()
method can serve as a key function for case insensitive sorts. Alternatively, an ad-hoc key function can be built from alambda
expression such aslambda r: (r[0], r[2])
. Also, theoperator
module provides three key function constructors:attrgetter()
,itemgetter()
, andmethodcaller()
. See the Sorting HOW TO for examples of how to create and use key functions.- argumento nomeado
Veja o argument.
- lambda
Uma função de linha anônima consistindo de uma única expression, que é avaliada quando a função é chamada. A sintaxe para criar uma função lambda é
lambda [parameters]: expression
- LBYL
Iniciais da expressão em inglês “look before you leap”, que significa algo como “olhe antes de pisar”. Este estilo de codificação testa as pré-condições explicitamente antes de fazer chamadas ou buscas. Este estilo contrasta com a abordagem EAFP e é caracterizada pela presença de muitos comandos
if
.Em um ambiente multithread, a abordagem LBYL pode arriscar a introdução de uma condição de corrida entre “o olhar” e “o pisar”. Por exemplo, o código
if key in mapping: return mapping[key]
pode falhar se outra thread remover key do mapping após o teste, mas antes da olhada. Esse problema pode ser resolvido com bloqueios ou usando a abordagem EAFP.- lista
Uma sequence embutida no Python. Apesar do seu nome, é mais próximo de um vetor em outras linguagens do que uma lista encadeada, como o acesso aos elementos é da ordem O(1).
- list comprehension
A compact way to process all or part of the elements in a sequence and return a list with the results.
result = ["0x%02x" % x for x in range(256) if x % 2 == 0]
generates a list of strings containing even hex numbers (0x..) in the range from 0 to 255. Theif
clause is optional. If omitted, all elements inrange(256)
are processed.- loader
An object that loads a module. It must define a method named
load_module()
. A loader is typically returned by a finder. See PEP 302 for details.- método mágico
Um sinônimo informal para um special method.
- mapeamento
A container object that supports arbitrary key lookups and implements the methods specified in the
Mapping
orMutableMapping
abstract base classes. Examples includedict
,collections.defaultdict
,collections.OrderedDict
andcollections.Counter
.- metaclass
A classe de uma classe. Definições de classe criam um nome de classe, um dicionário de classe e uma lista de classes base. A metaclasse é responsável por receber estes três argumentos e criar a classe. A maioria das linguagens de programação orientadas a objetos provê uma implementação default. O que torna o Python especial é o fato de ser possível criar metaclasses personalizadas. A maioria dos usuários nunca vai precisar deste recurso, mas quando houver necessidade, metaclasses possibilitam soluções poderosas e elegantes. Metaclasses têm sido utilizadas para gerar registros de acesso a atributos, para incluir proteção contra acesso concorrente, rastrear a criação de objetos, implementar singletons, dentre muitas outras tarefas.
More information can be found in Customizing class creation.
- method (método)
Uma função que é definida dentro do corpo de uma classe. Se chamada como um atributo de uma instância daquela classe, o método receberá a instância do objeto como seu primeiro argumento (que comumente é chamado de
self
). Veja função e nested scope.- method resolution order (ordem de resolução de método)
Ordem de resolução de métodos é a ordem em que os membros de uma classe base são buscados durante a pesquisa. Veja A ordem de resolução de métodos do Python 2.3.
- módulo
Um objeto que serve como uma unidade organizacional de código Python. Os módulos têm um namespace contendo objetos Python arbitrários. Os módulos são carregados pelo Python através do processo de importação.
Veja também pacote.
- MRO
Veja method resolution order.
- mutável
Objeto mutável é aquele que pode modificar seus valor mas manter seu
id()
. Veja também immutable.- tupla nomeada
Any tuple-like class whose indexable elements are also accessible using named attributes (for example,
time.localtime()
returns a tuple-like object where the year is accessible either with an index such ast[0]
or with a named attribute liket.tm_year
).A named tuple can be a built-in type such as
time.struct_time
, or it can be created with a regular class definition. A full featured named tuple can also be created with the factory functioncollections.namedtuple()
. The latter approach automatically provides extra features such as a self-documenting representation likeEmployee(name='jones', title='programmer')
.- namespace
The place where a variable is stored. Namespaces are implemented as dictionaries. There are the local, global and built-in namespaces as well as nested namespaces in objects (in methods). Namespaces support modularity by preventing naming conflicts. For instance, the functions
__builtin__.open()
andos.open()
are distinguished by their namespaces. Namespaces also aid readability and maintainability by making it clear which module implements a function. For instance, writingrandom.seed()
oritertools.izip()
makes it clear that those functions are implemented by therandom
anditertools
modules, respectively.- nested scope (escopo aninhado)
The ability to refer to a variable in an enclosing definition. For instance, a function defined inside another function can refer to variables in the outer function. Note that nested scopes work only for reference and not for assignment which will always write to the innermost scope. In contrast, local variables both read and write in the innermost scope. Likewise, global variables read and write to the global namespace.
- new-style class (novo estilo de classes)
Any class which inherits from
object
. This includes all built-in types likelist
anddict
. Only new-style classes can use Python’s newer, versatile features like__slots__
, descriptors, properties, and__getattribute__()
.More information can be found in New-style and classic classes.
- object (objeto)
Qualquer dado que tenha estado (atributos ou valores) e comportamento definidos (métodos). Também a última classe base de qualquer new-style class.
- pacote
Um module Python é capaz de conter submódulos ou recursivamente, sub-pacotes. Tecnicamente, um pacote é um módulo Python com um atributo
__path__
.- parâmetro
A named entity in a function (or method) definition that specifies an argument (or in some cases, arguments) that the function can accept. There are four types of parameters:
posicional-ou-nomeado: especifica um argumento que pode ser tanto posicional quanto nomeado. Esse é o tipo padrão de parâmetro, por exemplo foo e bar a seguir:
def func(foo, bar=None): ...
positional-only: specifies an argument that can be supplied only by position. Python has no syntax for defining positional-only parameters. However, some built-in functions have positional-only parameters (e.g.
abs()
).var-posicional: especifica quem uma sequência arbitrária de argumentos posicionais pode ser fornecida (em adição a qualquer argumento posicional já aceito por outros parâmetros). Tal parâmetro pode ser definido colocando um
*
antes do nome, por exemplo args a seguir:def func(*args, **kwargs): ...
var-nomeado: especifica que, arbitrariamente, muitos argumentos nomeados podem ser fornecidos (em adição a qualquer argumento nomeado já aceito por outros parâmetros). Tal parâmetro pode definido colocando-se
**
antes do nome, por exemplo kwargs no exemplo acima.
Parâmetros podem especificar tanto argumentos opcionais quanto obrigatórios, assim como valores padrões para alguns argumentos opcionais.
See also the argument glossary entry, the FAQ question on the difference between arguments and parameters, and the Function definitions section.
- PEP
Proposta de melhoria do Python. Uma PEP é um documento de design que fornece informação para a comunidade Python, ou descreve uma nova funcionalidade para o Python ou seus predecessores ou ambientes. PEPs devem prover uma especificação técnica concisa e um racional para funcionalidades propostas.
PEPs tem a intenção de ser os mecanismos primários para propor novas funcionalidades significativas, para coletar opiniões da comunidade sobre um problema, e para documentar as decisões de design que foram adicionadas ao Python. O autor da PEP é responsável por construir um consenso dentro da comunidade e documentar opiniões dissidentes.
Veja PEP 1.
- positional argument (argumento posicional)
Veja o argument.
- Python 3000
Apelido para a versão do Python 3.x linha de lançamento (cunhado há muito tempo, quando o lançamento da versão 3 era algo em um futuro muito distante.) Esse termo possui a seguinte abreviação: “Py3k”.
- Pythonic
Uma ideia ou um pedaço de código que segue de perto os idiomas mais comuns da linguagem Python, ao invés de implementar códigos usando conceitos comuns a outros idiomas. Por exemplo, um idioma comum em Python é fazer um loop sobre todos os elementos de uma iterável usando a instrução
for
. Muitas outras linguagens não têm esse tipo de construção, então as pessoas que não estão familiarizadas com o Python usam um contador numérico:for i in range(len(food)): print food[i]
Ao contrário do método limpo, ou então, Pythônico:
for piece in food: print piece
- reference count
O número de referências para um objeto. Quando a contagem de referências de um objeto atinge zero, ele é desalocado. Contagem de referências geralmente não é visível no código Python, mas é um elemento chave da implementação CPython. O módulo
sys
define a funçãogetrefcount()
que programadores podem chamar para retornar a contagem de referências para um objeto em particular.- __slots__
A declaration inside a new-style class that saves memory by pre-declaring space for instance attributes and eliminating instance dictionaries. Though popular, the technique is somewhat tricky to get right and is best reserved for rare cases where there are large numbers of instances in a memory-critical application.
- sequência
An iterable which supports efficient element access using integer indices via the
__getitem__()
special method and defines alen()
method that returns the length of the sequence. Some built-in sequence types arelist
,str
,tuple
, andunicode
. Note thatdict
also supports__getitem__()
and__len__()
, but is considered a mapping rather than a sequence because the lookups use arbitrary immutable keys rather than integers.- fatia
An object usually containing a portion of a sequence. A slice is created using the subscript notation,
[]
with colons between numbers when several are given, such as invariable_name[1:3:5]
. The bracket (subscript) notation usesslice
objects internally (or in older versions,__getslice__()
and__setslice__()
).- método especial
Um método que é chamado implicitamente pelo Python para executar uma certa operação em um tipo, como uma adição por exemplo. Tais métodos tem nomes iniciando e terminando com dois underscores. Métodos especiais estão documentados em Special method names.
- instrução
Uma instrução é parte de uma suíte (um “bloco” de código). Uma instrução é ou uma expression ou uma de várias construções com uma palavra-chave, tal como
if
,while
oufor
.- struct sequence
A tuple with named elements. Struct sequences expose an interface similiar to named tuple in that elements can be accessed either by index or as an attribute. However, they do not have any of the named tuple methods like
_make()
or_asdict()
. Examples of struct sequences includesys.float_info
and the return value ofos.stat()
.- aspas triplas
Uma string que está definida com três ocorrências de aspas duplas (“) ou apóstrofes (‘). Enquanto elas não fornecem nenhuma funcionalidade não disponível com strings de aspas simples, elas são úteis para inúmeras razões. Elas permitem que você inclua aspas simples e duplas não encerradas dentro de uma string, e elas podem utilizar múltiplas linhas sem o uso de caractere de continuação, fazendo-as especialmente úteis quando escrevemos documentação em docstrings.
- type
O tipo de um objeto Python determina qual tipo de objeto ele é; cada objeto tem um tipo. Um tipo de objeto é acessível pelo atributo
__class__
ou pode ser recuperado comtype(obj)
.- Novas linhas universais
A manner of interpreting text streams in which all of the following are recognized as ending a line: the Unix end-of-line convention
'\n'
, the Windows convention'\r\n'
, and the old Macintosh convention'\r'
. See PEP 278 and PEP 3116, as well asstr.splitlines()
for an additional use.- ambiente virtual
Um ambiente de execução isolado que permite usuários Python e aplicações instalarem e atualizarem pacotes Python sem interferir no comportamento de outras aplicações Python em execução no mesmo sistema.
- máquina virtual
Um computador definido inteiramente em software. A máquina virtual de Python executa o bytecode emitido pelo compilador de bytecode.
- Zen of Python
Lista de princípios de projeto e filosofias do Python que são úteis para a compreensão e uso da linguagem. A lista é exibida quando se digita “
import this
” no console interativo.