Keywords are the reserved words in Python. Não podemos usar uma palavra-chave como nome de variável, nome de função ou qualquer outro identificador.
Aqui está uma lista de todas as palavras-chave em Python Programming
False | await | else | importar | pass |
Nenhuma | break | exceto | in | raise |
verdade | classe | finalmente | é | regresso |
e | continuar | para | lambda | tentar |
como | def | de | não-local | entretanto |
afirmar | del | global | não | with |
async | elif | se | ou | yield |
As palavras-chave acima podem ser alteradas em diferentes versões do Python. Alguns extras podem ser adicionados ou alguns podem ser removidos. Você sempre pode obter a lista de palavras-chave na sua versão atual digitando o seguinte no prompt.
>>> import keyword>>> print(keyword.kwlist)
Descrição de palavras-chave em Python com exemplos
Verdade, Falso
True
e False
são valores verdadeiros em Python. Eles são os resultados de operações de comparação ou operações lógicas (Booleanas) em Python. Por exemplo:
>>> 1 == 1True>>> 5 > 3True>>> True or FalseTrue>>> 10 <= 1False>>> 3 > 7False>>> True and FalseFalse
Aqui podemos ver que as três primeiras afirmações são verdadeiras, então o intérprete retorna True
e retorna False
para as três afirmações restantes. True
e False
em python é o mesmo que 1
e 0
. Isto pode ser justificado com o seguinte exemplo:
>>> True == 1True>>> False == 0True>>> True + True2
Nenhum
None
é uma constante especial em Python que representa a ausência de um valor ou um valor nulo.
É um objecto do seu próprio tipo de dados, o NoneType
. Não podemos criar múltiplos objectos None
mas podemos atribuí-los a variáveis. Estas variáveis serão iguais umas às outras.
Devemos ter especial cuidado para que None
não implique False
, 0
ou qualquer lista vazia, dicionário, string, etc. Por exemplo:
>>> None == 0False>>> None == False>>> None == FalseFalse>>> x = None>>> y = None>>> x == yTrue
Funções Void que não retornam nada retornarão um objeto None
automaticamente. None
também é retornado por funções nas quais o fluxo do programa não encontra uma declaração de retorno. Por exemplo:
def a_void_function(): a = 1 b = 2 c = a + bx = a_void_function()print(x)
Output
None
Este programa tem uma função que não retorna um valor, embora ele faça algumas operações dentro dele. Então quando imprimimos x, obtemos None
que é retornado automaticamente (implicitamente). Da mesma forma, aqui está outro exemplo:
def improper_return_function(a): if (a % 2) == 0: return Truex = improper_return_function(3)print(x)
Saída
None
Apesar de esta função ter uma instrução return
, ela não é atingida em todos os casos. A função retornará True
somente quando o input for par.
Se dermos um número ímpar à função, None
é retornado implicitamente.
e, ou não
and
, or
, not
são os operadores lógicos em Python. and
resultará em True
somente se ambos os operandos forem True
. A tabela da verdade para and
é dada abaixo:
A | B | A e B |
---|---|---|
Verdade | Verdade | Verdade |
Verdade | Falso | Falso |
Falso | Falso | Falso |
Falso | Falso | Falso |
or
resultará em True
se qualquer um dos operandos for True
. A tabela da verdade para or
é dada abaixo:
A | B | A ou B |
---|---|---|
Verdade | Verdade | Verdade |
Verdade | Falso | Verdade |
Falso | Verdade | Verdade |
Falso | Falso | Falso |
>not
operador é usado para inverter o valor da verdade. A tabela da verdade para not
é dada abaixo:
A | não A |
---|---|
Verdade | Falso |
Falso | Verdade |
salgum exemplo do seu uso é dado abaixo
>>> True and FalseFalse>>> True or FalseTrue>>> not FalseTrue
as
as
é usado para criar um alias enquanto importa um módulo. Significa dar um nome diferente (definido pelo usuário) a um módulo enquanto o importa.
Como por exemplo, Python tem um módulo padrão chamado math
. Suponha que queremos calcular o que o cosine pi está a usar um alias. Podemos fazê-lo da seguinte forma usando as
:
>>> import math as myAlias>>>myAlias.cos(myAlias.pi)-1.0
Aqui importamos o módulo math
, dando-lhe o nome myAlias
. Agora podemos nos referir ao módulo math
com este nome. Usando este nome calculamos cos(pi) e obtivemos -1.0
como a resposta.
assert
assert
é usado para fins de depuração.
Apesar de programar, às vezes desejamos saber o estado interno ou verificar se as nossas suposições são verdadeiras. assert
ajuda-nos a fazer isto e a encontrar bugs de forma mais conveniente. assert
é seguido por uma condição.
Se a condição for verdadeira, nada acontece. Mas se a condição for falsa, AssertionError
é levantada. Por exemplo:
>>> a = 4>>> assert a < 5>>> assert a > 5Traceback (most recent call last): File "<string>", line 301, in runcode File "<interactive input>", line 1, in <module>AssertionError
Para nosso melhor entendimento, também podemos fornecer uma mensagem a ser impressa com o AssertionError
.
>>> a = 4>>> assert a > 5, "The value of a is too small"Traceback (most recent call last): File "<string>", line 301, in runcode File "<interactive input>", line 1, in <module>AssertionError: The value of a is too small
Neste ponto podemos notar que,
assert condition, message
é equivalente a,
if not condition: raise AssertionError(message)
async, aguarde
As async
e await
palavras-chave são fornecidas pela biblioteca asyncio
em Python. Elas são usadas para escrever código simultâneo em Python. Por exemplo,
import asyncioasync def main(): print('Hello') await asyncio.sleep(1) print('world')
Para executar o programa, usamos
asyncio.run(main())
No programa acima, a palavra-chave async
especifica que a função será executada de forma assíncrona.
Aqui, o primeiro Olá é impresso. A palavra-chave await
faz o programa esperar por 1 segundo. E então o mundo é impresso.
break, continue
break
e continue
são usados dentro de for
e while
loops para alterar seu comportamento normal.
break
terminará o menor loop em que está e o controle flui para a instrução imediatamente abaixo do loop. continue
faz terminar a iteração atual do loop, mas não o loop inteiro.
Isto pode ser ilustrado com os dois exemplos seguintes:
for i in range(1,11): if i == 5: break print(i)
Saída
1234
Aqui, o for
loop pretende imprimir números de 1 a 10. Mas a condição if
é satisfeita quando i é igual a 5 e nós quebramos do laço. Assim, apenas o intervalo de 1 a 4 é impresso.
for i in range(1,11): if i == 5: continue print(i)
Saída
1234678910
Aqui usamos continue
para o mesmo programa. Assim, quando a condição é preenchida, essa iteração é pulada. Mas nós não saímos do loop. Portanto, todos os valores exceto 5 são impressos.
Saiba mais sobre a quebra do Python e continue a declaração.
class
class
é usado para definir uma nova classe definida pelo usuário em Python.
Class é uma coleção de atributos e métodos relacionados que tentam representar uma situação do mundo real. Esta idéia de juntar dados e funções em uma classe é central para o conceito de programação orientada a objetos (OOP).
Classes pode ser definida em qualquer lugar em um programa. Mas é uma boa prática definir uma única classe em um módulo. A seguir um exemplo de uso:
class ExampleClass: def function1(parameters): … def function2(parameters): …
Aprenda mais sobre Objetos Python e Classe.
def
def
é usado para definir uma função definida pelo usuário.
Função é um bloco de instruções relacionadas, que juntas fazem alguma tarefa específica. Ele nos ajuda a organizar o código em pedaços gerenciáveis e também a fazer alguma tarefa repetitiva.
O uso de def
é mostrado abaixo:
def function_name(parameters): …
Aprenda mais sobre funções Python.
del
del
é usado para excluir a referência a um objeto. Tudo é objeto em Python. Podemos apagar uma referência de variável usando del
>>> a = b = 5>>> del a>>> aTraceback (most recent call last): File "<string>", line 301, in runcode File "<interactive input>", line 1, in <module>NameError: name 'a' is not defined>>> b5
Aqui podemos ver que a referência da variável a foi apagada. Portanto, ela não está mais definida. Mas b ainda existe.
del
também é usado para excluir itens de uma lista ou dicionário:
>>> a = >>> del a>>> a
if, caso contrário, elif
if, else, elif
são usados para ramificação condicional ou tomada de decisão.
Quando queremos testar alguma condição e executar um bloco somente se a condição for verdadeira, então usamos if
e elif
. elif
é a abreviação de “if”. else
é o bloco que é executado se a condição for falsa. Isto ficará claro com o seguinte exemplo:
def if_example(a): if a == 1: print('One') elif a == 2: print('Two') else: print('Something else')if_example(2)if_example(4)if_example(1)
Saída
TwoSomething elseOne
Aqui, a função verifica o número de entrada e imprime o resultado se for 1 ou 2. Qualquer outro input além deste fará com que a parte else
do código seja executada.
Saiba mais sobre Python se e se…else Statement.
exceto, raise, try
except, raise, try
são usados com exceções em Python.
Excepções são basicamente erros que sugerem que algo deu errado durante a execução do nosso programa. IOError
, ValueError
, ZeroDivisionError
, ImportError
, NameError
, TypeError
etc. são poucos exemplos de exceções em Python. try...except
blocos são usados para capturar exceções em Python.
Podemos levantar uma exceção explicitamente com a palavra-chave raise
. A seguir um exemplo:
def reciprocal(num): try: r = 1/num except: print('Exception caught') return return rprint(reciprocal(10))print(reciprocal(0))
Eliminar
0.1Exception caughtNone
Aqui, a função reciprocal()
retorna o recíproco do número de entrada.
Quando entramos 10, obtemos a saída normal de 0.1. Mas quando entramos 0, um ZeroDivisionError
é levantado automaticamente.
Este é capturado pelo nosso bloco try…except
e retornamos None
. Também poderíamos ter levantado o ZeroDivisionError
explicitamente verificando a entrada e manuseado em outro lugar da seguinte forma:
finally
finally
é usado com try…except
bloco para fechar recursos ou fluxos de arquivos.
Usando finally
garante que o bloco de código dentro dele seja executado mesmo que haja uma exceção sem soltar. Por exemplo:
try: Try-blockexcept exception1: Exception1-blockexcept exception2: Exception2-blockelse: Else-blockfinally: Finally-block
Aqui se houver uma exceção no bloco Try-block
, ela é tratada no bloco except
ou else
. Mas não importa em que ordem a execução flui, podemos ter certeza de que o Finally-block
é executado mesmo que haja um erro. Isto é útil na limpeza dos recursos.
Saiba mais sobre o tratamento de exceções na programação Python.
for
for
é usado para looping. Geralmente usamos for
quando sabemos o número de vezes que queremos fazer loop.
Em Python podemos usá-lo com qualquer tipo de sequências como uma lista ou uma string. Aqui está um exemplo no qual for
é usado para atravessar uma lista de nomes:
names = for i in names: print('Hello '+i)
Eliminar
Hello JohnHello MonicaHello StevenHello Robin
Aprenda mais sobre Python para loop.
de, importar
import
a palavra-chave é usada para importar módulos para o namespace atual. from…import
é usado para importar atributos ou funções específicas para o namespace atual. Por exemplo:
import math
irá importar o módulo math
. Agora podemos usar a função cos()
dentro dele como math.cos()
. Mas se quisermos importar apenas a função cos()
, isto pode ser feito usando from
como
from math import cos
agora podemos usar a função simplesmente como cos()
, sem necessidade de escrever math.cos()
.
Aprenda mais sobre os módulos Python e o comando de importação.
global
global
é usado para declarar que uma variável dentro da função é global (fora da função).
Se precisarmos ler o valor de uma variável global, não é necessário defini-la como global
. Isto é entendido.
Se precisarmos modificar o valor de uma variável global dentro de uma função, então devemos declará-la com global
. Caso contrário, uma variável local com esse nome é criada.
Exemplo seguinte nos ajudará a esclarecer isto.
globvar = 10def read1(): print(globvar)def write1(): global globvar globvar = 5def write2(): globvar = 15read1()write1()read1()write2()read1()
Eliminar
1055
Aqui, a função read1()
está apenas lendo o valor de globvar
. Portanto, não precisamos declará-lo como global
. Mas a função write1()
está modificando o valor, então precisamos declarar a variável como global
.
Vemos em nossa saída que a modificação ocorreu (10 é alterado para 5). A função write2()
também tenta modificar este valor. Mas nós não o declaramos como global
.
Hence, uma nova variável local globvar
é criada e não é visível fora desta função. Apesar de modificarmos esta variável local para 15, a variável global permanece inalterada. Isto é claramente visível na nossa saída.
in
in
é usada para testar se uma sequência (lista, tuple, string, etc.) contém um valor. Ele retorna True
se o valor estiver presente, ou então retorna False
. Por exemplo:
>>> a = >>> 5 in aTrue>>> 10 in aFalse
O uso secundário de in
é para atravessar uma sequência em um loop.for
for i in 'hello': print(i)
Saída
hello
é
is
é usado em Python para testar a identidade do objeto. Enquanto o operador ==
é usado para testar se duas variáveis são iguais ou não, is
é usado para testar se as duas variáveis se referem ao mesmo objeto.
Retorna True
se os objetos são idênticos e False
se não são.
>>> True is TrueTrue>>> False is FalseTrue>>> None is NoneTrue
Sabemos que existe apenas uma instância de True
, False
e None
em Python, portanto são idênticas.
>>> == True>>> is False>>> {} == {}True>>> {} is {}False
Uma lista ou dicionário vazio é igual a outro vazio. Mas eles não são objetos idênticos, pois estão localizados separadamente na memória. Isto porque lista e dicionário são mutáveis (valor pode ser alterado).
>>> '' == ''True>>> '' is ''True>>> () == ()True>>> () is ()True
Unlike list and dictionary, string and tuple are immutable (value cannot be altered once defined). Portanto, duas string ou tuple iguais também são idênticas. Elas se referem à mesma localização de memória.
lambda
lambda
é usada para criar uma função anônima (função sem nome). É uma função inline que não contém uma instrução return
. Ela consiste em uma expressão que é avaliada e retornada. Por exemplo:
a = lambda x: x*2for i in range(1,6): print(a(i))
Output
246810
Aqui, criamos uma função inline que duplica o valor, usando a instrução lambda
. Usamos isso para dobrar os valores em uma lista contendo de 1 a 5.
Saiba mais sobre a função Python lamda.
nonlocal
O uso de nonlocal
palavra-chave é muito semelhante à global
palavra-chave. nonlocal
é usado para declarar que uma variável dentro de uma função aninhada (função dentro de uma função) não é local para ela, significando que ela está na função de inclinação externa. Se precisarmos modificar o valor de uma variável não-local dentro de uma função aninhada, então devemos declará-la com nonlocal
. Caso contrário, uma variável local com esse nome é criada dentro da função aninhada. O exemplo a seguir nos ajudará a esclarecer isto.
def outer_function(): a = 5 def inner_function(): nonlocal a a = 10 print("Inner function: ",a) inner_function() print("Outer function: ",a)outer_function()
Eliminar
Inner function: 10Outer function: 10
Aqui, a inner_function()
está aninhada dentro da outer_function
.
A variável a está dentro da outer_function()
. Portanto, se quisermos modificá-la no inner_function()
, devemos declará-la como nonlocal
. Note que a não é uma variável global.
Hence, vemos pela saída que a variável foi modificada com sucesso dentro do aninhado inner_function()
. O resultado de não usar a palavra-chave nonlocal
é o seguinte:
def outer_function(): a = 5 def inner_function(): a = 10 print("Inner function: ",a) inner_function() print("Outer function: ",a)outer_function()
Eliminar
Inner function: 10Outer function: 5
Aqui, não declaramos que a variável a dentro da função aninhada é nonlocal
. Assim, uma nova variável local com o mesmo nome é criada, mas a variável não-local a não é modificada como visto na nossa saída.
pass
pass
é uma declaração nula em Python. Nada acontece quando ele é executado. É usado como um placeholder.
Suponha que temos uma função que ainda não está implementada, mas queremos implementá-la no futuro. Basta escrever,
def function(args):
no meio de um programa que nos dará IndentationError
. Em vez disso, construímos um corpo em branco com a instrução pass
def function(args): pass
Podemos fazer a mesma coisa num vazio class
também.
class example: pass
retorno
return
a instrução é usada dentro de uma função para sair dela e retornar um valor.
Se não retornarmos um valor explicitamente, None
é retornado automaticamente. Isto é verificado com o seguinte exemplo.
def func_return(): a = 10 return adef no_return(): a = 10print(func_return())print(no_return())
Saída
10None
entretanto
while
é usado para looping em Python.
As instruções dentro de um loop while
continuam a ser executadas até que a condição para o loop while
avalia para False
ou uma instrução break
seja encontrada. O programa seguinte ilustra isto.
i = 5while(i): print(i) i = i – 1
Saída
54321
Nota que 0 é igual a False
.
Aprenda mais sobre Python enquanto o laço.
>
with
with
O comando é usado para envolver a execução de um bloco de código dentro de métodos definidos pelo gerenciador de contexto.
O gerenciador de contexto é uma classe que implementa métodos __enter__
e __exit__
. O uso de with
instrução assegura que o método __exit__
é chamado no final do bloco aninhado. Este conceito é similar ao uso de try…finally
bloco. Aqui, um exemplo.
with open('example.txt', 'w') as my_file: my_file.write('Hello world!')
Este exemplo escreve o texto Hello world!
no arquivo example.txt
. Os objetos de arquivo têm __enter__
e __exit__
método definido dentro deles, então eles agem como seu próprio gerenciador de contexto.
Primeiro o método __enter__
é chamado, depois o código dentro de with
instrução é executado e finalmente o método __exit__
é chamado. O método __exit__
é chamado mesmo que haja um erro. Ele basicamente fecha o fluxo de arquivos.
yield
yield
é usado dentro de uma função como uma instrução return
. Mas yield
retorna um gerador.
Generador é um iterador que gera um item de cada vez. Uma grande lista de valores irá ocupar muita memória. Os geradores são úteis nesta situação, pois gera apenas um valor de cada vez em vez de armazenar todos os valores na memória. Por exemplo,
>>> g = (2**x for x in range(100))
irá criar um gerador g que gera potências de 2 até ao número 2 elevado para a potência 99. Podemos gerar os números usando a função next()
como mostrado abaixo.
>>> next(g)1>>> next(g)2>>> next(g)4>>> next(g)8>>> next(g)16
E assim por diante… Este tipo de gerador é retornado pelo comando yield
de uma função. Aqui está um exemplo.
def generator(): for i in range(6): yield i*ig = generator()for i in g: print(i)
Emportar