sábado, 5 de dezembro de 2020

Calculadora básica usando Python

Crie uma calculadora simples que pode realizar operações aritméticas básicas como adição, subtração, multiplicação ou divisão, dependendo da entrada do usuário.

Funções:

  • O usuário escolhe a operação desejada. As opções 1, 2, 3 e 4 são válidas.
  • Dois números são tomados e uma ramificação if-elif-else é usada para executar uma seção particular.
  • Usando as funções add(), subtract(), multiply() e divide() avalie as respectivas operações.

Exemplo:

Selecione uma operação -
1. Soma
2. Subtração
3. Multiplicação
4. Divisão

Selecione a operação 1, 2, 3, 4 :4
Entre com o primeiro número: 2
Entre com o segundo número: 3
2 / 3 = 0.6666666666666666
# Uma simples calculadora
# Função para somar dois números 
def add(num1, num2):
    return num1 + num2

# Função para subtração 
def subtract(num1, num2):
    return num1 - num2

# Função para multiplica dois números
def multiply(num1, num2):
    return num1 * num2

# Função para divisão
def divide(num1, num2):
    return num1 / num2

print("Selecione uma operação -\n" \
        "1. Soma\n" \
        "2. Subtração\n" \
        "3. Multiplicação\n" \
        "4. Divisão\n")

# Obtendo entradas do usuário
select = int(input("Selecione a operação 1, 2, 3, 4 :")) 

number_1 = int(input("Entre com o primeiro número: "))
number_2 = int(input("Entre com o segundo número: "))

if select == 1:
    print(number_1, "+", number_2, "=", add(number_1, number_2)) 

elif select == 2:
    print(number_1, "-", number_2, "=", subtract(number_1, number_2))

elif select == 3:
    print(number_1, "*", number_2, "=", multiply(number_1, number_2)) 

elif select == 4:
    print(number_1, "/", number_2, "=", divide(number_1, number_2))
else:
    print("Entrada inválida")

Resultado:

Selecione uma operação -
1. Soma
2. Subtração
3. Multiplicação
4. Divisão

Selecione a operação 1, 2, 3, 4 :3
Entre com o primeiro número: 7
Entre com o segundo número: 8
7 * 8 = 56

Artigo escrito por Pushpanjali chauhan e traduzido por Acervo Lima de Basic calculator program using Python

Python if-else

Existem situações na vida real em que precisamos tomar algumas decisões e, com base nessas decisões, decidimos o que devemos fazer a seguir. Situações semelhantes surgem na programação também onde precisamos tomar algumas decisões e com base nessas decisões executaremos o próximo bloco de código.

As declarações de tomada de decisão em linguagens de programação decidem a direção do fluxo de execução do programa. As instruções de tomada de decisão disponíveis em python são:

  • Declaração if
  • Declaração if-else
  • if's aninhados
  • if-elif
  • if em uma linha
  • if-else em uma linha

Declaração if

Declaração if é a declaração de tomada de decisão mais simples. É usado para decidir se uma determinada instrução ou bloco de instruções será executado ou não, ou seja, se uma determinada condição for verdadeira, um bloco de instruções será executado, caso contrário, não.

Sintaxe:

if condição:           
   # bloco de comandos para ser executado
   # se a condição for verdadeira

Aqui, a condição após a avaliação será verdadeira ou falsa. se a instrução aceita valores booleanos - se o valor for verdadeiro, ele executará o bloco de instruções abaixo dele, caso contrário, não. Podemos usar condição com parenteses também.

Como sabemos, python usa indentação para identificar um bloco. Portanto, o bloco sob uma instrução if será identificado conforme mostrado no exemplo abaixo:

if condição:
   declaração1
declaração2

# Aqui, se a condição for verdadeira,
# o bloco if irá considerar apenas a
# declaração1 como estando dentro de seu bloco.
# Declaração if 

i = 10
if (i > 15):
    print("10 é menor que 15")
print ("Não estou dentro do bloco if")

Resultado:

Não estou dentro do bloco if

Como a condição presente na declaração if é falsa. Portanto, o bloco abaixo da instrução if não é executado.

if- else

A declaração if por si só nos diz que se uma condição for verdadeira, ela executará um bloco de declarações e se a condição for falsa, não. Mas e se quisermos fazer outra coisa se a condição for falsa. Aí vem a declaração else. Podemos usar a instrução else com a instrução if para executar um bloco de código quando a condição for falsa.

Sintaxe:

if (condição):
    # Executa se a condição for verdadeira
else:
    # Executa se a condição for falsa
# Declaração if-else
#!/usr/bin/python

i = 20;
if (i < 15):
    print("i é menor que 15")
    print("Estou no bloco if")
else:
    print ("i é maior que 15")
    print ("Estou no bloco else")
print("Não estou no bloco if e nem no else")

Resultado:

i é maior que 15
Estou no bloco else
Não estou no bloco if e nem no else

O bloco de código após a instrução else é executado como a condição presente na instrução if é falsa após a chamada da instrução que não está em bloco (sem espaços).

if's aninhados

Um if aninhado é uma instrução if que é o destino de outra instrução if. As instruções if aninhadas significam uma instrução if dentro de outra instrução if. Sim, Python nos permite aninhar instruções if dentro de instruções if. Ou seja, podemos colocar uma instrução if dentro de outra instrução if.

Sintaxe:

if (condição1):
   # Executa quando a condição é verdadeira
   if (condição2): 
      # Executa quando a condiçã2 é verdadeira
   # o segundo bloco if termina aqui
# o primeira bloco if termina aqui
# Demonstração de if's aninhados
#!/usr/bin/python
i = 10
if (i == 10):
    #  Primeira declaração 
    if (i < 15): 
        print("i é menor que 15") 
    # Declaração if aninhada
    # Vai ser executada apenas se a primeira
    # declaração if for verdadeira
    if (i < 12):
        print("i é menor que 12 também")
    else:
        print("i é maior que quinze 15")

Resultado:

i é menor que 15
i é menor que 12 também

if-elif-else

Aqui, um usuário pode decidir entre várias opções. As instruções if são executadas de cima para baixo. Assim que uma das condições que controlam o if for verdadeira, a instrução associada àquele if é executada e o resto da escada é ignorado. Se nenhuma das condições for verdadeira, a instrução else final será executada.

Sintaxe:

if (condição):
    # declaração
elif (condição):
    # declaração
.
.
else:
    # declaração

Exemplo:

# Demonstração do uso de if-elif-else
#!/usr/bin/python

i = 20
if (i == 10):
    print ("i é 10")
elif (i == 15):
    print ("i é 15")
elif (i == 20):
    print ("i é 20")
else:
    print ("i é não esta presente")

Resultado:

i é 20

if em uma linha

Sempre que houver apenas uma única instrução a ser executada dentro do bloco if, uma abreviatura if pode ser usada. A instrução pode ser colocada na mesma linha da instrução if.

Sintaxe:

if condição: declaração

Exemplo:

# demonstrando o uso do if numa linha
i = 10
if i < 15: print("i é menor que 15") 

Resultado:

i é menor que 15

if-else em uma linha

Isso pode ser usado para escrever as instruções if-else em uma única linha, onde há apenas uma instrução a ser executada no bloco if e uma no else.

Sintaxe:

declaração_quando_True if condição else declaração_quando_False

Exemplo:

# if-else em uma linha
i = 10
print(True) if i < 15 else print(False) 

Resultado:

True

Artigo escrito por DevanshuAgarwal e traduzido por Acervo Lima de Python if else

Como imprimir sem nova linha em Python?

Geralmente, as pessoas que mudam de C / C++ para Python se perguntam como imprimir duas ou mais variáveis ou instruções sem entrar em uma nova linha em python. Já que a função python print() por padrão termina com nova linha. Python tem um formato predefinido se você usar print(variável) então ele irá para a próxima linha automaticamente.

Por exemplo:

print("Acervo")
print("Acervo Lima")

Resultado:

Acervo
Acervo Lima

Mas, às vezes, pode acontecer que não queiramos ir para a próxima linha, mas queremos imprimir na mesma linha. Então o que podemos fazer? Por exemplo:

Entrada : print("Acervo") print("Acervo Lima")
Saída : Acervo Acervo Lima

Entrada : a = [1, 2, 3, 4]
Saída : 1 2 3 4

A solução discutida aqui é totalmente dependente da versão do Python que você está usando.

Imprimir sem nova linha em Python 2

# Código Python 2 para
# imprimir na mesma linha
# imprimir Acervo e Acervo Lima
# na mesma linha 
  
print("Acervo"), 
print("Acervo Lima") 
  
# array 
a = [1, 2, 3, 4] 
  
# imprimi na mesma linha
for i in range(4):
    print(a[i]),  

Resultado:

Acervo Acervo Lima
1 2 3 4

Imprimir sem nova linha em Python 3

# Código Python 3 para
# imprimir na mesma linha
# Acervo e Acervo Lima na mesma linha
  
print("Acervo", end =" ") 
print("Acervo Lima") 
  
# array 
a = [1, 2, 3, 4] 
  
# imprime na mesma linha
for i in range(4): 
    print(a[i], end =" ")  

Resultado:

Acervo Acervo Lima
1 2 3 4

Artigo escrito por UPENDRA BARTWAL e traduzido por Acervo Lima de How to print without newline in Python?

sexta-feira, 4 de dezembro de 2020

Como atribuir valores a variáveis em Python

Este artigo discute métodos para atribuir valores a variáveis.

Método 1: Método de inicialização direta

# Código Python 3 para demonstrar a atribuição de
# variável sob condição usando o método de inicialização direta

# variável de inicialização diretamente
a = 5
  
# imprime o valor de a 
print("O valor de a é: " + str(a)) 

Uma linha if-else em vez de Operador Condicional (? :) em Python

# Código Python 3 para demonstrar a atribuição de variáveis
# sob condição usando uma linha if-else

# inicializando a variável usando o operador condicional
# a = 20 > 10 ? 1 : 0 não é possivel em python
# em vez disso temos uma linha if-else
a = 1 if 20 > 10 else 0

# imprime o valor de a
print("O valor de a é: " + str(a))

Artigo escrito por VartikaBhatnagar1
Traduzido por Acervo Lima de How to assign values to variables in Python and other languages

Como verificar se uma string é uma palavra-chave válida em Python?

Na programação, uma palavra-chave é uma “palavra reservada” pela linguagem que transmite um significado especial para o interpretador. Pode ser um comando ou um parâmetro. Palavras-chave não podem ser usadas como um nome de variável ou função dentro do programa.

Palavras-chave em Python: a linguagem Python também reserva algumas palavras-chave que transmitem um significado especial. O conhecimento deles é parte necessária do aprendizado dessa linguagem. Abaixo está uma lista de palavras-chave registradas por python.
False, elif, lambda, None, else, nonlocal, True, except, not, and, finally, or, as, for, pass, assert, from, raise, break, global, return, class, if, try, continue, import, while, def, in, with, del, is, yield.

Como verificar se uma string é uma palavra reservada da linguagem python?

Python em sua linguagem define um módulo embutido “keyword” que lida com certas operações relacionadas a palavras-chave. Uma função “iskeyword()” verifica se uma string é uma palavra-chave ou não. Retorna verdadeiro se uma string for palavra-chave, senão retorna falso.

# Código Python para demonstrar o funcionamento de iskeyword()

# importando "keyword" para operações de palavra-chave
import keyword

# inicializar strings para teste ao colocá-los em um array
keys = ["for", "while", "tanisha", "break", "pato",
"elif", "assert", "sofa", "lambda", "else", "guardanapo"]

for i in range(len(keys)):
    # verifica quais são palavras-chaves
    if keyword.iskeyword(keys[i]):
        print(keys[i] + " é uma palavra reservada da linguagem python")
    else:
        print(keys[i] + " não é uma palavra reservada da linguagem python")

Resultado:

for é uma palavra reservada da linguagem python
while é uma palavra reservada da linguagem python
tanisha não é uma palavra reservada da linguagem python
break é uma palavra reservada da linguagem python
pato não é uma palavra reservada da linguagem python
elif é uma palavra reservada da linguagem python
assert é uma palavra reservada da linguagem python
sofa não é uma palavra reservada da linguagem python
lambda é uma palavra reservada da linguagem python
else é uma palavra reservada da linguagem python
guardanapo não é uma palavra reservada da linguagem python

Como imprimir todas as palavras reservadas da linguagem python?

Às vezes, lembrar de todas as palavras-chave pode ser uma tarefa difícil ao atribuir nomes de variáveis. Portanto, uma função “kwlist()” é fornecida no módulo “keyword” que imprime todas as 33 palavras reservadas do python.

# Código Python para demonstrar o funcionamento de iskeyword()

# importando "keyword" para operações de palavra-chave
import keyword

# imprimir todas as palavras-chave de uma vez usando "kwlist()"
print("A lista de palavras reservadas do python: ")
print(keyword.kwlist)

Resultado:

A lista de palavras reservadas do python: 
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

Artigo escrito por Manjeet Singh(S.Nandini) e melhorado por TanishaTomar
Traduzido por Acervo Lima de How to check if a string is a valid keyword in Python?

Declaração, indentação e comentário em Python

Declarações

As instruções escritas no código-fonte para execução são chamadas de instruções. Existem diferentes tipos de instruções na linguagem de programação Python, como instrução de atribuição, instrução condicional, instruções de loop, etc. Tudo isso ajuda o usuário a obter a saída necessária. Por exemplo, n = 50 é uma instrução de atribuição.

Instruções de várias linhas: as instruções em Python podem ser estendidas a uma ou mais linhas usando parênteses (), chaves {}, colchetes [], ponto e vírgula (;), barra de caractere de continuação (\). Quando o programador precisa fazer cálculos longos e não consegue encaixar suas declarações em uma linha, pode-se fazer uso desses caracteres.

Exemplo:

Usando o caractere de continuação (\):

s = 1 + 2 + 3 + \

    4 + 5 + 6 + \

    7 + 8 + 9

Usando parenteses ():

n = (1 * 2 * 3 + 7 + 8 + 9)

Usando colchetes [] :

footballer = ['MESSI',

          'NEYMAR',

          'SUAREZ']

Usando chaves {} :

x = {1 + 2 + 3 + 4 + 5 + 6 +

     7 + 8 + 9}

Usando ponto e vírgula (;) :

flag = 2; ropes = 3; pole = 4

Indentação

Um bloco é uma combinação de todas essas instruções. Bloco pode ser considerado o agrupamento de afirmações para um propósito específico. A maioria das linguagens de programação como C, C ++, Java usam chaves {} para definir um bloco de código. Uma das características distintivas do Python é o uso de indentação para destacar os blocos de código. O espaço em branco é usado para indentação em Python. Todas as instruções com a mesma distância para a direita pertencem ao mesmo bloco de código. Se um bloco precisar ser aninhado mais profundamente, ele será simplesmente recuado mais para a direita. Você pode entendê-lo melhor observando as seguintes linhas de código:

# Programa python mostrando a indentação

site = 'Acervo Lima'

if site == 'Acervo Lima':
    print('https://www.acervolima.com.br')
else:
    print('Site não encontrado, tente ou site!')

print('Tudo pronto !') 

Resultado:

https://www.acervolima.com.br
Tudo pronto !

As linhas print('https://www.acervolima.com.br') e print('Site não encontrado, tente ou site!') São dois blocos de código separados. Os dois blocos de código em nosso exemplo de instrução if são indentados com quatro espaços. A impressão final print('Tudo pronto !') Não é indentada e, portanto, não pertence ao bloco else.

j = 1
while(j <= 5):
    print(j)
    j = j + 1

Resultado:

1
2
3
4
5

Para indicar um bloco de código em Python, você deve recuar cada linha do bloco com o mesmo número de espaços em branco. As duas linhas de código no loop while são indentadas com quatro espaços. É necessário para indicar a qual bloco de código uma instrução pertence. Por exemplo, j = 1 e while (j <= 5): não é indentado e, portanto, não está dentro do bloco while. Portanto, a estrutura de um código python é definida pela indentação.

Comentários

Os desenvolvedores de Python costumam fazer uso do sistema de comentários, pois, sem ele, as coisas podem ficar realmente confusas, muito rápido. Os comentários são as informações úteis que os desenvolvedores fornecem para fazer o leitor entender o código-fonte. Explica a lógica ou parte dela usada no código. Os comentários geralmente são úteis para alguém que mantém ou aprimora seu código quando você não está mais por perto para responder a perguntas sobre ele. Eles são frequentemente citados como uma convenção de programação útil que não faz parte da saída do programa, mas melhora a legibilidade de todo o programa. Existem dois tipos de comentário em Python:

Comentários de linha única: o comentário de linha única do Python começa com o símbolo de hashtag sem espaços em branco (#) e dura até o final da linha. Se o comentário exceder uma linha, coloque uma hashtag na próxima linha e continue o comentário. Os comentários de linha única do Python são úteis para fornecer explicações curtas para variáveis, declarações de funções e expressões. Veja o seguinte snippet de código que mostra um comentário de uma única linha:

Código 1:

# Isso é um comentário de uma linha
# imprime "Acervo Lima" no terminal
print("Acervo Lima")

Código 2:

a, b = 1, 3 # Declara dois inteiros
sum = a + b # Soma dois inteiros
print(sum) # Mostra o resultado

String de várias linhas como comentário: o comentário de várias linhas do Python é um pedaço de texto colocado em um delimitador (""") em cada extremidade do comentário. Novamente, não deve haver nenhum espaço em branco entre o delimitador (" ""). Eles são úteis quando o texto do comentário não cabe em uma linha; portanto, precisa abranger todas as linhas. Comentários ou parágrafos com várias linhas servem como documentação para outras pessoas que leiam seu código. Veja o seguinte snippet de código que demonstra o comentário de várias linhas:

Código 1:

""" 
Este seria um comentário multilinha em Python que
abrange várias linhas e descreve Acervo Lima.
Um portal de Ciência da Computação. Ele contém
artigos de programação e ciência da computação
bem escritos, bem pensados e bem explicados,
questionários e muito mais.  
… 
"""
print("Acervo Lima") 

Código 2:

'''
Este artigo sobre Acervo Lima oferece
um exemplo perfeito de comentários de várias linhas
'''

print("Acervo Lima") 

Artigo escrito por NamanKed e melhorado por ManiRamu
Traduzido por Acervo Lima de Statement, Indentation and Comment in Python

Estruturação de programas Python

Neste artigo, você conhecerá a estruturação e a formatação adequadas de seus programas Python.

Instruções Python Em geral, o interpretador lê e executa as instruções linha por linha, ou seja, sequencialmente. Porém, existem algumas instruções que podem alterar esse comportamento, como as instruções condicionais. Geralmente, as instruções python são escritas em um formato que uma instrução é escrita apenas em uma única linha. O intérprete considera o 'caractere de nova linha' como o terminador de uma instrução. Mas, escrever várias instruções por linha também é possível, você pode encontrar abaixo um exemplo disso.

Exemplos:

# Exemplo 1

print('Bem-vindo ao Acervo Lima')
# Exemplo 2

x = [1, 2, 3, 4]

# x[1:3] significa que começa do index 1 e vai até o 3
print(x[1:3])

""" No formato mencionado acima,
o primeiro índice é incluído,
mas o último índice não é incluído. """

Várias instruções por linha Também podemos escrever várias instruções por linha, mas não é uma boa prática, pois reduz a legibilidade do código. Tente evitar escrever várias instruções em uma única linha. Mas, ainda assim, você pode escrever várias linhas encerrando uma instrução com a ajuda de ‘;’. ‘;’ É usado como o terminador de uma instrução neste caso. Por exemplo, considere o código a seguir.

# Exemplo 

a = 10; b = 20; c = b + a

print(a); print(b); print(c)

Saída:

10
20
30

Continuação de linha para evitar rolagem para a esquerda e para a direita
Algumas declarações podem se tornar muito longas e forçar você a rolar a tela para a esquerda e para a direita com frequência. Você pode ajustar seu código de forma que não precise rolar aqui e ali. Python permite que você escreva uma única instrução em várias linhas, também conhecido como continuação de linha. A continuação da linha também melhora a legibilidade.

# Má prática, pois a largura deste código é muito grande.
# código

x = 10
y = 20
z = 30

não_de_professores = x
não_de_estudantes_masculinos = y
não_de_estudantes_femininos = z

if (não_de_professores == 10 and não_de_estudantes_femininos == 30 and não_de_estudantes_masculinos == 20 and (x + y) == 30):
    print('Esse jeito é válido')

# Isso poderia ser feito em vez disso:
if (não_de_professores == 10 and não_de_estudantes_femininos == 30
    and não_de_estudantes_masculinos == 20 and x + y == 30):

    print('Esse jeito é válido')

Tipos de continuação de linha
Em geral, existem dois tipos de continuação de linha:

Continuação de linha implícita
Esta é a técnica mais direta para escrever uma declaração que se estenda por várias linhas. Qualquer instrução contendo parênteses de abertura '(', colchetes '[' ou chaves '{' é considerada incompleta até que todos os parênteses, colchetes e chaves correspondentes tenham sido encontrados. Até então, o instrução pode ser continuada implicitamente nas linhas sem gerar um erro.

Exemplo 1:

# Exemplo 1 
  
# Esse código é válido
a = [
    [1, 2, 3],
    [3, 4, 5],
    [5, 6, 7]
    ]

print(a)

Saída:

[[1, 2, 3], [3, 4, 5], [5, 6, 7]]

Exemplo 2:

# Exemplo 2
# O código abaixo tambem é válido

pessoa_1 = 18
pessoa_2 = 20
pessoa_3 = 12

if (
    pessoa_1 >= 18 and
    pessoa_2 >= 18 and
    pessoa_3 < 18
    ):
    print('2 pessoas devem ter carteiras de identidade')

Saída:

2 pessoas devem ter carteiras de identidade

Continuação de linha explícita
A união de linha explícita é usada principalmente quando a união de linha implícita não é aplicável. Nesse método, você deve usar um caractere que ajude o intérprete a entender que a instrução específica abrange mais de uma linha.
Barra invertida (\) é usada para indicar que uma instrução se estende por mais de uma linha. O ponto deve ser observado que a barra invertida deve ser o último caractere nessa linha, mesmo espaços em branco não é permitido.
Veja o exemplo a seguir para esclarecimentos.

# Exemplo

x = \
    1 + 2 \
    + 5 + 6 \
    + 10

print(x)

Saída:

24

Comentários em Python
Escrever comentários no código é muito importante e eles ajudam na legibilidade do código e também informam mais sobre o código. Isso ajuda você a escrever detalhes em uma instrução ou um pedaço de código. O intérprete ignora os comentários e não os conta nos comandos. Nesta seção, aprenderemos como escrever comentários em Python.
Os símbolos usados para escrever comentários incluem Hash (#) ou aspas duplas triplas ("""). O hash é usado para escrever comentários de uma única linha que não abrangem várias linhas. As aspas triplas são usadas para escrever comentários de várias linhas. Três aspas triplas para iniciar o comentário e novamente três aspas para encerrar o comentário.
Considere os seguintes exemplos:

# Exemplo 1

####### Esse exemplo não vai imprimir Hello World ####### print('Hello World')  # Porque isso é um comentário
# Exemplo 2
  
""" Esse exemplo vai
    demonstrar vários
    comentários """
  
""" A variável seguinte
    vai guardar o valor
    'How old are you?' 
"""
a = 'How old are you?'

""" A declaração seguinte
    imprime na tela
    o conteúdo da variável a """
print(a)

Nota: Observe que o hash (#) dentro de uma string não significa um comentário. Considere o seguinte exemplo para demonstração.

# Exemplo

""" A seguinte instrução imprime
    a string armazenada na variável """

a = 'Isso não # é um comentário #'
print(a) # imprime o conteúdo da variável a

Espaços em branco
Os caracteres de espaço em branco mais comuns são os seguintes:

Caractere Código ASCII Expressão Literal
Espaço em branco 32 (0x20) ''
Tab 9 (0x9) '\t'
Nova linha 10 (0xA) '\n'

* Você sempre pode consultar a Tabela ASCII clicando aqui.

O espaço em branco é quase sempre ignorado e não exigido pelo interpretador Python. Quando estiver claro onde um token termina e o próximo começa, os espaços em branco podem ser omitidos. Geralmente, esse é o caso quando caracteres especiais não alfanuméricos estão envolvidos.
Veja exemplos:

# Exemplo 1

# Correto, mas o espaço em branco pode melhorar a legibilidade

a = 1-2  # Melhor desse jeito a = 1 - 2

print(a)
# Exemplo 2

# Isso esta correto
# Espaços em branco podem melhorar a legibilidade
x = 10
flag =(x == 10)and(x<12)
print(flag)

""" Uma forma mais legivel pode ser assim:
x = 10
flag = (x == 10) and (x < 12)
print(flag)
"""

# Experimente o código mais legível

Espaços em branco são necessários para separar as palavras-chave das variáveis ou outras palavras-chave. Considere o seguinte exemplo.

# Exemplo

x = [1, 2, 3]
y = 2

""" Esse código esta errado e vai gerar um erro de sintaxe
a = yin x
"""

# Essa é a versão correta
a = y in x
print(a)

Espaços em branco como indentação
A sintaxe do Python é muito fácil, mas ainda assim você deve tomar alguns cuidados ao escrever o código. A indentação é usada na escrita de códigos Python.
Os espaços em branco antes de uma instrução têm um papel significativo e são usados na indentação. O espaço em branco antes de uma declaração pode ter um significado diferente. Vamos tentar um exemplo.

# Exemplo
  
print('foo') # Correto

   print('foo') # Isso vai gerar um erro

# O erro deve ser algo como 'unexpected indent'

Espaços em branco à esquerda são usados para determinar o agrupamento das instruções como em loops ou estruturas de controle, etc.
Exemplo:

# Exemplo

x = 10

while(x != 0):
    if(x > 5):   # Linha 1
        print('x > 5')  # Linha 2
    else:        # Linha 3
        print('x < 5') # Linha 4 
x -= 2       # Linha 5

"""
As linhas 1, 3 e 5 estão no mesmo nivel
A linha 2 vai ser executada apenas se x for maior que 5
A linha 4 vai ser executada apenas se x não for maior que 5
"""
x > 5
x > 5
x > 5
x < 5
x < 5

Artigo escrito por AnasShamoon e melhorado por harlinseritt
Traduzido por Acervo Lima de Structuring Python Programs