Skip to content

Latest commit

 

History

History
929 lines (432 loc) · 39.6 KB

glossario.md

File metadata and controls

929 lines (432 loc) · 39.6 KB

Glossário


Este glossário, com pequenas modificações é baseado nos glossários dos capítulos de Pense em Python 2e e Allen Downey.


O que é um programa, escrito em uma liguagem de programação?

Um programa é uma sequência de instruções que especifica como executar uma operação de computação. A operação de computação pode ser algo matemático [...] mas também pode ser uma operação de computação simbólica, como a busca e a substituição de textos em um documento; ou algo gráfico, como o processamento de uma imagem ou a reprodução de um vídeo.

Os detalhes parecem diferentes em linguagens diferentes, mas algumas instruções básicas aparecem em quase todas as linguagens:

entrada: Receber dados do teclado, de um arquivo, da rede ou de algum outro dispositivo.

saída: Exibir dados na tela, salvá-los em um arquivo, enviá-los pela rede etc.

matemática: Executar operações matemáticas básicas como adição e multiplicação.

execução condicional: Verificar a existência de certas condições e executar o código adequado (como as estruturas com if em muitas linguagens)

repetição: Executar várias vezes alguma ação, normalmente com algumas variações (Iteração, loops ou laços de repetição)


Termos

linguagem de alto nível

Uma linguagem de programação como Python, que foi criada com o intuito de ser fácil para os humanos escreverem e lerem.

linguagem de baixo nível

Uma linguagem de programação criada para o computador executar com facilidade; também chamada de “linguagem de máquina” ou “linguagem assembly”.

programa

Conjunto de instruções que especificam uma operação de computação.

operador

Um símbolo especial que representa uma operação de computação simples como adição, multiplicação ou concatenação de strings.

valor

Uma das unidades básicas de dados, como um número ou string, que um programa manipula.

tipo

Uma categoria de valores. Os tipos que vimos por enquanto são números inteiros (tipo int), números de ponto flutuante (tipo float) e strings (tipo str).

inteiro

Um tipo que representa números inteiros.

ponto flutuante

Um tipo que representa números com partes fracionárias.

string

Um tipo que representa sequências de caracteres.

linguagem natural

Qualquer linguagem que as pessoas falam e que se desenvolveu naturalmente.

linguagem formal

Qualquer linguagem que as pessoas criaram com objetivos específicos, como representar ideias matemáticas ou programas de computador; todas as linguagens de programação são linguagens formais.

símbolo

Um dos elementos básicos da estrutura sintática de um programa, análogo a uma palavra em linguagem natural.

sintaxe

As regras que governam a estrutura de um programa.

análise

Examinar um programa e sua estrutura sintática.

bug

Um erro em um programa.

depuração (debugging)

O processo de encontrar e corrigir (depurar) bugs.

-------

variável

Um nome que se refere a um valor.

atribuição

Uma instrução que atribui um valor a uma variável.

diagrama de estado

Uma representação gráfica de um grupo de variáveis e os valores a que se referem.

palavra-chave

Uma palavra reservada, usada para analisar um programa; não é possível usar palavras-chave como if, def e while como nomes de variáveis.

operando

Um dos valores que um operador produz.

expressão

Uma combinação de variáveis, operadores e valores que representa um resultado único.

avaliar

Simplificar uma expressão executando as operações para produzir um valor único.

instrução

Uma seção do código que representa um comando ou ação. Por enquanto, as instruções que vimos são instruções de atribuições e de exibição.

executar

Executar uma instrução para fazer o que ela diz.

script

Um programa armazenado em um arquivo.

ordem das operações

As regras que governam a ordem na qual as expressões que envolvem vários operadores e operandos são avaliadas.

concatenar

Juntar dois operandos pelas extremidades.

comentários

Informações em um programa destinadas a outros programadores (ou qualquer pessoa que leia o texto fonte) que não têm efeito sobre a execução do programa.

[erro de sintaxe](https://penseallen.github.io/PensePython2e/02-vars-expr-instr.html#termo:erro de sintaxe)

Um erro em um programa que torna sua análise impossível (e por isso impossível de interpretar).

exceção

Um erro que se descobre quando o programa é executado.

semântica

O significado de um programa.

erro semântico

Um erro que faz com que um programa faça algo diferente do que o programador pretendia.

-----

função

Uma sequência nomeada de declarações que executa alguma operação útil. As funções podem receber argumentos ou não e podem ou não produzir algum resultado.

[definição de função](https://penseallen.github.io/PensePython2e/03-funcoes.html#termo:definição de função)

Uma instrução que cria uma função nova, especificando seu nome, parâmetros e as instruções que contém.

[objeto da função](https://penseallen.github.io/PensePython2e/03-funcoes.html#termo:objeto da função)

Um valor é criado por uma definição de função. O nome da função é uma variável que se refere a um objeto de função.

cabeçalho (de uma função)

A primeira linha de uma definição de função.

corpo (de uma função)

A sequência de instruções dentro de uma definição de função.

parâmetro (de uma função)

Um nome usado dentro de uma função para se referir ao valor passado como argumento.

[chamada de função](https://penseallen.github.io/PensePython2e/03-funcoes.html#termo:chamada de função)

Uma instrução que executa uma função. É composta pelo nome da função seguido de uma lista de argumentos entre parênteses.

argumento

Um valor apresentado a uma função quando a função é chamada. Este valor é atribuído ao parâmetro correspondente na função.

[variável local](https://penseallen.github.io/PensePython2e/03-funcoes.html#termo:variável local)

Uma variável definida dentro de uma função. Uma variável local só pode ser usada dentro da sua função.

[valor de retorno](https://penseallen.github.io/PensePython2e/03-funcoes.html#termo:valor de retorno)

O resultado de uma função. Se uma chamada de função for usada como uma expressão, o valor de retorno é o valor da expressão.

função com resultado

Uma função que devolve um valor.

função nula

Uma função que sempre devolve None.

None

Um valor especial apresentado por funções nulas.

módulo

Um arquivo que contém uma coleção de funções relacionadas e outras definições.

[instrução de importação](https://penseallen.github.io/PensePython2e/03-funcoes.html#termo:instrução de importação)

Uma instrução que lê um arquivo de módulo e cria um objeto de módulo.

[notação de ponto](https://penseallen.github.io/PensePython2e/03-funcoes.html#termo:notação de ponto)

A sintaxe para chamar uma função em outro módulo especificando o nome do módulo seguido de um ponto e o nome da função.

composição

O uso de uma expressão como parte de uma expressão maior ou de uma instrução como parte de uma instrução maior.

[fluxo de execução](https://penseallen.github.io/PensePython2e/03-funcoes.html#termo:fluxo de execução)

A ordem na qual as instruções são executadas.

----

método

Uma função associada a um objeto e chamada usando a notação de ponto.

loop (laço)

Parte de um programa que pode ser executada repetidamente.

encapsulamento

O processo de transformar uma sequência de instruções em uma definição de função.

generalização

O processo de substituir algo desnecessariamente específico (como um número) por algo adequadamente geral (como uma variável ou parâmetro).

[argumento de palavra-chave](https://penseallen.github.io/PensePython2e/04-caso-interface.html#termo:argumento de palavra-chave)

Um argumento que inclui o nome do parâmetro como uma “palavra-chave”.

interface

Uma descrição de como usar uma função, incluindo o nome e as descrições dos argumentos e do valor de retorno.

refatoração

O processo de alterar um programa funcional para melhorar a interface de funções e outras qualidades do código.

[plano de desenvolvimento](https://penseallen.github.io/PensePython2e/04-caso-interface.html#termo:plano de desenvolvimento)

Um processo de escrever programas.

docstring

Uma string que aparece no início de uma definição de função para documentar a interface da função.

----

[divisão pelo piso](https://penseallen.github.io/PensePython2e/05-cond-recur.html#termo:divisão pelo piso)

Um operador, denotado por //, que divide dois números e arredonda o resultado para baixo (em direção ao zero), a um número inteiro.

[operador módulo](https://penseallen.github.io/PensePython2e/05-cond-recur.html#termo:operador módulo)

Um operador, denotado com um sinal de percentagem (%), que funciona com números inteiros e devolve o resto quando um número é dividido por outro.

[expressão booleana](https://penseallen.github.io/PensePython2e/05-cond-recur.html#termo:expressão booleana)

Uma expressão cujo valor é True (verdadeiro) ou False (falso).

[operador relacional](https://penseallen.github.io/PensePython2e/05-cond-recur.html#termo:operador relacional)

Um destes operadores, que compara seus operandos: ==, !=, >, <, >= e <=.

[operador lógico](https://penseallen.github.io/PensePython2e/05-cond-recur.html#termo:operador lógico)

Um destes operadores, que combina expressões booleanas: and (e), or (ou) e not (não).

[instrução condicional](https://penseallen.github.io/PensePython2e/05-cond-recur.html#termo:instrução condicional)

Uma instrução que controla o fluxo de execução, dependendo de alguma condição.

condição

A expressão booleana em uma instrução condicional que determina qual ramo deve ser executado.

[instrução composta](https://penseallen.github.io/PensePython2e/05-cond-recur.html#termo:instrução composta)

Uma instrução composta de um cabeçalho e um corpo. O cabeçalho termina em dois pontos (:). O corpo é endentado em relação ao cabeçalho.

ramo (de condicional)

Uma das sequências alternativas de instruções em uma instrução condicional.

[condicional encadeada](https://penseallen.github.io/PensePython2e/05-cond-recur.html#termo:condicional encadeada)

Uma instrução condicional com uma série de ramos alternativos.

[condicional aninhada](https://penseallen.github.io/PensePython2e/05-cond-recur.html#termo:condicional aninhada)

Uma instrução condicional que aparece em um dos ramos de outra instrução condicional.

[instrução de retorno](https://penseallen.github.io/PensePython2e/05-cond-recur.html#termo:instrução de retorno)

Uma instrução que faz uma função terminar imediatamente e voltar a quem a chamou.

recursividade

O processo de chamar a função que está sendo executada no momento.

caso-base

Um ramo condicional em uma função recursiva que não faz uma chamada recursiva.

[recursividade infinita](https://penseallen.github.io/PensePython2e/05-cond-recur.html#termo:recursividade infinita)

Recursividade que não tem um caso-base, ou nunca o atinge. A recursividade infinita eventualmente causa um erro em tempo de execução.

------

[variável temporária](https://penseallen.github.io/PensePython2e/06-funcoes-result.html#termo:variável temporária)

Uma variável usada para guardar um valor intermediário em um cálculo complexo.

[código morto](https://penseallen.github.io/PensePython2e/06-funcoes-result.html#termo:código morto)

A parte de um programa que nunca pode ser executada, muitas vezes porque aparece depois de uma instrução return.

[desenvolvimento incremental](https://penseallen.github.io/PensePython2e/06-funcoes-result.html#termo:desenvolvimento incremental)

Um plano de desenvolvimento de programa para evitar a depuração, que acrescenta e testa poucas linhas de código de cada vez.

scaffolding (andaime)

O código que se usa durante o desenvolvimento de programa, mas que não faz parte da versão final.

guardião

Um padrão de programação que usa uma instrução condicional para verificar e lidar com circunstâncias que possam causar erros.

reatribuição

Atribuir um novo valor a uma variável que já existe.

atualização

Uma atribuição onde o novo valor da variável dependa do velho.

inicialização

Uma atribuição que dá um valor inicial a uma variável que será atualizada.

incremento

Uma atualização que aumenta o valor de uma variável (normalmente por uma unidade).

decremento

Uma atualização que reduz o valor de uma variável.

iteração

Execução repetida de um grupo de instruções, usando uma chamada da função recursiva ou um loop.

[loop infinito](https://penseallen.github.io/PensePython2e/07-iteracao.html#termo:loop infinito)

Um loop no qual a condição de término nunca é satisfeita.

algoritmo

Um processo geral para resolver uma categoria de problemas.

-----

objeto

Algo a que uma variável pode se referir. Por enquanto, você pode usar “objeto” e “valor” de forma intercambiável.

sequência

Uma coleção ordenada de valores onde cada valor é identificado por um índice de número inteiro.

item

Um dos valores em uma sequência.

índice

Um valor inteiro usado para selecionar um item em uma sequência, como um caractere em uma string. No Python, os índices começam em 0.

fatia

Parte de uma string especificada por um intervalo de índices.

[string vazia](https://penseallen.github.io/PensePython2e/08-strings.html#termo:string vazia)

Uma string sem caracteres e de comprimento 0, representada por duas aspas.

imutável

A propriedade de uma sequência cujos itens não podem ser alterados.

atravessar

Repetir os itens em uma sequência, executando uma operação semelhante em cada um.

busca

Um modelo de travessia que é interrompido quando encontra o que está procurando.

contador

Uma variável usada para contar algo, normalmente inicializada com zero e então incrementada.

invocação

Uma instrução que chama um método.

[argumento opcional](https://penseallen.github.io/PensePython2e/08-strings.html#termo:argumento opcional)

Um argumento de função ou método que não é necessário.

------

Uma sequência de valores.

elemento

Um dos valores em uma lista (ou outra sequência), também chamado de item.

[lista aninhada](https://penseallen.github.io/PensePython2e/10-listas.html#termo:lista aninhada)

Uma lista que é um elemento de outra lista.

acumuladora

Variável usada em um loop para adicionar ou acumular um resultado.

[atribuição aumentada](https://penseallen.github.io/PensePython2e/10-listas.html#termo:atribuição aumentada)

Instrução que atualiza o valor de uma variável usando um operador como +=.

redução

Padrão de processamento que atravessa uma sequência e acumula os elementos em um único resultado.

mapeamento

Padrão de processamento que atravessa uma sequência e executa uma operação em cada elemento.

filtragem

Padrão de processamento que atravessa uma lista e seleciona os elementos que satisfazem algum critério.

objeto

Algo a que uma variável pode se referir. Um objeto tem um tipo e um valor.

equivalente

Ter o mesmo valor.

idêntico

Ser o mesmo objeto (o que implica equivalência).

referência

Associação entre uma variável e seu valor.

alias

Uma circunstância onde duas ou mais variáveis se referem ao mesmo objeto.

delimitador

Um caractere ou uma string usada para indicar onde uma string deve ser dividida.

mapeamento

Relação na qual cada elemento de um conjunto corresponde a um elemento de outro conjunto.

dicionário

Mapeamento de chaves aos seus valores correspondentes.

[par chave-valor](https://penseallen.github.io/PensePython2e/11-dicionarios.html#termo:par chave-valor)

Representação do mapeamento de uma chave a um valor.

item

Em um dicionário, outro nome para um par chave-valor.

chave

Objeto que aparece em um dicionário como a primeira parte de um par chave-valor.

valor

Objeto que aparece em um dicionário como a segunda parte de um par chave-valor. Isso é mais específico que o nosso uso anterior da palavra “valor”.

implementação

Uma forma de executar um cálculo.

hashtable

Algoritmo usado para implementar dicionários de Python.

[função hash](https://penseallen.github.io/PensePython2e/11-dicionarios.html#termo:função hash)

Função usada por uma hashtable para calcular a posição de uma chave.

hashable

Um tipo que tem uma função hash. Tipos imutáveis como números inteiros, de ponto flutuante e strings são hashable; tipos mutáveis, como listas e dicionários, não são.

busca

Operação de dicionário que recebe uma chave e encontra o valor correspondente.

[busca reversa](https://penseallen.github.io/PensePython2e/11-dicionarios.html#termo:busca reversa)

Operação de dicionário que recebe um valor e encontra uma ou várias chaves que o mapeiem.

[instrução raise](https://penseallen.github.io/PensePython2e/11-dicionarios.html#termo:instrução raise)

Instrução que (deliberadamente) causa uma exceção.

[item avulso (singleton)](https://penseallen.github.io/PensePython2e/11-dicionarios.html#termo:item avulso (singleton))

Uma lista (ou outra sequência) com um único elemento.

[gráfico de chamada](https://penseallen.github.io/PensePython2e/11-dicionarios.html#termo:gráfico de chamada)

Um diagrama que mostra cada frame criado durante a execução de um programa, com uma flecha apontando quem chama a quem é chamado.

memo

Valor já calculado, guardado para não ter que fazer o mesmo cálculo no futuro.

[variável global](https://penseallen.github.io/PensePython2e/11-dicionarios.html#termo:variável global)

Variável definida fora de uma função. As variáveis globais podem ser acessadas de qualquer função.

[instrução global](https://penseallen.github.io/PensePython2e/11-dicionarios.html#termo:instrução global)

Instrução que declara um nome de variável global.

flag

Variável booleana usada para indicar se uma condição é verdadeira.

declaração

Instrução tal como global, que diz ao interpretador algo a respeito de uma variável.

tupla

Sequência imutável de elementos.

[atribuição de tupla](https://penseallen.github.io/PensePython2e/12-tuplas.html#termo:atribuição de tupla)

Atribuição com uma sequência no lado direito e uma tupla de variáveis à esquerda. O lado direito é avaliado e então seus elementos são atribuídos às variáveis à esquerda.

gather

Operação para montar uma tupla com argumento de comprimento variável.

scatter

Operação para tratar uma sequência como uma lista de argumentos.

[objeto zip](https://penseallen.github.io/PensePython2e/12-tuplas.html#termo:objeto zip)

O resultado de chamar uma função integrada zip; um objeto que se repete por uma sequência de tuplas.

iterador

Objeto que pode se repetir por uma sequência, mas que não oferece operadores de lista e métodos.

[estrutura de dados](https://penseallen.github.io/PensePython2e/12-tuplas.html#termo:estrutura de dados)

Coleção de valores relacionados, muitas vezes organizados em listas, dicionários, tuplas etc.

[erro de forma](https://penseallen.github.io/PensePython2e/12-tuplas.html#termo:erro de forma)

Erro causado pelo fato de o valor ter a forma incorreta; isto é, tipo ou tamanho incorreto.

-----

Relativo a um programa que faz a mesma coisa cada vez que é executado, se receber as mesmas entradas.

pseudoaleatório

Relativo a uma sequência de números que parecem ser aleatórios, mas que são gerados por um programa determinista.

[valor padrão](https://penseallen.github.io/PensePython2e/13-caso-estruturas.html#termo:valor padrão)

Valor dado a um parâmetro opcional se não houver nenhum argumento.

ignorar (override)

Substituir um valor padrão por um argumento.

benchmarking

Processo de escolha entre estruturas de dados pela implementação de alternativas e testes em uma amostra de entradas possíveis.

[depuração do pato de borracha](https://penseallen.github.io/PensePython2e/13-caso-estruturas.html#termo:depuração do pato de borracha)

Depurar explicando o problema a um objeto inanimado como um pato de borracha. Articular o problema pode ajudar a resolvê-lo, mesmo se o pato de borracha não conhecer Python.

----

persistente

Relativo a um programa que roda indefinidamente e mantém pelo menos alguns dos seus dados em armazenamento permanente.

[operador de formatação](https://penseallen.github.io/PensePython2e/14-arquivos.html#termo:operador de formatação)

Um operador, %, que recebe uma string de formatação e uma tupla e gera uma string que inclui os elementos da tupla formatada como especificado pela string de formatação.

[string de formatação](https://penseallen.github.io/PensePython2e/14-arquivos.html#termo:string de formatação)

String usada com o operador de formatação, que contém sequências de formatação.

[sequência de formatação](https://penseallen.github.io/PensePython2e/14-arquivos.html#termo:sequência de formatação)

Sequência de caracteres em uma string de formatação, como %d, que especifica como um valor deve ser formatado.

[arquivo de texto](https://penseallen.github.io/PensePython2e/14-arquivos.html#termo:arquivo de texto)

Sequência de caracteres guardados em armazenamento permanente, como uma unidade de disco rígido.

diretório

Uma coleção de arquivos nomeada, também chamada de pasta.

caminho

String que identifica um arquivo.

[caminho relativo](https://penseallen.github.io/PensePython2e/14-arquivos.html#termo:caminho relativo)

Caminho que inicia no diretório atual.

[caminho absoluto](https://penseallen.github.io/PensePython2e/14-arquivos.html#termo:caminho absoluto)

Caminho que inicia no diretório de posição mais alta (raiz) no sistema de arquivos.

capturar

Impedir uma exceção de encerrar um programa usando as instruções try e except.

[banco de dados](https://penseallen.github.io/PensePython2e/14-arquivos.html#termo:banco de dados)

Um arquivo cujo conteúdo é organizado como um dicionário, com chaves que correspondem a valores.

[objeto bytes](https://penseallen.github.io/PensePython2e/14-arquivos.html#termo:objeto bytes)

Objeto semelhante a uma string.

shell

Programa que permite aos usuários digitar comandos e executá-los para iniciar outros programas.

[objeto pipe](https://penseallen.github.io/PensePython2e/14-arquivos.html#termo:objeto pipe)

Objeto que representa um programa em execução, permitindo que um programa do Python execute comandos e leia os resultados.

-----

classe

Tipo definido pelo programador. Uma definição de classe cria um objeto de classe.

[objeto de classe](https://penseallen.github.io/PensePython2e/15-classes-objetos.html#termo:objeto de classe)

Objeto que contém a informação sobre um tipo definido pelo programador. O objeto de classe pode ser usado para criar instâncias do tipo.

instância

Objeto que pertence a uma classe.

instanciar

Criar um objeto.

atributo

Um dos valores denominados associados a um objeto.

[objeto integrado](https://penseallen.github.io/PensePython2e/15-classes-objetos.html#termo:objeto integrado)

Objeto que é armazenado como um atributo de outro objeto.

[cópia superficial](https://penseallen.github.io/PensePython2e/15-classes-objetos.html#termo:cópia superficial)

Copiar o conteúdo de um objeto, inclusive qualquer referência a objetos integrados; implementada pela função copy no módulo copy.

[cópia profunda](https://penseallen.github.io/PensePython2e/15-classes-objetos.html#termo:cópia profunda)

Copiar o conteúdo de um objeto, bem como qualquer objeto integrado, e qualquer objeto integrado a estes, e assim por diante; implementado pela função deepcopy no módulo copy.

[diagrama de objeto](https://penseallen.github.io/PensePython2e/15-classes-objetos.html#termo:diagrama de objeto)

Diagrama que mostra objetos, seus atributos e os valores dos atributos.

----

[função pura](https://penseallen.github.io/PensePython2e/16-classes-funcoes.html#termo:função pura)

Função que não altera nenhum dos objetos que recebe como argumento. A maior parte das funções puras gera resultado.

modificador

Função que modifica um ou vários dos objetos que recebe como argumento. A maior parte dos modificadores são nulos; isto é, retornam None.

[programação funcional](https://penseallen.github.io/PensePython2e/16-classes-funcoes.html#termo:programação funcional)

Estilo de projeto de programa no qual a maioria das funções são puras.

invariável

Condição que sempre deve ser verdadeira durante a execução de um programa.

[instrução assert](https://penseallen.github.io/PensePython2e/16-classes-funcoes.html#termo:instrução assert)

Instrução que verifica uma condição e levanta uma exceção se esta falhar.

-----

[linguagem orientada a objeto](https://penseallen.github.io/PensePython2e/17-classes-metodos.html#termo:linguagem orientada a objeto)

Linguagem que fornece recursos, como tipos definidos pelo programador e métodos, que facilitam a programação orientada a objeto.

[programação orientada a objeto](https://penseallen.github.io/PensePython2e/17-classes-metodos.html#termo:programação orientada a objeto)

Estilo de programação na qual os dados e as operações que os manipulam são organizadas em classes e métodos.

método

Função criada dentro de uma definição de classe e invocada em instâncias desta classe.

sujeito

Objeto sobre o qual um método é invocado.

[argumento posicional](https://penseallen.github.io/PensePython2e/17-classes-metodos.html#termo:argumento posicional)

Argumento que não inclui um nome de parâmetro, portanto não é um argumento de palavra-chave.

[sobrecarga de operador](https://penseallen.github.io/PensePython2e/17-classes-metodos.html#termo:sobrecarga de operador)

Alteração do comportamento de um operador como + para que funcione com um tipo definido pelo programador.

[despacho por tipo](https://penseallen.github.io/PensePython2e/17-classes-metodos.html#termo:despacho por tipo)

Modelo de programação que invoca funções diferentes dependendo do tipo do operando.

polimórfico

Pertinente a uma função que pode funcionar com mais de um tipo.

[ocultamento de informação](https://penseallen.github.io/PensePython2e/17-classes-metodos.html#termo:ocultamento de informação)

Princípio segundo o qual a interface fornecida por um objeto não deve depender da sua implementação, especialmente em relação à representação dos seus atributos.

-----

codificar

Representar um conjunto de valores usando outro conjunto de valores construindo um mapeamento entre eles.

[atributo de classe](https://penseallen.github.io/PensePython2e/18-heranca.html#termo:atributo de classe)

Atributo associado a um objeto de classe. Os atributos de classe são definidos dentro de uma definição de classe, mas fora de qualquer método.

[atributo de instância](https://penseallen.github.io/PensePython2e/18-heranca.html#termo:atributo de instância)

Atributo associado a uma instância de uma classe.

folheado

Método ou função que apresenta uma interface diferente para outra função sem fazer muitos cálculos.

herança

Capacidade de definir uma nova classe que seja uma versão modificada de uma classe definida anteriormente.

classe-pai

Classe da qual uma classe-filho herda.

classe-filho

Nova classe criada por herança de uma classe existente; também chamada de “subclasse”.

[relação IS-A](https://penseallen.github.io/PensePython2e/18-heranca.html#termo:relação IS-A)

Relação entre uma classe-filho e sua classe-pai. Também chamada de herança.

[relação HAS-A](https://penseallen.github.io/PensePython2e/18-heranca.html#termo:relação HAS-A)

Relação entre duas classes onde as instâncias de uma classe contêm referências a instâncias da outra. Também chamada de composição.

dependência

Relação entre duas classes onde as instâncias de uma classe usam instâncias de outra classe, mas não as guardam como atributos.

[diagrama de classe](https://penseallen.github.io/PensePython2e/18-heranca.html#termo:diagrama de classe)

Diagrama que mostra as classes em um programa e as relações entre elas.

multiplicidade

Notação em um diagrama de classe que mostra, para uma relação HAS-A, quantas referências a instâncias da outra classe podem existir.

[encapsulamento de dados](https://penseallen.github.io/PensePython2e/18-heranca.html#termo:encapsulamento de dados)

Plano de desenvolvimento de programa que envolve um protótipo usando variáveis globais e uma versão final que transforma as variáveis globais em atributos de instância.

----

[expressão condicional](https://penseallen.github.io/PensePython2e/19-extra.html#termo:expressão condicional)

Expressão que contém um de dois valores, dependendo de uma condição.

[abrangência de lista (list comprehension)](https://penseallen.github.io/PensePython2e/19-extra.html#termo:abrangência de lista (list comprehension))

Expressão com um loop for entre colchetes que produz uma nova lista.

[expressão geradora](https://penseallen.github.io/PensePython2e/19-extra.html#termo:expressão geradora)

Uma expressão com um loop for entre parênteses que produz um objeto gerador.

multiconjunto

Entidade matemática que representa um mapeamento entre os elementos de um conjunto e o número de vezes que aparecem.

fábrica (factory)

Função normalmente passada como parâmetro, usada para criar objetos.