SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
Python:
Tipos Básicos



 Claudio Esperança
Python como calculadora
 O Interpretador python pode ser usado como 
  calculadora
 Por exemplo, as quatro operações aritméticas são 
  denotadas pelos símbolos 
      + adição
      ­ subtração 
      * multiplicação
      / divisão
Python como calculadora
>>> 10
10
>>> # Um comentário é precedido do caracter "#"
... # Comentários são ignorados pelo interpretador
... 10+5
15
>>> 10-15 # Comentários podem aparecer também após código
-5
>>> 10*3
30
>>> 10/3
3
>>> 10/-3 # Divisão inteira retorna o piso
-4
>>> 10%3 # Resto de divisão inteira simbolizado por %
1
Tipos de dados
 São categorias de valores que são processados de 
  forma semelhante
 Por exemplo, números inteiros são processados de 
  forma diferente dos números de ponto flutuante 
  (decimais) e dos números complexos
 Tipos primitivos: são aqueles já embutidos no núcleo 
  da linguagem
      Simples: números (int, long, float, complex) e cadeias 
       de caracteres (strings)
      Compostos: listas, dicionários, tuplas e conjuntos
 Tipos definidos pelo usuário: são correspondentes a 
  classes (orientação objeto)
Variáveis
 São nomes dados a áreas de memória
      Nomes podem ser compostos de algarismos,letras ou _
      O primeiro caractere não pode ser um algarismo
      Palavras reservadas (if, while, etc) são proibidas
 Servem para:
      Guardar valores intermediários
      Construir estruturas de dados
 Uma variável é modificada usando o comando de atribuição:
   Var = expressão
 É possível também atribuir a várias variáveis simultaneamente:
   var1,var2,...,varN = expr1,expr2,...,exprN
Variáveis
>>> a=1
>>> a
1
>>> a=2*a
>>> a
2
>>> a,b=3*a,a
>>> a,b
(6, 2)
>>> a,b=b,a
>>> a,b
(2, 6)
Variáveis
 Variáveis são criadas dinamicamente e destruídas 
  quando não mais necessárias, por exemplo, quando 
  saem fora de escopo (veremos isso mais tarde)
 O tipo de uma variável muda conforme o valor 
  atribuído, i.e., int, float, string, etc.
      Não confundir com linguagens sem tipo
      Ex.:
        >>> a ="1"
        >>> b = 1
        >>> a+b
        Traceback (most recent call last):
          File "<stdin>", line 1, in ?
        TypeError: cannot concatenate 'str' and 'int' objects
Números
 Há vários tipos numéricos que se pode usar em python
      Int: números inteiros de precisão fixa 
           1  ,  2  , 15 , ­19
      Long: números inteiros de precisão arbitrária
           1L , 10000L , -9999999L
      Floats: números racionais de precisão variável
           1.0 , 10.5 , -19000.00005 , 15e-5
      Complex: números complexos
           1+1j , 20j , 1000+100J
Números inteiros
 Os ints têm precisão fixa ocupando tipicamente uma 
  palavra de memória 
      Em PC's são tipicamente representados com 32 bits 
      (de ­231­1 a 232)
 Os números inteiros de precisão arbitrária (longs) são 
  armazenados em tantas palavras quanto necessário
      Constantes do tipo long têm o sufixo L ou l 
      Longs são manipulados bem mais lentamente que ints
      Quando necessário, cálculos usando ints são 
       convertidos para longs
Números inteiros
>>> a=2**30 # Potenciação
>>> a
1073741824
>>> b=a*1000
>>> b
1073741824000L
>>> b/1000
1073741824L
Números inteiros
 Constantes podem ser escritas com notação idêntica à 
  usada em C
      Hexadecimal: preceder dígitos de 0x
      Octal: preceder dígitos de 0
      Ex.:
              >>> 022
              18
              >>> 0x10
              16
              >>> 0x1f
              31
Números de ponto flutuante
 São implementados como os double's da linguagem C – 
  tipicamente usam 2 palavras
 Constantes têm que possuir um ponto decimal ou serem 
  escritas em notação científica com a letra “e” (ou “E”) 
  precedendo a potência de 10
 Ex:
   >>> 10 # inteiro
   10
   >>> 10.0 # ponto flutuante
   10.0
   >>> 99e3
   99000.0
   >>> 99e-3
   0.099000000000000005
Números complexos
 Representados com dois números de ponto flutuante: um para a 
  parte real e outro para a parte imaginária
 Constantes são escritas como uma soma sendo que a parte 
  imaginária tem o sufixo j ou J
 Ex.:
   >>> 1+2j
   (1+2j)
   >>> 1+2j*3
   (1+6j)
   >>> (1+2j)*3
   (3+6j)
   >>> (1+2j)*3j
   (­6+3j)
Strings
 São cadeias de caracteres
 Constituem outro tipo fundamental do python
 Constantes string são escritas usando aspas simples ou duplas
      Ex.: "a" ou 'a'
 O operador “+” pode ser usado para concatenar strings
      Ex.: "a"+"b" é o mesmo que "ab"
 O operador “*” pode ser usado para repetir strings
      Ex.: "a"*10 é o mesmo que "aaaaaaaaaa"
Strings
 Python usa a tabela de caracteres default do S.O.
      Ex.: ASCII, UTF­8
 Caracteres não imprimíveis podem ser expressos usando notação 
  “barra­invertida” ()
      n é o mesmo que new line
      r é o mesmo que carriage return
      t é o mesmo que tab 
      b é o mesmo que backspace
       é o mesmo que  
      x41 é o mesmo que o caractere cujo código hexadecimal é 
       41 (“A” maiúsculo)
Strings
>>> "abrd"
'abrd'
>>> print   "abrd" # print exibe chars não imprimíveis
db
>>> print   "abctd"
abc     d
>>> print   "abcnd"
abc
d
>>> print   "abcnd"
abcnd
>>> print   "abbc"
ac
>>> print   "x41xA1"
Aí
Strings
 A notação barra­invertida () pode ser desabilitada 
  desde que a constante string seja precedida por um r 
  (erre minúsculo)
      São chamadas strings raw (cruas)
      Ex.:
        >>> print "abcncdtef"
        abc
        cd      ef
        >>> print r"abcncdtef"
        abcncdtef
Strings
 Constantes string podem ser escritas com várias linhas 
  desde que as aspas não sejam fechadas e que cada 
  linha termine com uma barra invertida
 Ex.:
   >>> print "abcdn
   ... efghn
   ... ijk"
   abcd
   efgh
   ijk
   >>> print "abcd
   ... efgh
   ... ijk"
   abcdefghijk
   >>>
Strings
 Também é possível escrever constantes string em várias linhas 
  incluindo as quebras de linha usando três aspas como 
  delimitadores
 Ex.:
   >>> print """
   Um tigre
   dois tigres
   três tigres"""

   Um tigre
   dois tigres
   três tigres
   >>> print '''abcd
   efgh'''
   abcd
   efgh
Strings – Índices
 Endereçam caracteres individuais de uma string
      Notação: string[índice]
      O primeiro caractere tem índice 0
      O último caractere tem índice ­1
      Ex.: 
        >>> a = "abcde"
        >>> a[0]
        'a'
        >>> a[-1]
        'e'
Strings – Fatias (slices)
 Notação para separar trechos de uma string
      Notação: string[índice1:índice2]
      Retorna os caracteres desde o de índice1 (inclusive) até 
       o de índice2 (exclusive)
      Se o primeiro índice é omitido, é assumido 0
      Se o último índice é omitido, é assumido o fim da string
Strings – Fatias (slices)

>>> a
'abcde'
>>> a[0:2]
'ab'
>>> a [2:]
'cde'
>>> a[:]
'abcde'
>>> a[-1:]
'e'
>>> a[:-1]
'abcd'
Expressões booleanas
 Também chamadas expressões lógicas
 Resultam em verdadeiro (True) ou falso (False)
 São usadas em comandos condicionais e de repetição
 Servem para analisar o estado de uma computação e permitir escolher 
  o próximo passo 
 Operadores mais usados
       Relacionais: > , < , ==, !=, >=, <=
       Booleanos: and, or, not
 Avaliação feita em “Curto­circuito”
       Expressão avaliada da esquerda para a direita
       Se o resultado (verdadeiro ou falso) puder ser determinado sem 
        avaliar o restante, este é retornado imediatamente 
Expressões booleanas
>>> 1==1
True
>>> 1==2
False
>>> 1==1 or 1==2
True
>>> 1==1 and 1==2
False
>>> 1<2 and 2<3
True
>>> not 1<2
False
>>> not 1<2 or 2<3
True
>>> not (1<2 or 2<3)
False
>>> "alo" and 1
1
>>> "alo" or 1
'alo'
Expressões booleanas
 As constantes True e False são apenas símbolos 
  convenientes
 Qualquer valor não nulo é visto como verdadeiro 
  enquanto que 0 (ou False) é visto como falso
 O operador or retorna o primeiro operando se for
  vista como verdadeiro, caso contrário retorna o
  segundo
 O operador and retorna o primeiro operando se for
  vista como falso, caso contrário retorna o segundo
 Operadores relacionais são avaliados antes de not,
  que é avaliado antes de and, que é avaliado antes
  de or
Expressões booleanas
>>> 0 or 100
100
>>> False or 100
100
>>> "abc" or 1
'abc'
>>> 1 and 2
2
>>> 0 and 3
0
>>> False and 3
False
>>> 1 and 2 or 3
2
>>> 0 or 2 and 3
3
>>> 1 and not 0
True
Funções Embutidas
 Além dos operadores, é possível usar funções para 
  computar valores
 As funções podem ser definidas:
      Pelo programador (veremos + tarde)
      Em módulos da biblioteca padrão
      Por default: são as funções embutidas (built­in)
           Na verdade, fazem parte do módulo __builtins__, que é sempre 
            importado em toda aplicação
 Ex.: 
      abs(x) retorna o valor absoluto do número x
      chr(x) retorna uma string com um único caractere cujo 
       código ASCII é x
      ord(s) retorna o código ASCII do caractere s 
Funções Embutidas
>>>   abs (10)
10
>>>   abs (-19)
19
>>>   chr (95)
'_'
>>>   chr (99)
'c'
>>>   ord ('a')
97
Importando módulos
 Muitas funções importantes são disponibilizadas em 
  módulos da biblioteca padrão
      Ex.: o módulo math tem funções transcendentais como 
       sin, cos, exp e outras
 Um módulo pode conter não só funções mas também 
  variáveis ou classes
      Por exemplo, o módulo math define a constante pi
 Para usar os elementos de um módulo, pode­se usar o 
  comando import
      Formatos:
           import modulo
           from modulo import nome,...,nome
           from modulo import *
Importando módulos
 Por exemplo:
     from math import *
      # importa todos os elementos do módulo math
     from math import sin
      # importa apenas a função sin
     import math
      # importa o módulo math como um todo
      # (todos os elementos têm que ser citados
      # precedidos por math.)
Importando módulos
>>> import math
>>> a = sin(30)
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
NameError: name 'sin' is not defined
>>> a = math.sin(30)
>>> from math import sin
>>> a = sin(30)
>>> print a
-0.988031624093
>>> a = sin(radians(30))
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
NameError: name 'radians' is not defined
>>> from math import *
>>> a = sin(radians(30))
>>> a
0.49999999999999994
Explorando Módulos
>>> import math
>>> help(math.cos)
Help on built-in function cos in module math:


cos(...)
   cos(x)


   Return the cosine of x (measured in radians).
(END)


 Pressiona­se “q” para retornar ao interpretador.

Más contenido relacionado

La actualidad más candente (19)

Estrutura de Dados - Ponteiros
Estrutura de Dados - PonteirosEstrutura de Dados - Ponteiros
Estrutura de Dados - Ponteiros
 
Estrutura de Dados - Alocação dinâmica de memória
Estrutura de Dados - Alocação dinâmica de memóriaEstrutura de Dados - Alocação dinâmica de memória
Estrutura de Dados - Alocação dinâmica de memória
 
Ud3
Ud3Ud3
Ud3
 
05 classes utilitarias
05   classes utilitarias05   classes utilitarias
05 classes utilitarias
 
Introducao Computacao Slide 2
Introducao Computacao Slide 2Introducao Computacao Slide 2
Introducao Computacao Slide 2
 
Teoria da Computação
Teoria da ComputaçãoTeoria da Computação
Teoria da Computação
 
2 maquina de post
2 maquina de post2 maquina de post
2 maquina de post
 
Teoria da Computação - Maquina de post
Teoria da Computação - Maquina de postTeoria da Computação - Maquina de post
Teoria da Computação - Maquina de post
 
Oac aula04
Oac aula04Oac aula04
Oac aula04
 
1 exercicio de vectores em C
1 exercicio de vectores em C1 exercicio de vectores em C
1 exercicio de vectores em C
 
Apostila de Alocação Dinâmica em C
Apostila de Alocação Dinâmica em CApostila de Alocação Dinâmica em C
Apostila de Alocação Dinâmica em C
 
Java
JavaJava
Java
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registros
 
Aula 06 vetores e matrizes
Aula 06   vetores e matrizesAula 06   vetores e matrizes
Aula 06 vetores e matrizes
 
Linguagem C - Operadores bit a bit
Linguagem C - Operadores bit a bitLinguagem C - Operadores bit a bit
Linguagem C - Operadores bit a bit
 
Python: a primeira mordida
Python: a primeira mordidaPython: a primeira mordida
Python: a primeira mordida
 
Algoritmos - capítulo 6
Algoritmos - capítulo 6Algoritmos - capítulo 6
Algoritmos - capítulo 6
 
Curso de Java - Antonio Alves - Aula 02
Curso de Java - Antonio Alves - Aula 02Curso de Java - Antonio Alves - Aula 02
Curso de Java - Antonio Alves - Aula 02
 
Fundamentos de C#
Fundamentos de C#Fundamentos de C#
Fundamentos de C#
 

Destacado

007 programando em python - funcoes
007   programando em python - funcoes007   programando em python - funcoes
007 programando em python - funcoesLeandro Barbosa
 
013 programando em python - arquivos
013   programando em python - arquivos013   programando em python - arquivos
013 programando em python - arquivosLeandro Barbosa
 
Proyecto parte 2
Proyecto parte 2Proyecto parte 2
Proyecto parte 2Adriano Go
 
Презентация город Челябинск
Презентация город ЧелябинскПрезентация город Челябинск
Презентация город Челябинскa-dolgih
 
Выборы в Польше 2015
Выборы в Польше 2015 Выборы в Польше 2015
Выборы в Польше 2015 raso_pr
 
Proyecto pedro zurita 7
Proyecto pedro zurita 7 Proyecto pedro zurita 7
Proyecto pedro zurita 7 negrita13hgft
 
140628 seminar edu.
140628 seminar edu.140628 seminar edu.
140628 seminar edu.Yoonyi Kim
 
MyMart Global Business Preview
MyMart Global Business PreviewMyMart Global Business Preview
MyMart Global Business Previewmymartleader
 
Carlos delgado
Carlos delgadoCarlos delgado
Carlos delgadoclsnake
 
jimmy hsyan chung
jimmy hsyan chungjimmy hsyan chung
jimmy hsyan chungJimmy Chung
 
THE RECONDITE WISDOM OF GOD
THE RECONDITE WISDOM OF GODTHE RECONDITE WISDOM OF GOD
THE RECONDITE WISDOM OF GODNkor Ioka
 

Destacado (19)

007 programando em python - funcoes
007   programando em python - funcoes007   programando em python - funcoes
007 programando em python - funcoes
 
013 programando em python - arquivos
013   programando em python - arquivos013   programando em python - arquivos
013 programando em python - arquivos
 
02 while
02 while02 while
02 while
 
Estrutura cristalina
Estrutura cristalinaEstrutura cristalina
Estrutura cristalina
 
Proyecto parte 2
Proyecto parte 2Proyecto parte 2
Proyecto parte 2
 
Презентация город Челябинск
Презентация город ЧелябинскПрезентация город Челябинск
Презентация город Челябинск
 
Выборы в Польше 2015
Выборы в Польше 2015 Выборы в Польше 2015
Выборы в Польше 2015
 
Fibonacci
FibonacciFibonacci
Fibonacci
 
Proyecto pedro zurita 7
Proyecto pedro zurita 7 Proyecto pedro zurita 7
Proyecto pedro zurita 7
 
Análisis
AnálisisAnálisis
Análisis
 
Lenceria1
Lenceria1Lenceria1
Lenceria1
 
140628 seminar edu.
140628 seminar edu.140628 seminar edu.
140628 seminar edu.
 
MyMart Global Business Preview
MyMart Global Business PreviewMyMart Global Business Preview
MyMart Global Business Preview
 
Carlos delgado
Carlos delgadoCarlos delgado
Carlos delgado
 
jimmy hsyan chung
jimmy hsyan chungjimmy hsyan chung
jimmy hsyan chung
 
ฟิสิกส์
ฟิสิกส์ฟิสิกส์
ฟิสิกส์
 
Qu1 done
Qu1 doneQu1 done
Qu1 done
 
THE RECONDITE WISDOM OF GOD
THE RECONDITE WISDOM OF GODTHE RECONDITE WISDOM OF GOD
THE RECONDITE WISDOM OF GOD
 
Mentors - Profile
Mentors - ProfileMentors - Profile
Mentors - Profile
 

Similar a python.tipos

Py sintaxe
Py sintaxePy sintaxe
Py sintaxeFlapenta
 
Python: a primeira mordida
Python: a primeira mordidaPython: a primeira mordida
Python: a primeira mordidaLuciano Ramalho
 
Haskell aula2 tipos-e-classes
Haskell aula2 tipos-e-classesHaskell aula2 tipos-e-classes
Haskell aula2 tipos-e-classesCRISLANIO MACEDO
 
Henriquecristovao manual c-cpp
Henriquecristovao manual c-cppHenriquecristovao manual c-cpp
Henriquecristovao manual c-cppRUI VIEIRA
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonDiogo Gomes
 
Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Luciano Ramalho
 
Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10Marco Mendes
 
minicurso-python-getmeeting.pdf
minicurso-python-getmeeting.pdfminicurso-python-getmeeting.pdf
minicurso-python-getmeeting.pdfEduardoChicoJooJoo
 
ASP.Net Módulo 2
ASP.Net   Módulo 2ASP.Net   Módulo 2
ASP.Net Módulo 2michellobo
 
Estruturação de Linguagens de Programação (Pascal e C++)
Estruturação de Linguagens de Programação (Pascal e C++)Estruturação de Linguagens de Programação (Pascal e C++)
Estruturação de Linguagens de Programação (Pascal e C++)Mauricio Volkweis Astiazara
 
05 programando em python - tuplas e strings
 05   programando em python - tuplas e strings 05   programando em python - tuplas e strings
05 programando em python - tuplas e stringsVictor Marcelino
 
Aula3PythonBasico (1).ppt
Aula3PythonBasico (1).pptAula3PythonBasico (1).ppt
Aula3PythonBasico (1).pptMichaelArrais1
 

Similar a python.tipos (20)

Python.pptx
Python.pptxPython.pptx
Python.pptx
 
01 variaveis io if
01 variaveis io if01 variaveis io if
01 variaveis io if
 
Py sintaxe
Py sintaxePy sintaxe
Py sintaxe
 
Unidade7 1
Unidade7 1Unidade7 1
Unidade7 1
 
Python: a primeira mordida
Python: a primeira mordidaPython: a primeira mordida
Python: a primeira mordida
 
Haskell aula2 tipos-e-classes
Haskell aula2 tipos-e-classesHaskell aula2 tipos-e-classes
Haskell aula2 tipos-e-classes
 
Henriquecristovao manual c-cpp
Henriquecristovao manual c-cppHenriquecristovao manual c-cpp
Henriquecristovao manual c-cpp
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
 
Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)
 
Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10
 
Python Emsl2009
Python Emsl2009Python Emsl2009
Python Emsl2009
 
Linguagem_C.pdf
Linguagem_C.pdfLinguagem_C.pdf
Linguagem_C.pdf
 
Introdução a linguagem Python 2.7
Introdução a linguagem Python 2.7Introdução a linguagem Python 2.7
Introdução a linguagem Python 2.7
 
minicurso-python-getmeeting.pdf
minicurso-python-getmeeting.pdfminicurso-python-getmeeting.pdf
minicurso-python-getmeeting.pdf
 
ASP.Net Módulo 2
ASP.Net   Módulo 2ASP.Net   Módulo 2
ASP.Net Módulo 2
 
Estruturação de Linguagens de Programação (Pascal e C++)
Estruturação de Linguagens de Programação (Pascal e C++)Estruturação de Linguagens de Programação (Pascal e C++)
Estruturação de Linguagens de Programação (Pascal e C++)
 
python.comandos
python.comandospython.comandos
python.comandos
 
05 programando em python - tuplas e strings
 05   programando em python - tuplas e strings 05   programando em python - tuplas e strings
05 programando em python - tuplas e strings
 
Aula3PythonBasico (1).ppt
Aula3PythonBasico (1).pptAula3PythonBasico (1).ppt
Aula3PythonBasico (1).ppt
 
Aula3PythonBasico.ppt
Aula3PythonBasico.pptAula3PythonBasico.ppt
Aula3PythonBasico.ppt
 

Más de Leandro Barbosa

Más de Leandro Barbosa (8)

006 programando em python - dicionarios
006   programando em python - dicionarios006   programando em python - dicionarios
006 programando em python - dicionarios
 
05 listas
05 listas05 listas
05 listas
 
004 programando em python - listas
004   programando em python - listas004   programando em python - listas
004 programando em python - listas
 
03 algoritmos basicos
03 algoritmos basicos03 algoritmos basicos
03 algoritmos basicos
 
011 programando em python - conjuntos
011   programando em python - conjuntos011   programando em python - conjuntos
011 programando em python - conjuntos
 
05 biomassa
05 biomassa05 biomassa
05 biomassa
 
python
pythonpython
python
 
Lista de integração
Lista de integraçãoLista de integração
Lista de integração
 

Último

421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOAulasgravadas3
 
Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......suporte24hcamin
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESEduardaReis50
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2Maria Teresa Thomaz
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxMauricioOliveira258223
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorEdvanirCosta
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioDomingasMariaRomao
 

Último (20)

421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
 
Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptx
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de Professor
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medio
 

python.tipos

  • 2. Python como calculadora  O Interpretador python pode ser usado como  calculadora  Por exemplo, as quatro operações aritméticas são  denotadas pelos símbolos   + adição  ­ subtração   * multiplicação  / divisão
  • 3. Python como calculadora >>> 10 10 >>> # Um comentário é precedido do caracter "#" ... # Comentários são ignorados pelo interpretador ... 10+5 15 >>> 10-15 # Comentários podem aparecer também após código -5 >>> 10*3 30 >>> 10/3 3 >>> 10/-3 # Divisão inteira retorna o piso -4 >>> 10%3 # Resto de divisão inteira simbolizado por % 1
  • 4. Tipos de dados  São categorias de valores que são processados de  forma semelhante  Por exemplo, números inteiros são processados de  forma diferente dos números de ponto flutuante  (decimais) e dos números complexos  Tipos primitivos: são aqueles já embutidos no núcleo  da linguagem  Simples: números (int, long, float, complex) e cadeias  de caracteres (strings)  Compostos: listas, dicionários, tuplas e conjuntos  Tipos definidos pelo usuário: são correspondentes a  classes (orientação objeto)
  • 5. Variáveis  São nomes dados a áreas de memória  Nomes podem ser compostos de algarismos,letras ou _  O primeiro caractere não pode ser um algarismo  Palavras reservadas (if, while, etc) são proibidas  Servem para:  Guardar valores intermediários  Construir estruturas de dados  Uma variável é modificada usando o comando de atribuição: Var = expressão  É possível também atribuir a várias variáveis simultaneamente: var1,var2,...,varN = expr1,expr2,...,exprN
  • 6. Variáveis >>> a=1 >>> a 1 >>> a=2*a >>> a 2 >>> a,b=3*a,a >>> a,b (6, 2) >>> a,b=b,a >>> a,b (2, 6)
  • 7. Variáveis  Variáveis são criadas dinamicamente e destruídas  quando não mais necessárias, por exemplo, quando  saem fora de escopo (veremos isso mais tarde)  O tipo de uma variável muda conforme o valor  atribuído, i.e., int, float, string, etc.  Não confundir com linguagens sem tipo  Ex.: >>> a ="1" >>> b = 1 >>> a+b Traceback (most recent call last): File "<stdin>", line 1, in ? TypeError: cannot concatenate 'str' and 'int' objects
  • 8. Números  Há vários tipos numéricos que se pode usar em python  Int: números inteiros de precisão fixa   1  ,  2  , 15 , ­19  Long: números inteiros de precisão arbitrária  1L , 10000L , -9999999L  Floats: números racionais de precisão variável  1.0 , 10.5 , -19000.00005 , 15e-5  Complex: números complexos  1+1j , 20j , 1000+100J
  • 9. Números inteiros  Os ints têm precisão fixa ocupando tipicamente uma  palavra de memória   Em PC's são tipicamente representados com 32 bits     (de ­231­1 a 232)  Os números inteiros de precisão arbitrária (longs) são  armazenados em tantas palavras quanto necessário  Constantes do tipo long têm o sufixo L ou l   Longs são manipulados bem mais lentamente que ints  Quando necessário, cálculos usando ints são  convertidos para longs
  • 10. Números inteiros >>> a=2**30 # Potenciação >>> a 1073741824 >>> b=a*1000 >>> b 1073741824000L >>> b/1000 1073741824L
  • 11. Números inteiros  Constantes podem ser escritas com notação idêntica à  usada em C  Hexadecimal: preceder dígitos de 0x  Octal: preceder dígitos de 0  Ex.: >>> 022 18 >>> 0x10 16 >>> 0x1f 31
  • 12. Números de ponto flutuante  São implementados como os double's da linguagem C –  tipicamente usam 2 palavras  Constantes têm que possuir um ponto decimal ou serem  escritas em notação científica com a letra “e” (ou “E”)  precedendo a potência de 10  Ex: >>> 10 # inteiro 10 >>> 10.0 # ponto flutuante 10.0 >>> 99e3 99000.0 >>> 99e-3 0.099000000000000005
  • 13. Números complexos  Representados com dois números de ponto flutuante: um para a  parte real e outro para a parte imaginária  Constantes são escritas como uma soma sendo que a parte  imaginária tem o sufixo j ou J  Ex.: >>> 1+2j (1+2j) >>> 1+2j*3 (1+6j) >>> (1+2j)*3 (3+6j) >>> (1+2j)*3j (­6+3j)
  • 14. Strings  São cadeias de caracteres  Constituem outro tipo fundamental do python  Constantes string são escritas usando aspas simples ou duplas  Ex.: "a" ou 'a'  O operador “+” pode ser usado para concatenar strings  Ex.: "a"+"b" é o mesmo que "ab"  O operador “*” pode ser usado para repetir strings  Ex.: "a"*10 é o mesmo que "aaaaaaaaaa"
  • 15. Strings  Python usa a tabela de caracteres default do S.O.  Ex.: ASCII, UTF­8  Caracteres não imprimíveis podem ser expressos usando notação  “barra­invertida” ()  n é o mesmo que new line  r é o mesmo que carriage return  t é o mesmo que tab   b é o mesmo que backspace   é o mesmo que    x41 é o mesmo que o caractere cujo código hexadecimal é  41 (“A” maiúsculo)
  • 16. Strings >>> "abrd" 'abrd' >>> print "abrd" # print exibe chars não imprimíveis db >>> print "abctd" abc d >>> print "abcnd" abc d >>> print "abcnd" abcnd >>> print "abbc" ac >>> print "x41xA1" Aí
  • 17. Strings  A notação barra­invertida () pode ser desabilitada  desde que a constante string seja precedida por um r  (erre minúsculo)  São chamadas strings raw (cruas)  Ex.: >>> print "abcncdtef" abc cd ef >>> print r"abcncdtef" abcncdtef
  • 18. Strings  Constantes string podem ser escritas com várias linhas  desde que as aspas não sejam fechadas e que cada  linha termine com uma barra invertida  Ex.: >>> print "abcdn ... efghn ... ijk" abcd efgh ijk >>> print "abcd ... efgh ... ijk" abcdefghijk >>>
  • 19. Strings  Também é possível escrever constantes string em várias linhas  incluindo as quebras de linha usando três aspas como  delimitadores  Ex.: >>> print """ Um tigre dois tigres três tigres""" Um tigre dois tigres três tigres >>> print '''abcd efgh''' abcd efgh
  • 20. Strings – Índices  Endereçam caracteres individuais de uma string  Notação: string[índice]  O primeiro caractere tem índice 0  O último caractere tem índice ­1  Ex.:  >>> a = "abcde" >>> a[0] 'a' >>> a[-1] 'e'
  • 21. Strings – Fatias (slices)  Notação para separar trechos de uma string  Notação: string[índice1:índice2]  Retorna os caracteres desde o de índice1 (inclusive) até  o de índice2 (exclusive)  Se o primeiro índice é omitido, é assumido 0  Se o último índice é omitido, é assumido o fim da string
  • 22. Strings – Fatias (slices) >>> a 'abcde' >>> a[0:2] 'ab' >>> a [2:] 'cde' >>> a[:] 'abcde' >>> a[-1:] 'e' >>> a[:-1] 'abcd'
  • 23. Expressões booleanas  Também chamadas expressões lógicas  Resultam em verdadeiro (True) ou falso (False)  São usadas em comandos condicionais e de repetição  Servem para analisar o estado de uma computação e permitir escolher  o próximo passo   Operadores mais usados  Relacionais: > , < , ==, !=, >=, <=  Booleanos: and, or, not  Avaliação feita em “Curto­circuito”  Expressão avaliada da esquerda para a direita  Se o resultado (verdadeiro ou falso) puder ser determinado sem  avaliar o restante, este é retornado imediatamente 
  • 24. Expressões booleanas >>> 1==1 True >>> 1==2 False >>> 1==1 or 1==2 True >>> 1==1 and 1==2 False >>> 1<2 and 2<3 True >>> not 1<2 False >>> not 1<2 or 2<3 True >>> not (1<2 or 2<3) False >>> "alo" and 1 1 >>> "alo" or 1 'alo'
  • 25. Expressões booleanas  As constantes True e False são apenas símbolos  convenientes  Qualquer valor não nulo é visto como verdadeiro  enquanto que 0 (ou False) é visto como falso  O operador or retorna o primeiro operando se for vista como verdadeiro, caso contrário retorna o segundo  O operador and retorna o primeiro operando se for vista como falso, caso contrário retorna o segundo  Operadores relacionais são avaliados antes de not, que é avaliado antes de and, que é avaliado antes de or
  • 26. Expressões booleanas >>> 0 or 100 100 >>> False or 100 100 >>> "abc" or 1 'abc' >>> 1 and 2 2 >>> 0 and 3 0 >>> False and 3 False >>> 1 and 2 or 3 2 >>> 0 or 2 and 3 3 >>> 1 and not 0 True
  • 27. Funções Embutidas  Além dos operadores, é possível usar funções para  computar valores  As funções podem ser definidas:  Pelo programador (veremos + tarde)  Em módulos da biblioteca padrão  Por default: são as funções embutidas (built­in)  Na verdade, fazem parte do módulo __builtins__, que é sempre  importado em toda aplicação  Ex.:   abs(x) retorna o valor absoluto do número x  chr(x) retorna uma string com um único caractere cujo  código ASCII é x  ord(s) retorna o código ASCII do caractere s 
  • 28. Funções Embutidas >>> abs (10) 10 >>> abs (-19) 19 >>> chr (95) '_' >>> chr (99) 'c' >>> ord ('a') 97
  • 29. Importando módulos  Muitas funções importantes são disponibilizadas em  módulos da biblioteca padrão  Ex.: o módulo math tem funções transcendentais como  sin, cos, exp e outras  Um módulo pode conter não só funções mas também  variáveis ou classes  Por exemplo, o módulo math define a constante pi  Para usar os elementos de um módulo, pode­se usar o  comando import  Formatos:  import modulo  from modulo import nome,...,nome  from modulo import *
  • 30. Importando módulos  Por exemplo:  from math import * # importa todos os elementos do módulo math  from math import sin # importa apenas a função sin  import math # importa o módulo math como um todo # (todos os elementos têm que ser citados # precedidos por math.)
  • 31. Importando módulos >>> import math >>> a = sin(30) Traceback (most recent call last): File "<stdin>", line 1, in ? NameError: name 'sin' is not defined >>> a = math.sin(30) >>> from math import sin >>> a = sin(30) >>> print a -0.988031624093 >>> a = sin(radians(30)) Traceback (most recent call last): File "<stdin>", line 1, in ? NameError: name 'radians' is not defined >>> from math import * >>> a = sin(radians(30)) >>> a 0.49999999999999994
  • 32. Explorando Módulos >>> import math >>> help(math.cos) Help on built-in function cos in module math: cos(...) cos(x) Return the cosine of x (measured in radians). (END)  Pressiona­se “q” para retornar ao interpretador.