You are on page 1of 30

CURSO DE PYTHON

LIO 02: Valores, Variveis e Expresses

Contedo
! Representao de dados ! Representao e manipulao de nmeros ! Representao e manipulao de strings ! Conceito de memria e variveis ! O tipo bool

DCE/CCAE/UFPB

Representao de dados
! Tipicamente, dados so representaes numricas e/ou qualitativas de alguma observao ! Por exemplo, de interesse da UFPB manter informaes sobre seus estudantes:
! Nome de cada estudante ! Sua data de nascimento

! Em termos de forma de representao


! Nome do estudante = sequncia de caracteres (string) ! Data de nascimento = 3 nmeros inteiros (dia, ms e ano de nascimento)
DCE/CCAE/UFPB

Representao de dados
! Todo programa processa dados ! Logo, toda linguagem de programao deve oferecer formas para representar e manipular diferentes tipos de dados ! Veremos nesta aula os tipos bsicos de dados disponveis em Python e alguns exemplos de como eles podem ser manipulados

DCE/CCAE/UFPB

Representao de nmeros em Python


! Nmeros inteiros int
! Exemplos:
! Decimal: 10, 20, 25, etc ! Octal: 0o777, 0o1234, etc ! Hexadecimal: 0xFFF, 0xABC, 0x123, etc

! Quantidade de dgitos do nmero inteiro limitada apenas pela memria disponvel na mquina

! Nmeros reais em ponto flutuante float


! Exemplos: 0.1, 1.3, 2e5, etc

! Nmeros complexos complex


! Exemplos: (1+4j), (1-5j), etc

DCE/CCAE/UFPB

Expresses aritmticas simples com inteiros

DCE/CCAE/UFPB

Expresses aritmticas simples com nmeros de ponto flutuante

DCE/CCAE/UFPB

Expresses aritmticas simples com nmeros complexos

DCE/CCAE/UFPB

Nmeros de ponto flutuante em Python


! Em Python, assim como em outras linguagens de programao, no h um tipo capaz de representar os nmeros reais com absoluta preciso

DCE/CCAE/UFPB

Expresses aritmticas mais complexas

! Neste exemplo, utilizamos o operador **, que representa exponenciao.


DCE/CCAE/UFPB

Expresses aritmticas envolvendo valores de tipos diferentes

! Python sabe que os tipos numricos so relacionados, assim, nada impede que expresses manipulem tipos numricos diferentes. ! O tipo da expresso ser sempre o tipo mais genrico dentre os tipos dos operandos
DCE/CCAE/UFPB

Representao de strings
! Dificilmente faremos programas que manipulam exclusivamente valores numricos ! Existem vrios outros tipos de valores presentes em um programa e o conceito de tipo fundamental no estudo de linguagens de programao ! Dentre os vrios tipos relevantes, um deles merece especial ateno: string, que to somente uma sequncia de caracteres ! Em Python uma string representada pela prpria sequncia de caracteres delimitada por aspas
DCE/CCAE/UFPB

Representao de strings

DCE/CCAE/UFPB

Operaes simples com strings

DCE/CCAE/UFPB

Nmeros em strings so apenas strings

DCE/CCAE/UFPB

Conceito de memria e variveis


! Um dos aspectos mais distintivos de um computador sua capacidade de armazenar dados ! a conhecida memria do computador ! Do ponto de vista do programador, a forma fundamental de manifestao da memria o conceito de varivel ! Uma varivel simplesmente um nome que damos a uma poro de memria do computador, que utilizamos para armazenar um determinado valor
DCE/CCAE/UFPB

Inicializando (ou definindo) variveis em Python

! O comando acima o que chamamos de atribuio ! Atravs da atribuio voc instrui Python a associar uma varivel a um valor. ! No exemplo acima a o valor 1 e b o valor 2.

DCE/CCAE/UFPB

Inicializando (ou definindo) variveis em Python

DCE/CCAE/UFPB

Variveis podem ser de qualquer tipo

DCE/CCAE/UFPB

Tipo de uma varivel

! O comando type informa o tipo de uma varavel ! recomendvel que se escolha nomes significativos para as variveis para facilitar o entendimento do programa!
DCE/CCAE/UFPB

Definindo variveis a partir de expresses e de outras variveis


! Nada impede que variveis sejam definidas a partir de expresses envolvendo outras variveis ou valores literais

DCE/CCAE/UFPB

Redefinindo variveis
! Em vrias linguagens de programao, incluindo Python, comum que o valor de uma varivel possa ser redefinido a medido que a execuo do programa avana.

DCE/CCAE/UFPB

Redefinindo variveis

! A primeira vista pode parecer estranho, mas podemos tambm redefinir o valor de uma varivel usando expresses envolvendo a prpria varivel.
DCE/CCAE/UFPB

Variveis so volteis

DCE/CCAE/UFPB

O tipo bool
! Um outro tipo de valor de suma importncia em programao, alm dos tipos nmeros e de strings ! Trata-se do tipo bool, que permite representar apenas dois valores: True e False ! Esse tipo fundamental para o devido entendimento de linguagens de programao

DCE/CCAE/UFPB

O tipo bool

! Observe que os literais no devem ser escritos com aspas, sob pena de serem confundidos por python com strings
DCE/CCAE/UFPB

O comando assert
! Vejamos um dos comandos mais importantes que usaremos ao longo do curso: o assert ! Com esse comando voc pede a python que verifique uma certa expresso lgica ! Ao executar o comando, python avalia a expresso lgica.
! Se ela tiver valor True, o comando finalizado sem mais nenhuma consequncia ! Se a condio for falsa, contudo, python retornar um erro de assero

DCE/CCAE/UFPB

O comando assert

! O primeiro assert dado acima verifica que 1 + 1 igual a 2. Observe que o sinal de igualdade expresso com == para poder ser diferenciado do operador de atribuio = ! O segundo assert falha pois 1 + 1 no igual a 3
DCE/CCAE/UFPB

O comando assert
! As condies tambm podem ser escritas utilizando as variveis definidas no programa

! Na prtica veremos que os asserts servem para testarmos e atestarmos a qualidade de nossos programas
DCE/CCAE/UFPB

assert para expressar compreenso


! Um outro uso importante do assert permitir expressar a compreenso de funes e/ou operaes em programao

! Neste exemplo utilizamos o operador % que calcula o resto da diviso inteira


DCE/CCAE/UFPB