Indo diretamente ao assunto, vou descrever em 1 parágrafo a lógica de programação, seguindo por mais alguns parágrafos com o básico da linguagem. Por fim, discorro sobre o bpython e então você deverá clicar no link do vídeo para assistir a primeira interação e se inscrever no canal (ok, se inscrever é opcional, mas me recompensaria).
Table of Contents
Lógica de programação
A lógica de programação é a forma de raciocinar para criar um fluxo de processo (ou procedimento). Não vou me aprofundar, mas para que fique claro, imagine o processo de escovar os dentes ao acordar (e lá se vai minha promessa de um parágrafo):
- Acordei
- Abri os olhos
- Levantei
- Fui ao banheiro
- Escovei os dentes
Esses são os processos, mas por trás disso existem muitos detalhes. Para programar, esses detalhes são importantes. Vamos expandir o processo “escovar os dentes”.
- Peguei a escova
- Abri a pasta de dentes; se tiver pasta, coloco um pouco, senão, pego uma nova e repito o processo.
- Abri a torneira; se tiver água, molho a escova, senão, entro em pânico.
- Fecho a torneira, inicio a escovação.
- Abro a torneira.
- Enxáguo a boca e a escova.
- Fecho a torneira.
- Fim.
Repare que abrir a torneira é um processo que se repete, portanto, uma parte de código que pode ser reaproveitada através de uma função (veremos em algum momento).
se / senão / senão se
Escrevemos os recursos da linguagem em inglês. Como no exemplo supracitado vemos o emprego das condicionais, iniciei o tópico da linguagem por ele.
As condicionais if / else / elif são como em qualquer linguagem; elas esperam um retorno para uma condição. Uma condição verdadeira depende da lógica empregada, mas o retorno é sempre 0 ou 1. Mas e seu eu tiver uma lógica assim?

Simples; a condicional questiona se length é maior que 10. Verdadeiro é 1, falso é 0. Como a condição era verdadeira, a condição seria então exibir o valor de length.
Quando pensar em lógica condicional, lembre-se de que o retorno deve ser 0 ou 1. nesse caso, deve-se conhecer lógica booleana. No site dicas de programação tem um artigo detalhado sobre o tema. Recomendo a leitura, porque definitivamente não tenho paciência para descrever isso.
Basicamente, temos algumas condições complementadas com operadores lógicos, por exemplo:
if length > 10 and length < 20:
print(length)
Quando usamos and, a segunda condição também deve ser verdadeira: “se ISSO e ISSO forem verdade“. Nesse caso, 1 & 1 = 1.
Mas podemos definir uma condição complementada em que basta atender uma das condições:
if length < 20 or length > 0:
print(length)
Assim sendo, basta que 1 condição seja atendida: “se ISSO ou ISSO for verdade“.
Uma lógica se isso, senão aquilo ficaria assim:
if length > 18:
print("maior")
else:
print("menor")
Uma lógica com senão se ficaria assim:
if length > 18:
print("grande")
elif length > 8:
print("medio")
else:
print("pequeno")
Como a primeira condição não foi atendida, sabemos que se for maior que 8 já está igual ou maior que a metade. Se a segunda condição não foi atendida, então é inferior à metade.
bpython
Não importa se está usando Linux, Windows ou Mac. Se seguiu o procedimento do artigo anterior, deve ter instalado o pip em seu sistema. Se não tiver, siga o artigo anterior. No Linux, instale o python3-pip:
sudo apt-get update && sudo apt-get install -y python3-pip
Tendo o pip instalado em qualquer sistema que seja, para instalar o bpython use:
pip3 install bpython
#ou..
sudo apt-get install bpython3
Feita a instalação, execute o programa:
bpython
Se digitar python invés de bpython, abrir-se-á o interpretador convencional. Dá pra fazer muita coisa, mas o bpython é incrível para testes inflow e tem auto completion, expande o uso do recurso etc.
Vídeo
Chegou a hora de ir ao vídeo para ver uns testes usando o bpython, que é a ferramenta que recomendo para ajudar a abrir a mente. Não se esqueça de se inscrever no canal, hum?
Artigos relacionados
Serial com Python, Arduino e HC12
Biblioteca para PCF8575
Expansor de IO PCF8575 e bitwise