11 conceitos para iniciantes em Python

UraPython Community
11 min readNov 18, 2019

--

Python é uma linguagem de programação que vem ganhando comunidades por todos os cantos do mundo. Muito dessa popularidade se deve por sua simplicidade e praticidade. Aprender a programar é importante para automatizar coisas chatas e termos mais tempo para coisas que nos deixam feliz.

Photo by Hitesh Choudhary on Unsplash

Neste post passaremos por vários conceitos importantes da linguagem Python. O texto é voltado para iniciantes, portanto começaremos com a instalação do Python no seu computador. Este post está divido nas seguintes partes:

  • Preparando seu computador
  • 1. Strings
  • 2. Variáveis
  • 3. Built-in functions
  • 4. Tipos de variáveis
  • 5. Descobrindo e usando métodos
  • 6. Operando objetos
  • 7. Fatiando objetos
  • 8. If … Else …
  • 9. Loop For
  • 10. Funções
  • 11. Bibliotecas

Preparando seu computador

Você deve ter o Anaconda Python 3.7 instalado. Se não tiver, basta fazer o download do instalador nesse link. A instalação é bem simples bastando clicar “Next” várias vezes.

Depois, basta procurar por “Anaconda Navigator” e, após abrí-lo, clicar em “Jupyter Notebook”. Como na imagem abaixo:

Ao clicar em “Jupyter notebook” a interface deste programa se abrirá no seu navegador de internet padrão. Daí então é só clicar em “New” e escolher Python 3, como mostra a figura abaixo:

Abrirá uma nova aba no seu navegador, como na figura abaixo, daí, basta digitar comandos e apertar “run”, indicado pelo quadrado vermelho na imagem. Neste exemplo, pedimos para o computador imprimir “Hello, world!”

Estamos prontos para começar!

Todos os códigos nesse trabalho podem ser copiados clicando aqui, mas é extremamente recomendado que, quando estiver aprendendo, digite os códigos para fixar os comandos.

1. Strings

A palavra “string” significa sequência de caracteres. Um caracter é qualquer símbolo gráfico usado para compor textos, por exemplo: !@#$%¨&*()_+012ABCabc

Uma string em Python é reconhecida quando digitamos uma sequência de caracteres entre aspas duplas. Por exemplo: “Hello, world!”

É possível, também, utilizar aspas simples: ‘Hello, world!’

Os caracteres “quebra de linha” e “tabulação” são indicados respectivaemente por “\n” e “\t”.

2. Variáveis

Frequentemente, quando estamos programando, temos a necessidade de armazenar objetos (por exemplo, strings) em variáveis. Para fazê-lo em Python usamos um identificador, seguido do sinal de atribuição, seguido do objeto que queremos armazenar. Por exemplo, para armazernar a string “Hello, world!” na variável x, executamos o seguinte código:

Um identificador não pode começar com números, nem conter caracteres especiais como espaços e tabulações. É comum usarmos underline (travessão), números no final do identificador e letras do nosso alfabeto, podendo ser maiúsculas e minúsculas. Por exemplo:

O identificador da variável acima é saudacoesPessoal. A variável armazena a string “Hello, world!”

3. Built-in Functions

Built-in functions são funções prontas da linguagem Python. Vejamos, por exemplo, a built-in function len. Essa função conta quantos iteráveis tem num iterável. Podemos pensar num iterável como sendo um objeto que possamos separar suas partes. Por exemplo, podemos separar os caracteres de uma string. Vejamos como utilizar a função len para contar quanto caracteres possui a string “Hello, world!”

Legal! O número total de caracteres é 13. Observe o quanto é fácil contar caracteres com Python sem ter que contar um por um.

Devemos passar o iterável entre parênteses. É possível passar uma variável como parâmetro para uma built-in function como no exemplo a seguir:

Outra built-in function muito utilizada é print. Essa função imprime o objeto.

4. Tipos de variáveis

Para saber qual o tipo de uma variável, basta utilizar a built-in function type. Vejamos o que type retorna ao ser aplicada numa string:

Como já vimos, é possível aplicar uma built-in function numa variável. Aplicando type numa variável, descobriremos qual o tipo dela.

Para inserir comentários num código, usamos #. Linhas com comentários não são executadas pelo interpretador Python:

A seguir veremos outros tipos de variáveis em Python. Os códigos serão comentados para compreendermos melhor que tipo de variável estamos apresentando. Primeiramente, as variáveis numéricas:

Agora, variáveis booleanas:

Sequências ordenadas de objetos Python:

Por fim, dicionários:

5. Descobrindo e usando métodos

Todo objeto tem seus métodos. A built-in function dir apresenta uma lista desses métodos. Existem métodos privados e públicos. É uma boa prática usar apenas aqueles métodos que são públicos. Para saber quais são eles, procure por aqueles que não começam com underline. Vejamos, por exemplo, quais são os métodos de um objeto do tipo inteiro.

Os métodos públicos aparecem no final:

Há apenas 8 métodos públicos: bit_length, conjugate, denominator, from_bytes, imag, numerator, real e to_bytes.

Ao consultar os métodos de um objeto do tipo lista, notamos um método chamado count. Para saber como usar o método, podemos utilizar a built-in function help.

A ajuda fala que o método count precisa de um value. Ao passar um valor para o método, este retorna o número de ocorrências daquele valor na lista. Vejamos na prática, contaremos quantos inteiros 2 temos na lista L.

O inteiro 2 passado para o método count é chamado de parâmetro do método. Alguns métodos não possuem parâmetros. Por exemplo, o método upper de strings transforma a string deixando todas as letras maiúsculas.

Observe o quanto é fácil passar todo um texto enorme para maiúsculo sem ter que digitar tudo novamente.

É preciso também se atentar à sintaxe para utilização de métodos. Começa com a variável, seguida de um ponto, seguida do método, seguido de parênteses. Dentro dos parênteses são passados, se houver, os parâmetros. Essa sintaxe é necessária para que o interpretador Python entenda o que estamos pedindo para ele executar.

6. Operando objetos

Da mesma forma que operamos números inteiros, podemos operar objetos em Python. Por exemplo, podemos somar dois objetos do tipo inteiro utilizando o sinal de soma +:

A variável total é do tipo inteiro. Mas, não necessariamente uma operação retorna o mesmo tipo de objeto daqueles que foram operados. Por exemplo, na divisão de dois inteiros, o objeto retornado é do tipo float.

Ao operar strings, elas são concatenadas:

O mesmo acontece com listas e tuplas:

Além dos operadores aritméticos, temos os operadores lógicos. Novamente, os códigos a seguir serão comentados:

Exemplos de operadores de igualdade e desigualdade:

Exemplos de operadores de pertinência:

7. Fatiando objetos

Objetos iteráveis podem ser fatiados. Isso quer dizer que podemos acessar partes destes objetos. Considere a variável do tipo string a seguir:

Para acessar partes da string acima, utilizaremos os índices desta. Os índices começam em 0. É possível contar de trás para frente, sendo que o último caractere tem o índice -1.

Vejamos alguns exemplos utilizando strings:

Os próximos exemplos ilustram como acessar, não só um caractere da string, mas uma parte contendo mais de um caractere:

É possível também saltar os caracteres:

Para inverter os caracteres de uma string:

O mesmo processo de fatiamento pode ser aplicado em qualquer tipo de iterável. Por exemplo, em objetos do tipo lista ou do tipo tupla.

8. If… Else…

As palavras if e else são palavras reservadas da linguagem Python. Elas são utilizadas para controlar o fluxo de execução de um código através de condições. A palavra if significa “se” e a palavra else significa “senão”:

No exemplo acima, vimos que a linha 4 não foi executada. De fato, uma vez que a condição idade >= 18 é falsa, códigos após uma linha contendo if e identados não serão executados. Por identado, considere códigos que iniciam por 4 espaços. Observe que há quatro espaços antes do código na linha 4. Os 4 espaços indicam o que deve ser executado se a condição for verdadeira. Da mesma forma há 4 espaços no início da linha 6. Neste segundo caso, os 4 espaços indicam o que deve ser executado se a condição for falsa. Vejamos outros exemplos.

No exemplo acima, a condição idade >= 18 é verdadeira e, por isso, as linhas 4 e 5 foram executadas. Se fosse falsa, seriam as linhas 7 e 8 as executadas. Como a linha 9 não está identada (digitada após 4 espaços), ela é executada de toda forma.

9. Loop for

Outra palavra reservada na linguagem Python é for. Ela serve para que em cada iteração, acessemos valores de um iterável. Por exemplo, podemos acessar em cada iteração as letras de uma string ou os elementos de uma lista.

No exemplo acima, a variável letra assume uma das letras do objeto “Python” a cada iteração. Assim como no if… else…, a cada iteração são executadas apenas as linhas que tiverem identadas (após 4 espaços).

É possível colocar condicionais dentro de loops, loops dentro de condicionais, condicionais dentro de condicionais e loops dentro de loops. Vejamos um exemplo de como imprimir apenas os números maiores que 5 de uma lista.

10. Funções

Apesar da linguagem Python ter várias built-in functions, às vezes é necessário criamos nossas próprias funções. Para facilitar, pense em função como algo que possui três componentes: entrada, lógica que transforma a entrada em saída e a saída. A palavra Python reservada para criar funções é def. Como exemplo, veremos como fazer uma função que retorna como saída o quadrado da entrada:

O nome da função acima, escolhido por nós, é func. Podemos usá-la como usamos uma built-in function:

11. Bibliotecas

A comunidade Python é gigante e muitos programadores dessa comunidade criam bibliotecas com outras funções úteis e disponibilizam essas bibliotecas gratuitamente em repositórios on-line.

Ao instalar o Anaconda, já foram instaladas diversas bibliotecas úteis como, por exemplo, a biblioteca numpy, utilizada para trabalhar com matrizes ou tabelas. Para importar uma biblioteca, utilizamos a palavra reservada import.

Dentro de uma bibliotecas temos mais objetos e mais funções para usarmos. Um objeto muito utilizado da biblioteca numpy é o ndarray para fazer matrizes.

Algumas built-in functions são adaptadas para esses novos objetos e, em alguns casos, funcionam perfeitamente, como por exemplo a built-in function print:

Esses novos objetos funcionam como qualquer outro objeto Python. Logo têm seus próprios métodos privados e públicos. Por exemplo, o método reshape muda as dimensões de um objeto do tipo ndarray:

Conclusão

É isso aí pessoal, essa é apenas uma visão geral para quem está começando. Agora é só praticar.

Algumas perguntas devem ter surgido, por exemplo:

  • Qual a diferença entre tupla e lista?
  • Quando uso dicionários? Dicionários são Json?
  • Uma função pode não retornar nada?
  • Posso criar meus próprios objetos com meus próprios métodos?
  • Porque o Jupyter Notebook mostra o objeto mesmo sem a built-in function print?
  • Como faço e como uso conjuntos em Python?
  • Como leio arquivos de textos ou planilhas?
  • Como coleto dados de páginas de internet de forma automatizada?
  • É possível fazer um chatbot em Python?
  • É possível ler e manipular imagens em Python?
  • Como faço jogos em Python?
  • Como crio minhas próprias bibliotecas?
  • Como usar Python para fazer websites?
  • Como usar Python para trabalhar com inteligência artificial?
  • Python é rápido como as outras linguagens? Tem como acelerar?

Nós da comunidade UraPython temos por missão levar todo esse conhecimento a quem quer que seja. Queremos com isso, dar as mesmas oportunidades às pessoas, para que estas possam ter uma vida digna, confortável e feliz. Além disso, queremos oferecer as habilidades essenciais para que as pessoas se adaptem continuamente às tecnologias emergentes na velocidade que o futuro exige.

Até a próxima!

--

--

UraPython Community

Comunidade Python na cidade de Uberaba com objetivo de melhorar a vida dos uberabenses por meio do conhecimento da linguagem de programação Python.