Você está na página 1de 46

Introduo a

Python
Prof. Jesiel Viana da Silva

Curso: Tecnologia em Anlise e Desenvolvimento de Sistemas Disciplina: Algoritmos e Programao 2017.1


1
Python
Roteiro Caractersticas
Motivaes de uso
Python para iniciantes
Conceitos importantes
Palavras reservadas
Variveis e atribuio
Tipos de dados

2
O que Python?

3
Python uma linguagem de programao
de alto nvel, interpretada, de script,
imperativa, orientada a objetos,
funcional, de tipagem dinmica e forte.
Foi lanada por Guido van Rossum em
1991. Atualmente possui um modelo de
desenvolvimento comunitrio (Open
Source), aberto e gerenciado pela
organizao sem fins lucrativos Python
Software Foundation. WIKIPEDIA (2017)
4
Python interpretada

5
Tipagem dinmica
Para criar variveis no preciso indicar o tipo.
O tipo da varivel ser extrado do seu valor, podendo variar durante a
execuo do programa.

6
Tipagem Forte
No possvel realizar alguns tipos de operaes com variveis de tipos
diferentes.
Tipagem forte costuma ser a caracterstica que no permite um mesmo
dado ser tratado como se fosse de outro tipo. muito comum linguagens
estticas terem tipagem forte. Mas existem excees.

7
Por que Python?
8
1. Livre e de cdigo aberto
2. Multiplataforma
3. Alto Nvel
4. Orientada a Objetos
5. Tipagem dinmica forte
6. Sintaxe com indentao
7. Frameworks
8. Documentao
9. Divertido
10. Mercado
9
Python usada para...
Games
Web
Inteligncia Artificial
Data Science
Machine Learning
a linguagem preferida dos cientistas
10
Quem usa Python
Globo.com
Netflix
Google
Youtube
Amazon

11
Por que
Python para
iniciantes?
12
Python is Now the Most Popular Introductory
Teaching Language at Top U.S. Universities

13
14
Vamos comear...

15
Calma, mais
alguns conceitos
importantes...
16
Executar programa em Python
Execuo via terminal

$ python hello.py
print("Hello world!")
-> Hello world!
ou
$ python3 hello.py
-> Hello world!
hello.py 17
O que so erros de compilao?
Ocorre quando o programa escrito no est de
acordo com as regras (sintaxe) da linguagem,
erros de compilao ocorrer. Ler e entender
estes erros muito importante.

18
O que so erros de execuo?
Acontecem quando o comportamento do programa diverge do esperado e
podem acontecer mesmo quando o programa compila corretamente.

19
O que um depurador/debug?
Ferramenta que executa um programa passo a passo.
Ajuda a encontrar erros de execuo (bugs).

20
Agora vamos comear a praticar Python

21
22
Variveis
Variveis so locais onde armazenamos valores. Toda varivel
caracterizada por um nome, que a identifica em um programa, e por
um tipo, que determina o que pode ser armazenado naquela varivel.
(Como j foi citado no Python no precisamos definir o tipo).

Durante a execuo do programa, um pedacinho da memria


corresponde varivel.

23
Comando de O comando de atribuio serve para
atribuio atribuir valores para variveis.
O smbolo de "igual" (=) chamado
de operador de atribuio.
"=" pode ser lido como "recebe"
A sintaxe do uso do comando :

varivel = valor

24
Prtica
>>> peso = 10 >>> type(10)

>>> altura = 1.7 >>> type(peso)

>>> nome = "Jesiel" >>> type (altura)

>>> professor = True

25
Comando de
O comando de atribuio pode conter
atribuio
expresses do lado direito:

varivel = expresso

Atribuir um valor de uma expresso a uma


varivel significa calcular o valor daquela
expresso e copiar aquele valor para uma
determinada varivel.

26
Comando de a = 10
atribuio
b = 20

soma = a + b

Varivel Expresso

No exemplo acima, a varivel soma recebe


o valor calculado da expresso a+b
27
Tipos de dados

28
29
Nmeros Python suporta nmeros inteiros e nmeros de
ponto flutuante.
Inteiros e pontos flutuantes so separados pela
presena ou ausncia de um ponto decimal. 5
inteiro, enquanto 5.0 um nmero de ponto
flutuante.
>>> a = 5
>>> type(a)
>>> b = 5.0
>>> type(b)
30
String String uma sequncia de caracteres.
Um caracter simplesmente um smbolo.
As sequncias de caracteres (String) podem ser criadas ao
incluir os caracteres dentro de aspas simples ou aspas
duplas.
>>> nome = 'IFPI'
>>> type(nome)
>>> curso = "ADS"
>>> type(curso)

31
String - Os computadores no lidam com caracteres, lidam com
nmeros (binrios). Embora voc possa ver caracteres
Informaes na tela, internamente, ele armazenado e manipulado
como uma combinao de 0 e 1.
extras Essa converso de caracteres para um nmero
chamada de codificao e o processo inverso
decodificao. ASCII e Unicode so algumas das
codificaes populares utilizadas.
Em Python, string uma sequncia de caracteres
Unicode. O Unicode foi introduzido para incluir todos os
caracteres em todos os idiomas e trazer uniformidade na
codificao.

32
Booleano, O tipo de dados booleanos um tipo de dados,
Lgico com dois valores (True ou False), destinados a
representar os valores verdadeiros da lgica e
lgebra booleana.

>>> type(True)
>>> x = 10
>>> y = 10
>>> z = x == y
>>> type(z)
33
Entrada e Entrada de dados quando o programa recebe informaes
atravs de um dispositivo de entrada de dados ou de um arquivo.
sada de A funo input() recebe dados de entrada.
dados >>> x = input("digite um nmero: ")

Sada de um programa pode ser feita de vrias maneiras; os dados


podem ser exibidos ou impressos em forma legvel para seres
humanos, ou escritos em arquivos para uso posterior.

A funo print() exibe dados de sada.

>>> print(x)

34
Converso de dados
A funo input() sempre retorna valores do tipo String, ou seja, se voc digitar um
nmero ou uma letra o retorno da funo ser sempre uma String.

Quando precisamos trabalhar com entrada de dados com tipos diferente de String
necessrio fazer a converso.

Converso para nmeros: Utiliza-se a funo int() para converter para nmero
inteiro e float() para nmero de ponto flutuante.

35
Converso >>> x = input("digite um nmero: ")

de dados >>> print(type(x))

>>> x = int(x) #converso para inteiro

>>> print(type(x))

>>> y = input("digite um nmero real: ")

>>> print(type(y))

>>> x = float(y) #converso para ponto flutuante

>>> print(type(y))

36
Operadores aritmticos
Operador Descrio Exemplo

+ Soma 9+2

- Subtrao 9-2

/ Diviso 9/2

* Multiplicao 9*2

% Mdulo (resto da diviso) 9%2

// Diviso de inteiros 9 // 2

** Potenciao 9 ** 2
37
X=5
Operadores relacionais Y = 10

Operador Descrio Exemplo

> maior que x>y

< menor que x<y

== igualdade x == y

!= diferente x != y

>= maior ou igual x >= y

<= menor ou igual x <= y

38
X = True
Operadores Lgicos Y = False

Operador Descrio Exemplo

E, retorna true se ambos forem


and x and y
verdadeiros

OU, retorna true se pelo menos


or x or y
uma afirmao for verdadeira

not x
not NO, inverso de valor
not y

39
Mdulos
Os mdulos se referem a um arquivo contendo instrues e definies Python.
Um arquivo contendo o cdigo Python, por exemplo: exemplo.py, chamado de mdulo
e o nome do mdulo seria exemplo.
Usamos mdulos para quebrar grandes programas em pequenos arquivos gerenciveis e
organizados. Alm disso, os mdulos oferecem reutilizao do cdigo.
Podemos definir nossas funes mais utilizadas em um mdulo e import-lo, em vez de
copiar suas definies em diferentes programas.

40
Import
As definies dentro de um mdulo podem ser importadas para outro mdulo ou para
o intrprete interativo no Python. Usamos a palavra-chave import para fazer isso.

Por exemplo, podemos importar o mdulo de matemtica digitando import math

>>> import math


>>> print(math.pi)
>>> print(math.sqrt(16))

41
Lista
Lista em Python quase a mesma estrutura de dados conhecida como
vetor, array utilizados em outras linguagens.
Arrays so estruturas de dados semelhantes s listas do Python, mas no to
flexveis. Um array possui tamanho fixo e todos os elementos devem ser de
um mesmo tipo.
Lista do Python so flexveis e heterogneas.
>>> lista1 = [] #lista vazia
>>> lista2 = [2, 5, 10] #lista com 3 elementos
42
Dvidas?

43
Relembrando Caractersticas do Python
Motivaes
Conceitos importantes
Variveis
Tipos de dados
Operadores
Mdulos e import

44
Referncias
WIKIPEDIA. https://pt.wikipedia.org/wiki/Python, acessado em 16 de junho de 2017
https://www.gitbook.com/book/gabrielacavalcante/python/details
https://panda.ime.usp.br/aulasPython/static/aulasPython/
http://rodrigor.dcx.ufpb.br/_media/disciplinas/introprog/19939680-aprendacomput
aocompython3k.pdf
https://www.programiz.com/python-programming
http://python.org.br/empresas
https://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-i
ntroductory-teaching-language-at-top-u-s-universities/fulltext
https://pt.stackoverflow.com/questions/21508/qual-a-diferen%C3%A7a-entre-uma
-linguagem-de-programa%C3%A7%C3%A3o-est%C3%A1tica-e-din%C3%A2mica

45
THANKS!
Any questions?
You can find me at
@jesielviana
jesiel.analista@gmail.com or jesiel@ifpi.edu.br
https://github.com/jesielviana

46

Você também pode gostar