Вы находитесь на странице: 1из 21

I.

Introduo
Python uma linguagem de programao de alto nvel, lanada em
1991. Atualmente possui um modelo de desenvolvimento comunitrio,
aberto e gerenciado pela organizao sem fins lucrativos Python Software
Foundation.
A linguagem foi projetada com o ideal de priorizar a legibilidade do
cdigo sobre a velocidade ou expressividade. Combina uma sintaxe concisa
e clara com os recursos poderosos de sua biblioteca padro e por mdulos e
frameworks desenvolvidos por terceiros.
amplamente divulgada como uma das melhores se no a melhor
linguagem de programao para iniciantes, em funo da sua sintaxe
limpa, intuitiva e comunidade ampla, sempre disposta tirar dvidas de
usurios novos.
Essa apostila voltada para voc, que procura aprender o bsico da
linguagem Python.
Meus agradecimentos ao Naccib e ao Oddy, que revisaram este
material.
Boa leitura!
II. Obteno
Se voc usurio de Linux ou OS X, o compilador Python j vem
instalado por padro, e scripts escritos na linguagem so executados sem
maiores problemas.
Para usurios de Windows, o interpretador deve ser baixado em
https://www.python.org/downloads/.
A linguagem possui duas verses: Python 2.x, desenvolvido em 2008,
e Python 3.x, desenvolvido em 2015. Essa ltima possui diversos aspectos
de seu ncleo adaptados para usurios iniciantes, e novos programas so
escritos nelas.
Sendo assim, nesta apostila, usaremos como base a linguagem Python
3.x. Porm, um usurio de uma verso consegue, sem maiores problemas,
adaptar sua escrita para a outra.
Uma vez instalado o interpretador, sua simples execuo exibir uma
espcie de terminal, que pode ser usado para experincias simples com a
linguagem, como operaes matemticas.

Clicando na aba File, pode-se criar um novo arquivo, que ser lido e
executado em Python.

Durante o curso, trabalharemos escrevendo em arquivos como esse.


Quando usarmos diretamente o terminal do interpretador, isso ser detonado
por >>>.
Podemos executar um script j escrito atravs do menu Run. Cada
execuo implicar no salvamento do arquivo.
III. Variveis
Em Python, no necessrio declarar variveis antes de seu uso, nem
definir seu tipo isso j feito automaticamente. Elas podem ser de trs
tipos:
int para um nmero inteiro
float para um nmero decimal
string para uma sequncia de caracteres.
Por exemplo, podemos declarar uma varivel a com valor 6,
efetuando:
>>> a = 6

Caso desejarmos definir o valor da varivel como resultado de uma


operao matemtica, como 2 * 3, podemos fazer:
>>> a = 2 * 3

O mesmo vale para nmeros decimais, como nos dois exemplos


abaixo. Lembre-se
>>> b = 1.5
>>> b = 0.5 + 1

J para strings, precisamos colocar o texto desejado entre aspas,


simples ou duplas:
>>> c = "fabrica de noobs"
>>> c = 'fabrica de noobs'

Podemos inserir uma quebra de linha, dentro de uma varivel, atravs


do comando :\n no local em que a quebra precisa ser inserida. Por exemplo:
>>> d = "curso desenvolvido por :\n fabrica de noobs"

O valor de uma varivel pode ser mostrado atravs do comando print,


que deve seguir a estrutura print (varivel). No exemplo abaixo, exibidos
todas as variveis trabalhadas nesse captulo.
>>> print (a)
6
>>> print (b)
1.5
>>> print (c)
fabrica de noobs
>>> print (d)
curso desenvolvido por :
fabrica de noobs

Podemos imprimir mais de uma varivel em uma nica vez utilizando,


dentro dos parnteses, uma vrgula entre cada varivel. Por exemplo:
>>> print (a, c)
6 fabrica de noobs

Alm disso, possvel converter um tipo de varivel para outro. No


exemplo abaixo, queremos a parte inteira do nmero 5.777.
>>> int (5.777)
5

Caso queiramos imprimir, alm das variveis, algum tipo de texto,


podemos faz-lo com o uso de aspas dentro do comando print. Por exemplo:
>>> a = 17
>>> print ("O valor de a ",a)
O valor de a 17
IV. Operaes Matemticas
O interpretador Python pode servir tambm como uma excelente
calculadora matemtica, que abrange desde as 4 operaes fundamentais at
nmeros complexos. Ao realizar as operaes, podemos utilizar tanto
variveis quando valores numricos.
Uma adio pode ser feita atravs do operador +. Por exemplo:
>>> 2+3
5
>>> 1.5+2.5
4.0

J uma subtrao, pode ser feita com o operador -, como no exemplo:


>>> 1-3
-2
>>> 5-1
4

Multiplicao deve ser feita com o operador *, como mostrado abaixo.


>>> 3*5
15
>>> 3*-5
-15

E diviso deve ser feita com o operador / e // para diviso inteira. Por
exemplo:
>>> 6/2
3.0
>>> 7/3
2.3333333333333335
>>> int (7/3)
2

Podemos obter o resto de uma diviso atravs do operador %, como


no exemplo abaixo.
>>> 7%3
1

A exponenciao feita utilizando o operador **. Por exemplo:


>>> 2**6
64

No existe um comando especfico para radiciao em Python. Ela


deve ser feita elevando-se o radicando ao inverso do radicador. Por exemplo,
para a raiz quadrada e cbica:
>>> 2**0.5
1.4142135623730951
>>> 2**0.33
1.2570133745218284

Ao definirmos uma operao matemtica, ser seguida a mesma


ordem convencionada na lgebra: diviso e multiplicao, adio e
subtrao. Caso quisermos uma ordem diferente, devemos especific-la com
uso dos parnteses. No h problemas em colocar vrios parnteses, um
dentro do outro. Veja abaixo:
>>> 2+2/2
3.0
>>> (2+2)/2
2.0

Neste ltimo exemplo, definimos algumas variveis e realizamos


operaes matemticas com elas.
>>> a = 3
>>> b = 2.5
>>> c = 9
>>> (a+c)/b
4.8
V. Entrada de Dados
fundamental que, para rodar um programa, coletemos informaes
inseridas pelo usurio.
Em Python, isso pode ser feito atravs do comando input. Ele
apresenta a estrutura input(Pergunta), na qual a mensagem destinada ao
usurio inserida entre aspas e parnteses.
Para salvar o valor recebido em uma varivel, podemos utilizar a
seguinte sintaxe:
>>> a = input ("Qual a sua idade?")
Qual a sua idade?

Assim que o usurio inserir o valor, ele ser armazenado na varivel


a. Se, em seguida, exibirmos a varivel em questo, receberemos:
>>> print (a)
20

Para evitar entradas erradas, podemos condicionar a entrada de dados


para determinado modelo. Por exemplo, se quisermos que um valor seja
transformado em inteiro aps ser recebido, podemos utilizar:
>>> a = int(input("Qual a sua idade?"))
Qual a sua idade?

Essa converso pode ser til em operaes matemticas, evitando


erros posteriores.
Por padro, a entrada input j condiciona o resultado uma string.
Porm, podemos recebe-la (ou converter determinado valor para srting)
utilizando o comando str.
>>> b = str(input("Qual o seu nome?"))
Qual o seu nome?
Veja abaixo um programa capaz de receber o nome e idade do usurio
e, em seguida, exibi-la na tela.
a = str(input("Qual o seu nome? "))
b = int(input("Qual a sua idade? "))
print ("Meu nome ", a, " e eu tenho", b, " anos.")
Tal cdigo, aps sua compilao, ir apresentar o seguinte resultado,
mostrado abaixo.

No possvel somarmos valores de texto, mas o python permite que


estes sejam mesclados ou exibidos diversas vezes na tela. Por exemplo:
>>> a = "Joo"
>>> b = " da Silva"
>>> a + b
'Joo da Silva'

Para mesclarmos, podemos utilizar o sinal de multiplicao seguido


do nmero de vezes em que a palavra deve ser repetida. Veja abaixo, como
continuao do cdigo anterior:
>>> a * 3
'JooJooJoo'

Por fim, observe o cdigo abaixo, que utiliza os conceitos estudados


neste captulo.
a = str(input("Qual o seu nome? "))
b = str(input ("Qual seu sobrenome?"))
c = int(input("Qual a sua idade? "))
nome_completo = a + " " + b
print ("Meu nome ", nome_completo, "e tenho ", c, " anos")

Veja agora sua compilao.


VI. Tomadas de Deciso e Comparadores
Comparadores, como o nome diz, nos permitem comparar dois
valores. Em Python, suas correspondncias so:
== Igual
!= Diferente
< Menor que
> Maior que
<= Menor ou igual
>= Maior ou igual
not Negao (inverso)
and Ambas
or Ao menos

Podemos usar os 6 primeiros no terminal para verificar igualdades, por


exemplo:
>>> 5>7
False
>>> 2+2==4
True
>>> 5+5!=10
False
>>> 5>5
False
>>> 5>=5
True

Tomadas de deciso permitem que o programa execute determinada


parte do cdigo caso algo seja ou no verificado. Em Python, isso feito
atravs dos comandos if, else, elif, while e for.
Os comandos if e else correspondem, respectivamente, se e se no,
enquanto que o elif pode ser usado em uma situao em que contenham
vrias condies, sendo uma verificada aps a outra.
Por exemplo, o cdigo abaixo pede para que o usurio insira o
resultado de uma operao matemtica, e informa se ele est certo ou errado.
resultado = int(input("Quanto 20 - 13?"))
if resultado == 7:
print ("Resposta certa!")
else:
print ("Resposta errada!")

Veja agora um cdigo que classifica o usurio em criana, adolescente


e adulto, conforme sua idade:
idade = int(input("Insira a sua idade: "))
if idade <= 10:
print ("Criana.")
elif idade <= 17:
print ("Adolescente.")
else:
print ("Adulto.")

Note que usamos o elif na segunda condio. Observe o que


aconteceria, se ao invs dele, usssemos o if:

Logo, conclumos que o comando elif faz com que, se verdadeiro,


todas as condies verdadeiras anteriores sejam ignoradas.
Atravs dos comparadores and e or, podemos verificar se duas
condies ocorrem simultaneamente ou apenas uma delas acontece.
Por exemplo:
idade1 = int(input("Insira a idade do primeiro usurio: "))
idade2 = int(input("Insira a idade do segundo usurio: "))
if (idade1 >= 18) and (idade2 >= 18):
print ("Ambos podem dirigir.")
elif (idade1 >=18) and (idade2 < 18):
print ("Somente o primeiro usuiro pode dirigir")
elif (idade1 < 18) and (idade2 >= 18):
print ("Somente o segundo usuiro pode dirigir")
elif (idade1 < 18) and (idade2 < 18):
print ("Ningum pode dirigir")

Observe sua compilao para alguns valores:

Agora, observe um cdigo que recebe a nota do usurio em 4


bimestres, calcula uma mdia, verifica sua aprovao ou reprovao, o
parabeniza em caso de bom desempenho. Compile-o e observe os resultados.
nota1 = int(input("Insira a primeira nota: "))
nota2 = int(input("Insira a segunda nota: "))
nota3 = int(input("Insira a terceira nota: "))
nota4 = int(input("Insira a quarta nota: "))

media = (nota1 + nota2 + nota3 + nota4)/4

if media >= 6:
print ("Aprovado! Sua mdia :", media)
if media >=9:
print("Parabns!")
else:
print ("Reprovado! Sua mdia :", media)

Por fim, os comandos while e for significam, respectivamente,


enquanto e para. Eles so usados em situaes nas quais determinada
sequncia precisa ser executada enquanto outra for verdadeira, ou durante
determinado nmero de vezes.
Abaixo, incrementamos o cdigo que verificava se a resposta do
clculo matemtico estava certa ou errada, fazendo com que a execuo s
termine no momento em que a resposta estiver certa.
Note que precisamos definir um valor arbitrrio diferente da resposta
para a varivel, a fim de impedir que o cdigo nos retorne um erro.
resultado = 0
while resultado != 7:
resultado = int(input("Quanto 20 - 13?"))
if resultado == 7:
print ("Resposta certa!")
else:
print ("Resposta errada!")
print("Parabns, siga para a prxima questo!")

O comparador for pode ser usado para repetir uma operao


determinado nmero de vezes. Para cada for, utilizamos um contador (dado
por uma varivel), que assume valores dentro de um intervalo.
Por exemplo, o comando abaixo conta at 10.
for x in range(0, 11):
print (x)

Em sua execuo, a varivel x assume valores de 0 at 10, e, para cada


um deles, imprime seu prprio valor.

Podemos increment-lo, de forma que o programa eleve um valor


inserido pelo usurio aos valores de 1 at 10.
a = int (input("Insira o valor: "))
for x in range(0, 11):
print (a ** x)
print("Operao terminada!")

Eis sua compilao:


VII. Listas
Listas so sequncias de variveis. Aps sua definio, elas podem ser
modificadas.
Para criar uma lista, devemos nome-la (assim como uma varivel) e
inserir seus elementos entre colchetes, separando-os por vrgulas. Por
exemplo:
>>> a = [1,2,3]
>>> print (a)
[1, 2, 3]

O comando len pode ser usado para recebermos o tamanho de uma


lista.
>>> len (a)
3

O comando append pode ser usado para adicionar um valor especfico


ao final da lista, enquanto que o comando extend faz o mesmo para uma lista
inteira.
>>> a.append(4)
>>> print (a)
[1, 2, 3, 4]
>>> a.extend([5,6,7])
>>> print (a)
[1, 2, 3, 4, 5, 6, 7]

Podemos inserir um valor em determinada posio da lista,


substituindo-o pelo antigo, dessa forma:
>>> a[2]=2.5
>>> print (a)
[1, 2, 2.5, 4, 5, 6, 7]

E delet-lo utilizando o comando del:


>>> del a[2]
>>> print (a)
[1, 2, 4, 5, 6]
Listas tambm podem ser mescladas com o uso do operador de soma:
>>> a=[1,2,3]
>>> b=[4,5,6]
>>> c = a+b
>>> print (c)
[1, 2, 3, 4, 5, 6]

Observe o programa abaixo, capaz de receber quantas notas o autor


desejar e imprimi-las em uma lista.
listanotas = []
numnotas = int(input("Quantas notas deseja cadastrar? "))
for i in range (0,numnotas):
nota = int(input("Insira a nota: "))
listanotas.append(nota)
print ("Processo concludo! Suas notas so: ", listanotas)

Veja agora sua execuo:


VIII. Dicionrios
Um dicionrio um conjunto de elementos, chamados chaves, e suas
correspondncias, denominadas contedos ou ndices.
Por exemplo, podemos criar um dicionrio com nmeros e suas
respectivas formas em nmeros romanos. Para isso, ele dever seguir o
modelo dicionrio = [chave1 : contedo1, chave2 : contedo2, chave N :
contedo N], como mostrado abaixo.
>>> numeros = {1 : "I", 2 : "II"}
>>> numeros
{1: 'I', 2: 'II'}

Podemos adicionar um valor ao dicionrio realizando:


>>> numeros[3] = "III"
>>> numeros
{1: 'I', 2: 'II', 3: 'III'}

Assim como podemos delet-lo utilizando o comando del:


>>> del numeros [1]
>>> numeros
{2: 'II', 3: 'III'}

E consultar uma correspondncia do dicionrio utilizando:


>>> print (numeros [2])
II

Tambm possvel exibir somente as chaves ou valores atravs dos


comandos keys e values, respectivamente.
>>> numeros.keys()
dict_keys([1, 2, 3])
>>> numeros.values ()
dict_values(['I', 'II', 'III'])

Ou ainda exibir uma correspondncia lado a lado com o comando


items.
>>> numeros.items()
dict_items([(1, 'I'), (2, 'II'), (3, 'III')])
IX. Funes
Imagine que, em um programa, determinado trecho (de vrias linhas)
precisa ser repetido diversas vezes. Se pudermos fazer com esse trecho seja
chamado com um nico comando, ganhamos tempo, espao em disco,
alm de deixarmos o cdigo como um todo mais elegante e menos sujeito a
erros.
Essa a utilidade das funes. Para definir uma funo, utilizamos o
comando def. Essa funo dever, obrigatoriamente, nos retornar algum
valor, o qual especificado com o comando return. Por exemplo:
def soma (x,y):
return x + y

Sendo assim, a funo precisa de dois valores (x e y), que devero ser
somados. Chamamos uma funo utilizando seu nome, seguido destes
valores:
>>> soma (3,5)
8

Outro exemplo:
def quadrado (x):
return x**2
>>> quadrado (8)
64

Veja agora o exemplo abaixo, que cria uma funo para realizar as 4
operaes fundamentais com dois nmeros.
soma = 0
subtracao = 0
multiplicacao = 0
divisao = 0
def operacoes (x,y):
soma = (x + y)
subtracao = x - y
multiplicacao = x * y
divisao = x / y
print ("A soma ", soma)
print ("A subtracao ", subtracao)
print ("A multiplicao ", multiplicacao)
print ("A diviso ", divisao)

E sua compilao:
X. Mdulos

A linguagem Python j possui um conjunto de funes prontas para


serem agregadas e utilizadas em seus programas. Essas funes esto
agrupadas em estruturas denominadas mdulos.
Para utilizar um mdulo, precisamos importa-lo para o programa. Isso
feito atravs do comando import. No exemplo, importamos o mdulo math.
>>> import math
Caso desejarmos saber mais sobre as funes disponveis em um
mdulo, podemos usar o comando help:
>>> help (math)
Isso nos retornar uma lista de todas as funes presentes e como
chamar cada uma delas.

Mdulos podem ser uma ferramenta til caso seja necessrio realizar
um conjunto especfico de operaes como por exemplo, valores
trigonomtricos. Estes j esto presentes no mdulo math, e caso queria criar
um programa com eles, no ser necessrio criar suas prprias funes.
Podemos encontrar uma lista de mdulos em
https://docs.python.org/3/py-modindex.html
Tambm possvel criar seu prprio mdulo. Para isso, crie um
arquivo com as funes que estaro presentes em seu mdulo e salve-o com
a extenso .py.
Em seguida, basta coloc-lo na mesma pasta de outro script para poder
importa-lo.