Neste artigo, o dataholic Rodrigo Satana irá abordar conceitos e aplicações na programação, com foco na linguagem de programação Python. Vem conferir!
O que é programação?
Programar é o ato de realizar a comunicação entre o ser humano e a máquina. Nós seres humanos, nos comunicamos de diversas formas, mas a comunicação oral é uma das que mais se destaca para repassar uma informação para outra pessoa. A comunicação oral pode ter ruídos entre o emissor e o receptor por diversos fatores, como por exemplo: gírias e jargões regionais, fator sociocultural, idiomas distintos, entre outros. E esses ruídos, fazem com que a mensagem não seja transmitida de forma ideal.
Para se comunicar com uma máquina não seria diferente, existe uma lacuna a ser preenchida para que essa comunicação possa ser assertiva, nós usamos a fala, gestos etc. Porém, o computador em si, faz uso do sistema de numeração binário, ou seja, tudo que ele reconhece é: 0 e 1. Neste momento, entramos com a programação propriamente dita, que será a “ponte” de comunicação entre o ser humano e o computador.
Ao realizarmos a programação conseguimos codificar as informações e pensamentos para compreendimento do computador e posteriormente sua execução.
Acompanhe para entender um pouco mais sobre programação e sobre a linguagem em si.
Primeiro contato com o Python
O Python surgiu em 1989 no CWI – Centrum Wiskunde & Informatica, que é o instituto nacional de pesquisa em matemática e ciência da computação, e fica localizado na cidade de Amsterdam na Holanda. O seu criador, Guido Van Hossum, optou por desenvolver esta linguagem de programação para atender uma demanda que estava exigindo um nível de complexibilidade muito alto para interpretação e aplicação. Ou seja, buscando facilitar o processo, surge o Python.
Certo, mas para que serve o Python?
O Python em si tem como princípios as seguintes finalidades:
1. É uma Linguagem de Proposito Geral, que lhe possibilidade aplicação em diversos setores diferentes, por exemplo:
· Inteligência Artificial;
· Biotecnologia;
· Tecnologia 3D.
2. É uma linguagem bem diversificada e consegue trabalhar muito bem com cálculos de números extensos, este é mais um dos fatores que a faz ser tão popular e utilizada no mundo da programação.
3. Python também é uma Linguagem Fácil e Intuitiva. Por mais que sua escrita nativa seja em inglês, a forma de programar em Python é considerada por muitos como uma escrita de uma carta, fazendo uso da língua Inglesa.
4. Outro ponto em destaque é a sua responsividade. Ela é uma Linguagem Multiplataforma, ou seja, é aceita em diferentes tipos de sistemas operacionais.
5. Possui o conceito de Batteries Included, é um termo usado como referência aos pacotes inclusos nativamente no Python quando ele é instalado, facilitando assim muitas ações durante a programação.
6. Linguagem Livre. É uma linguagem de programação de tipo código aberto (Open Source), ou seja, é possível utilizá-la para estudos, alterações, redistribuições e afins. E com uma comunidade muito grande espalhada em todo o mundo, o que facilita muito em atualizações e aplicações de melhorias.
O fato de a linguagem ser Open Source, e ter uma vasta comunidade fazendo uso e aplicações nos leva as Diversas Bibliotecas que o Python possuí. Hoje, existem inúmeras bibliotecas em Python criadas dentro da comunidade, isso auxilia muito no desenvolvimento e criação de um programa, pois é necessário apenas realizar a importação para dentro do seu código e fazer uso de suas funcionalidades.
Para se programar em Python, a pessoa deve ter senso de Organização. Programar em Python exige isso de você, pois a cada linha de código criada, precisamos ser cirúrgicos em indentações e padrões de leitura limpa que o próprio Python costuma ‘’gritar’’ quando está de forma desordenada.
E para fecharmos esse tópico, não podemos deixar de citar que Python é uma Linguagem de Programação Orientada a Objetos, pois tudo no Python é considerado um objeto, até a mais simples variável.
O conceito de POO é um paradigma de programação que tem como premissa, trabalhar com “objetos” que podem conter dados na forma de campos, que são também conhecidos como atributos, e códigos na forma de procedimentos, conhecidos também como métodos.
Uma das vantagens de se usar POO é na reutilização de códigos já criados, pois você poderá mover um objeto ou método existente para outro programa e adaptá-lo a sua necessidade, ganhando em tempo de codificação.
Instalando Python e o IDLE
Sistemas operacionais macOS e Linux, já saem configurados de fábrica com o Python, mas vale ressaltar que a versão pode ser/estar desatualizada, sendo assim importante verificar a versão instalada na máquina a disponível no site oficial. Porém, usuários do sistema operacional Windows, devem entrar no site oficial, e escolher dentre as versões disponíveis para download para posteriormente realizar a instalação no computador.
Após instalação do pacote Python no computador, é possível acessar o Terminal do seu sistema operacional para digitar seus primeiros códigos, mas juntamente ao Python, foi instalado também o IDLE, que é a IDE padrão do Python.
O IDLE tem como função, reproduzir as linhas de códigos que antes eram feitas nos Terminais, mas agora com uma cara mais amigável, colorindo algumas das palavras e auxiliando durante a codificação.
No mercado existem diversos tipos de IDE’s, posteriormente será apresentado outro modelo, mais robusto e intuitivo.
Primeiros Comandos em Python
Primeiros Comandos!
Print - é uma das principais funções dentro do Python, ao aplicá-la, temos o resultado impresso na tela.
Para realização de cálculos fazemos uso dos números (int), porém precisamos complementar com operadores matemáticos e sempre aplicar os cálculos dentro dos parênteses.
Caso precise fazer uso de texto (str), devemos sempre colocar o texto entre aspas. No caso do Python, podem ser aspas simples (‘) ou aspas duplas (“), mas o mais comum e utilizado na comunidade são as aspas simples.
Se houver tentativa de junção de textos e números, mesmo aplicando aspas para texto e deixando o número fora das aspas, haverá um erro de sintaxe, se esta junção de informação for feita através de um operador matemático, o sinal de “+” no caso. Porém, é possível realizar essa concatenação fazendo uso da seguinte premissa: separamos texto ‘Olá’ e o número ‘5’, por exemplo, entre uma “,” (vírgula), quando a função print for aplicada o retorno na tela será: Texto Número, ou seja: Olá 5.
Uma boa prática no Python é: Toda informação que não estiver dentro dos parênteses, deve ser escrita em letra minúscula.
Assim como o “print” citado inicialmente, todas as variáveis (no Python), são considerados objetos, e um objeto é mais que uma variável. Em outras palavras, uma variável consegue receber valores e esses valores são as informações que são armazenadas após o sinal de ‘=’ (igual) que representa os dados que serão armazenados.
Por exemplo:
nome = ‘Rodrigo’ (str)
idade = 32 (int)
peso = 95.5 (float)
Neste caso, as variáveis são: nome, idade e peso e os valores recebidos respectivamente são: ‘Rodrigo’ ... 32 ... 95.5
Para printar, ou seja, apresentar essas informações na tela usamos a função “print” da seguinte forma:
print(nome, idade, peso)
Resultado: Rodrigo 32 95.5
Se essa mesma aplicação for feita com sinal de “+” ao invés da virgula “,” como apresentando acima, mais uma vez cairemos no erro de sintaxe, devido a tipagem dos valores armazenados nas variáveis serem diferentes.
Exemplo:
print(nome + idade + peso)
Resultado: Erro de sintaxe de string e int, concatenados de forma errônea.
Também é possível criar interação com o usuário, para não ficar apenas armazenando as informações, podemos solicitar que ele faça a inserção dos dados para assim receber a informação na tela.
Complementando as primeiras linhas de código que foram feitas, ficará da seguinte forma:
nome = input(‘Qual é o seu nome?’)
Retorno será: Qual é o seu nome? <Aqui deverá ser informado o nome: Rodrigo>
idade = input(‘Quantos anos você tem?’)
Retorno será: Quantos anos você tem? <Aqui deverá ser informada a idade: 32>
peso = input(‘Quanto você pesa?’)
Retorno será: Quanto você pesa? <Aqui deverá ser informado o peso: 95.5>
print(nome, idade, peso)
Retorno será: Rodrigo 32 95.5
Até o momento utilizamos o IDLE no modo iterativo, onde usamos mais para experimentação/teste. Mas quando você for programar, devemos utilizar o modo script.
Para usar modo script siga o seguinte caminho:
Abra o IDLE Shell>>> File>>> New File.
Assim, será aberta uma nova janela para você iniciar seus scripts. Neste momento, todos os códigos que forem feitos, não serão aplicados/visualizados, mesmo que você utilize o print ao fim de cada função executada.
Para isso, será necessário criar um local para salvar seus scripts (crie uma pasta, por exemplo: scripts-python), e dentro desta pasta você irá gravar o seu script.
Certo, mas como faço para executar o script que eu criei?
Basta ir ao menu superior do seu script e selecionar a guia ‘Run’ e depois ‘Run Module’, ou simplesmente usar a tecla de atalho ‘F5’, que terá o mesmo efeito.
Após executar está ação, o seu IDLE Shell abrirá e iniciará o seu script.
Como no exemplo acima, foi um script onde foram criadas variáveis com solicitações de input de dados ao usuário, o usuário deverá informar os dados para que o script continue rodando até o fim de sua execução, no caso: Nome, Idade, Peso.
IDE - PyCharm Community Edition
Conforme citado anteriormente, iriamos abordar outra IDE. Esta em questão, é a PyCharm, uma IDE criada pela empresa JetBrains. O PyCharm facilitará sua vida, por proporcionar uma consolidação de inúmeras funcionalidades, veja alguns exemplos abaixo:
· Assistente Inteligente para código;
· Auxílio para escrita de códigos limpos e de fácil manutenção;
· Manter o controle de qualidade com base do PEP8;
· Frameworks de desenvolvimento Web;
· Ferramentas científicas;
· Desenvolvimento multitecnologias;
· Recursos de desenvolvimento remoto;
· Ferramentas incorporadas para desenvolvedores.
Essas e outras informações estão disponíveis no site oficial.
Assim como o link para download de acordo com o seu sistema operacional:
Tratamento de Dados e Cálculos
Vamos falar agora de Tipos Primitivos e Saídas de Dados.
Dentro do mundo da programação, existem basicamente 04 tipos primitivos. No Python em questão, possuem outras, mas neste momento vamos abordar as 04 mais utilizadas e conhecidas. Sendo elas:
· int()
· float()
· bool()
· str()
Ok, mas o que significa cada uma delas?
· int() são valores do tipo inteiro, que são os números positivos, negativos ou nulos.
· float() são valores do tipo real, ou seja, valores separados por vírgula. Porém, no Python utilizamos no lugar da vírgula o “.” (ponto), já que é seguido o padrão internacional.
Assim os valores que devemos considerar do tipo float() são os números separados por “.” (ponto), seja ele valor do tipo positivo ou negativo.
· bool() aqui a lógica aplicada segue a premissa de dois valores, ou seja, você terá apenas duas opções dentro de aplicações booleanas: Sim/Não, Verdadeiro/Falso, Alto/Baixo. No Python para verdadeiro e falso, aplicamos “True” ou “False”. (Com as primeiras letras em Maiúsculo).
· str() e por fim temos o tipo string, que são valores do tipo texto, esta forma, deve ser representada sempre dentro de ‘’ (aspas simples) para que você tenha um retorno da mensagem que deseja imprimir ao fim de cada aplicação.
OBS: Um ponto importante a ser considerado para tipo string é: se o valor informado for um número, e este estiver dentro de aspas, o tipo primitivo do número ainda sim será string.
E caso seja realizado um cálculo com este valor, será preciso convertê-lo para o tipo int(). Existe também a possibilidade de representar um campo vazio com aspas ‘ ‘, assim o valor vazio dentro das aspas também será considerado do tipo string.
Agora que já vimos os tipos primitivos e possíveis saídas de valores, vamos seguir com os Operadores Aritméticos.
+ Adição
Adição, nada mais é do que a soma entre 2 ou mais valores. Resultando assim num valor acumulado.
- Subtração
Subtração, diferente da adição, a função da subtração é de retirar valores entre 2 ou mais valores.
* Multiplicação
A multiplicação, é a forma de realizar o cálculo entre os valores em uma quantidade especificada entre os valores.
/ Divisão
Divisão é a forma de dividir o produto total por determinado número de vezes, e o retorno será o mais próximo possível do que se pode arredondar, independentemente se produto era do tipo inteiro e o resultado seja um float.
** Potência ou Exponenciação
Potência ou Exponenciação, realiza a multiplicação do valor por ele mesmo de acordo com o número de vezes que ele estiver elevado.
// Divisão Inteira
É o resultado máximo da divisão, ou seja, a quantidade máxima possível da divisão do produto por um determinado número de vezes sem chegar ao ponto de criar valores do tipo float.
% Resto da Divisão
E o resto da divisão inteira entra como resto da divisão. Em outras palavras, após realizar toda divisão inteira, o que sobrar desta divisão é o resultado, se aplicado o cálculo com este operador aritmético.
Além de se atentar a importância dos operadores aritméticos, também devemos nos preocupar com a procedência; ordem de aplicação dos operadores durante suas resoluções.
E qual é a ordem de uso destes operadores?
Podemos aplicar a seguinte sequência:
1º - Parênteses: ()
2º - Potência: **
3º - Multiplicação, Divisão, Divisão Inteira e Resto da Divisão: *, /, // e %
4º - Adição e Subtração: + e -
Módulos em Python
O que são módulos em Python?
Os módulos são suplementos que baixamos da comunidade, e instalamos em nossa máquina para complementar e assim agregar em funções, tarefas e atividades que precisamos desempenhar.
Existe uma gama muito grande de módulos disponibilizados, é preciso saber exatamente o que você irá aplicar para encontrar o que melhor lhe atende.
Neste mesmo cenário é importante ressaltar que dentro dos módulos existe um “pack” de funções, por exemplo, o módulo math que é voltado para operações matemáticas, podemos importar o módulo completo, ou então, realizar um filtro e antes de criar seus códigos, apontar as funções que irá utilizar, assim não fazendo uso do módulo completo e otimizando o desempenho do computador, que consumirá o programa.
E como mencionado acima, é possível compartilhar módulos, e para isso temos no site oficial python.org a guia Pypi, basta acessar a guia e ler as informações e regras para subir o seu módulo e compartilhar com a comunidade.
Manipulação de Texto
Quando abordamos o tema texto em linguagem de programação, também podemos chamar de strings, que nada mais é do que a palavra/frase que iremos apresentar durante a manipulação. Strings é uma cadeia de caracteres que delimitamos cada dígito, incluindo os espaços que são contabilizados como uma string.
Por exemplo: ‘Eu Programo em Python’
Na frase acima, podemos considerar o total de 21 caracteres, pois como citado, os espaços entre cada palavra também são contabilizados, além de cada letra propriamente dita.
Outro ponto importante, que ao realizar a contagem de cada caractere, devemos iniciar contanto sempre do número 0, ou seja, para frase acima a palavra “Eu”, ficaria como 0 = E, u = 1, o primeiro espaço “ “ = 3 e assim sucessivamente.
Por esse tipo de comportamento que vemos no Python e em outras linguagens de programação, temos alguns tipos de manipulações possíveis de serem realizadas.
Abaixo vamos ver algumas das possibilidades:
- Fatiamento: É a forma de pegar pedaços da string que você está analisando, por exemplo, ‘Eu Programo em Python’. Caso seja necessário realizar fatiamento desta frase, é possível utilizar algumas técnicas para selecionar o pedaço desejado para ter como resultado.
Vamos considerar a frase: ‘Eu Programo em Python’ para os exemplos abaixo, e sempre que referenciar ‘frase = ....’ a frase é a variável para a frase armazenada em memória.
Ex.1:
frase[3] – Aqui o retorno seria a letra: “P” da palavra Programo, já que o 3 é o índice que retorna o valor armazenado nesta referência. Vale a ressalva que o Python faz distinção de letras maiúsculas e minúsculas. Mesmo assim, existem meios de realizar formatações para colocar em letras minúsculas, maiúsculas, entre outras opções.
Ex.2:
frase[3:10] – Neste fatiamento aplicado, teremos o retorno da palavra Programo, mas não será considerada a palavra inteira, já que foi solicitado até o índice 10, e o 10 é o delimitador da palavra, sendo assim, o range percorrido será: P-r-o-g-r-a-m, excluindo o “o” da palavra.
Ex.3:
frase[3:21] – Aqui surge uma dúvida pelo fato de nossa cadeia de caractere ir até o índice 21, e mesmo assim referenciarmos até o 21.
E a dúvida que fica é:
Será retornado um erro? Ou seguirá a premissa de leitura do apontamento e retornando até o limite da string?
Sim, como foi feito anteriormente com a palavra ‘Programa’, que mostramos o corte da letra ‘o’ já que marcamos até o limite da palavra, aqui a leitura será feita até um índice acima e retornará a frase: ‘P-r-o-g-r-a-m-o-_-e-m-_-P-y-t-h-o-n’.
Esta não é a melhor prática para realizar este tipo de fatiamento, mas iremos ver a seguir outras possibilidades.
Ex.4:
frase[3:21:2] – E agora? O que seria esse 2 que foi incluído dentro dos colchetes?
Esse 2 que foi acrescentado, será o critério de quantas casas o fatiamento a ser executado será aplicado, por exemplo: ‘Programo em Python’ será fatiado e ficará, ‘P-o-r-m-_-m-P-t-o’.
Será considerado como critério aplicado: dentro do range de caractere, caminhar sempre de 2 em 2 casas.
Ex.5:
frase[:12] – Neste fatiamento aplicado, teremos o retorno de tudo que estiver à esquerda da string, avançando até o índice 12, lembrando que o 12 não é incluso, assim teríamos o retorno da frase: ‘Eu Programo’.
Ex.6:
frase[16:] – Se não apontando algum valor antes dos dois pontos, ele traz tudo que tem antes do índice de parada a premissa inversa também é verdade, ou seja, se marcamos inicialmente o índice e depois “:” o nosso retorno será, inicie no índice 16 e vá até o final da cadeia de caractere da string alocada na variável frase, assim teremos o retorno: ‘P-y-t-h-o-n’.
Ex.7:
frase[4::3] – Aqui temos identificado qual índice será iniciado, porém não temos onde ele deve parar/terminar, mas ao fim vemos o número 3, o qual representa que a partir do índice 4 deverá contar sempre de 3 em 3 casas de caracteres, em nossa variável frase teremos o seguinte retorno: ‘P-g-m-e-P-h’.
Agora vamos ver outras possibilidades de uso das cadeias de string, fazendo uso de funções com um olhar mais analítico.
Ex.8:
len(frase) – Aqui vemos o uso de uma função para retornar a variável, a função “len”, vai fazer leitura de toda cadeia de caractere e retornar a palavra ou frase armazenada na variável apontada. Ou seja, faz o apontamento do comprimento da frase.
Para nosso exemplo: frase = ‘Eu Programo em Python’, ao usar len(frase), o retorno seria: 21 caracteres.
Ex.9:
frase.count(‘o’) – Desta vez faremos uso da função “count”, sendo assim, seria realizada a contagem de todas as letras ‘o’, dentro da variável frase.
Em nosso exemplo o retorno seria: Total de 3 letras ‘o’, nas palavras Programo e Python respectivamente.
Obs: Como já citado, o Python faz distinção de letras maiúsculas e minúsculas, então se ao realizar a busca de letras ‘o’ minúsculas, e dentro da variável tivéssemos alguma letra ‘O’ maiúscula, as letras em maiúsculos não seriam contabilizadas.
Ex.10:
frase.count(‘o’, 0, 11) – Este exemplo é parecido com o anterior, porém vemos que foram acrescentados mais 2 critérios dentro da count, o que exatamente esses critérios querem dizer?
Dentro da variável frase, busque por letras ‘o’, iniciando no índice 0, e terminando no índice 11.
Com isso teremos o seguinte resultado: Total de 1 letra ‘o’. Pois o delimitador foi exatamente até a letra ‘o’ da palavra programo, mas como já vimos, não é considerado o último índice apontado, assim ele sofre o fatiamento na hora do ‘’filtro’’ aplicado.
Ex.11:
frase.find(‘amo’) – A função find irá retornar à primeira ocorrência da busca especificada dentro da variável citada: ‘amo’. Para nosso exemplo, o Python retornará que encontrou dentro do índice 9, que é o primeiro índice de acordo a descrição.
Ex.12:
frase.find(‘Android’) – Dentro da nossa string não existe a palavra ‘Android’. Como nossa string não possui a palavra citada na função, e a find tem o princípio de busca na cadeia de caracteres apontada, o resultado retornado será “-1”, que por sua vez é o valor padrão para buscar realizadas e não encontradas com a função.
Ex.13:
‘Programo’ in frase – Aqui estamos fazendo uso do operador “in”, em outras palavras temos a seguinte mensagem: Dentro da variável (frase), temos a palavra ‘Programo’?
E o retorno para essa pergunta é uma resposta booleana, no caso apresentará a palavra, True.
Vamos ver agora algumas opções de Transformação.
Antes de iniciarmos é bom deixarmos claro que uma lista de string é imutável, ou seja, não pode ser modificada. Porém é possível realizar modificações através de métodos, a seguir vamos ver algumas possibilidades.
Ex.14:
frase.replace(‘Python’, ‘Android’) – A replace realiza a substituição das palavras apontadas, no exemplo citado, onde for encontrado a palavra ‘Python’ seria substituído por ‘Android’.
Um ponto interessante é que mesmo se a palavra que será alocada no lugar da anterior, for maior e precisar de mais índices, expandindo o seu range dentro da cadeia de caracteres, o próprio Python realiza esse ajuste.
Ou seja, uma string nos microelementos é imutável, mas se for realizada uma função de transformação de string e realizada uma atribuição, é possível executar essa alteração. Mas, sempre respeitando e obedecendo os princípios de imutabilidade, permanecendo a string original sem qualquer tipo de modificação.
Ex.15:
frase.upper() – Ao usar o método Upper, a variável apontada será transformada e tudo que estiver apontado/armazenado na string em questão passará a ser apontado com letra maiúscula.
No nosso exemplo: ‘Eu Programo em Python’ seria transformado em:
‘EU PROGRAMO EM PYTHON’
Ex.16:
frase.lower() – Assim como temos o método Upper, também podemos fazer uso do método Lower, que nada mais é que o inverso. Possibilitando assim colocar todas as letras em letra minúscula.
No nosso exemplo: ‘Eu Programo em Python’ seria transformado em:
‘eu programo em python’
Ex.17:
frase.capitalize() – Na Capitalize, a premissa adotada para o método é: Deixe apenas a primeira letra de toda cadeia de caractere da string em maiúscula, as demais passe tudo para minúscula.
Exemplo: ‘Eu Programo em Python’ seria transformado em:
‘Eu programo em python’
Ex. 18:
frase.title() – O método Title realiza uma análise palavra por palavra, identificando cada espaço para gerar uma ‘’quebra’’ e após realizar essas identificações, ele coloca a primeira letra de cada palavra em maiúscula.
Exemplo: ‘Eu Programo em Python’ seria transformado em:
‘Eu Programo Em Python’
Para os exemplos abaixo, vamos considerar a seguinte string:
‘- - - -Programação Python- - -’
Veja que no início e no fim da string, deixamos alguns espaços propositalmente.
Ex. 19:
frase.strip() – Fazendo uso da função strip, podemos realizar a remoção de espaços desnecessários dentro da string.
Exemplo: ‘-_-_-_-Programação Python-_-_-‘ será transformado em:
‘Programação Python’
Os espaços entre as palavras são mantidos, pois é de total importância a separação das palavras para mantermos assim o entendimento da string, mas os espaços desnecessários como foi citado, são removidos.
E os índices são reorganizados, no exemplo acima, o “P” de programação ficaria com o índice 0, e os demais assumiriam a sequência até o fim da string.
Ex. 20:
frase.rstrip() – Assim como a função strip, temo a rstrip, que basicamente realiza o mesmo procedimento da função anterior, mas removendo apenas os espaços desnecessários à direita da string.
Exemplo: ‘-_-_-_-Programação Python-_-_-‘, após transformação ficaria:
‘-_-_-_-Programação Python’
Aqui os índices terão início nos espaços vazios, contabilizando o total de 21 índices.
Ex. 21:
frase.lstrip() – Assim como temos a rstrip, a lstrip também existe, ela executa a mesma função, mas dessa vez do lado esquerdo da string.
Exemplo: ‘-_-_-_-Programação Python-_-_-‘, após transformação:
‘Programação Python-_-_-‘
Mais uma vez os índices são reorganizados e a contagem parte do “P” de programação indo até o último espaço, totalizando 20 campos do índice.
Para concluir, vamos retornar a string que estávamos utilizando para os primeiros exemplos: ‘Eu Programo em Python’
Seguindo agora com opções de divisões dentro das strings.
Ex. 22:
frase.split() – O split realiza uma divisão de todas as palavras da sua string.
No nosso exemplo: ‘Eu Programo em Python’ assumiria a seguinte transformação:
[‘Eu’, ‘Programo’, ‘em’, ‘Python’]
Ficando um grupo de 4 strings, e ao invés de contabilizar o total 21 índices (0 ao 20), a contagem passará a ser feita por palavras, ou seja:
E = 0, u = 1
P = 0, r = 1, o = 2, g = 3, r = 4, a = 5, m = 6, o = 7
E = 0, m = 1
P = 0, y = 1, t = 2, h = 3, o = 4, n = 5
E cada uma dessas palavras é inserida dentro de uma nova lista, que “abraça” o grupo de índice de cada palavra, no caso do nosso exemplo, receberá o total de 4 listas que também serão identificadas por índices do 0 ao 3.
Eu = 0
Programação = 1
em = 2
Python = 3
Além da divisão, também é possível realizar a junção de palavras, e veremos a seguir como.
Ex.23:
‘-‘.join(frase) – Join serve para unificar, juntar elementos uns aos outros. Usando o nosso exemplo 22, que foi feita a divisão em 4 elementos.
Exemplo: ‘Eu/Programo/em/Python’, após aplicar o ‘-‘join:
‘Eu-Programo-em-Python’
Como fizemos uso do delimitador ‘-‘, todas as palavras/elementos que estavam armazenados na variável frase, foram unificadas através do join com um hífen em cada separação encontrada.
Novamente temos uma string única. E se ao invés dos hifens, o delimitador fosse um espaço, bastaria colocar dentro das aspas simples do join um espaço, que o retorno da string unificada seria: ‘Eu Programo em Python’.
Condicional em Python: If / Else
Uma estrutura condicional If e Else, é correspondente a um bloco de código que se inicia com uma expressão com o intuito de avaliar se a condição citada é verdadeira ou falsa.
Exemplo de estrutura condicional:
if carro.esquerda():
bloco True
else:
bloco False
Durante a execução do bloco, apenas um dos conjuntos é executado, nunca as duas condições, veja exemplo:
tempo = int(input(‘Quantos anos tem seu carro?’))
if tempo <= 3:
print(‘carro novo’)
else:
print(‘carro velho’)
print(‘—FIM—‘)
Existe também a possibilidade de escrita de código simplificada, ou seja, declarando todas as informações em uma mesma linha. Veja o exemplo abaixo, a saída será igual ao exemplo de cima, porém a escrita do código é feita de forma mais enxuta.
tempo = int(input(‘Quantos anos tem seu carro?'))
print(‘carro novo’ if tempo <= 3 else ‘carro velho’)
print(‘—FIM—‘)
Chamamos de estrutura condicional simples, quando fazemos uso do If, mas não necessitamos declarar o Else, ou seja, basta ter apenas uma condição para ser executada se ela for verdadeira, caso contrário execute a próxima rotina do programa.
Veja exemplo abaixo:
nome = str(input('Qual é seu nome? '))
if nome == 'Rodrigo':
print('Que nome lindo você tem!')
print('Tenha um ótimo dia, {}!'.format(nome))
No entanto, quando temos uma estrutura condicional que tem mais de uma condição inclusa no bloco, ela é considerada como: Estrutura de Condicional Composta.
Dessa forma podemos fazer a leitura da seguinte forma:
Se (If), a condição for == x, execute o primeiro bloco.
Caso contrário (Else), execute este outro bloco.
Veja exemplo abaixo:
nome = str(input('Qual é seu nome? '))
if nome == 'Rodrigo':
print('Que nome lindo você tem!')
else:
print('Seu nome é tão normal!')
print('Bom dia, {}'.format(nome))
Vamos ver um exemplo de estrutura condicional composta um pouco mais elaborada, desta vez para obter informações do cálculo de média do aluno.
nota1 = float(input('Digite a primeira nota: '))
nota2 = float(input('Digite a segunda nota: '))
media = (nota1 + nota2) / 2
print('A sua média é de {:.1f}'.format(media))
if media >= 7.0:
print('Você tirou uma nota alta, Parabéns!')
else:
print('Você tirou uma nota baixa, Mais Sorte da Próxima Vez!')
E aqui temos o mesmo modelo, porém codificado de forma simplificada.
nota1 = float(input('Digite a primeira nota: '))
nota2 = float(input('Digite a segunda nota: '))
media = (nota1 + nota2) / 2
print('A sua média é de {:.1f}'.format(media))
print('PARABÉNS' if media >= 6 else 'ESTUDE MAIS!')
Cores no Terminal com Python
E para fechar essa trilha, vamos colocar um pouco de cor em tudo!
Vamos ver como aplicar cores no Python. Existe a possibilidade de ser feito através de módulos como o colorize, mas inicialmente iremos fazer uso da forma tradicional e aplicação do padrão ANSI, padrão de normalização internacional, que possui escape sequence, que é aplicável para vários ambientes.
Dentro do Python, é utilizado da seguinte forma:
\ - inicial utilizando a contrabarra;
\033 - entra com o código de entrada para cores 033;
\033[ - abre colchetes;
\033[0 - acrescenta um número para formatação do estilo;
\033[0; - insere ponto e vírgula;
\033[0;33 - insere um novo número/código que é para o texto;
\033[0;33; - novamente inserimos ponto e vírgula;
\033[0;33;44 - o código do backgraund, que é a cor de fundo do texto;
\033[0;33;44m - e por fim inserimos a letra m para fechar o código.
Para trabalharmos com formatação de cores fazendo uso do padrão ANSI no Python, vamos utilizar o código \033[. Existem outras opções, porém esta é a que melhor performa dentro da linguagem.
A ordem desses códigos (após o colchete), pode ser alterada já que existe diferenciação entre os códigos de cada função, mas seguiremos a sequência demostrada no exemplo acima.
Também temos a opção de inserir os 3 códigos, 2, 1 ou nenhum. Ficando a critério da necessidade.
E por fim fechamos com o ‘m’ minúsculo.
\033[0;33;44m
Abaixo segue relação da Tabela com as opções para uso de: Estilo, Texto e Cor de Fundo (Style, Text, Background) padrão ANSI.
Style:
0 = Nada;
1 = Bold (Negrito);
4 = Sublinhado (Underline);
7 = Negative (Inverte Configurações de Fundo com a Letra e vice-versa).
Text:
30 = Branco;
31 = Vermelho;
32 = Verde;
33 = Amarelo;
34 = Azul;
35 = Magenta;
36 = Ciano;
37 = Cinza.
Background:
40 = Branco;
41 = Vermelho;
42 = Verde;
43 = Amarelo;
44 = Azul;
45 = Magenta;
46 = Ciano;
47 = Cinza.
Essa lista é a relação de configurações do padrão ANSI, que é compatível com o Python, assim como outras várias linguagens de programação.
Exemplos:
\033[0;30;41m – Letra Branca sem formatação e fundo vermelho;
\033[4;33;44m – Letra Amarela com sublinhado e fundo azul;
\033[1;35;43m – Letra Magenta com negrito e fundo amarelo;
\033[30;42m – Letra Branca sem formatação e fundo verde;
\033[m – Letra Cinza e fundo preto (padrão do terminal);
\033[7;30m – Letra Branca com fundo preto (usando negative no estilo).
Conclusão
Bem, até aqui conseguimos ver alguns dos fundamentos básicos da linguagem de programação Python, abordando parte de sua história, alguns de seus ambientes de desenvolvimento e conceitos alinhados a suas aplicabilidades. Porém tudo isso é apenas o início para quem deseja atuar com Python.
Podemos dizer que tudo isso é apenas a ponta do iceberg, e ainda têm diversas funcionalidades e boas práticas que podemos aplicar em cima de tudo que já vimos até aqui, para performar e obter o melhor de seus programas.
O Python como um todo, é uma linguagem de programação muito poderosa e abrange muitos setores de uso, como por exemplo:
· Indústria de Jogos;
· Desenvolvimento Web e Frameworks;
· Big Data;
· IoT – Internet of Things;
· Inteligência Artificial e Machine Learning;
· Ciência de Dados;
· Teste Web e Mobile.
A gama de opções é enorme e a busca das empresas por profissionais qualificados também, mas a falta para suprir tal demanda também é verdadeira.
Desta forma, espero que esta breve introdução sobre a linguagem Python desperte em você a curiosidade para buscar mais informações e conhecimento sobre o assunto.
E por fim, obrigado por ler até aqui! Espero que a leitura tenha sido proveitosa e tenha agregado algum conhecimento. Não se esqueça de compartilhar com seus amigos programadores, e acompanhar os próximos artigos sobre programação para se tornar um expert. Até a próxima!💙💻