Python Poli




Python Poli
O que é Python ?


>>> Uma linguagem de programação de alto nível

>>> Criada por Guido van Rossum (BDFL)

>>> Criada em meados de 1989

>>> Nome provém de um grupo humorístico
britânico, o Monty Python.

>>> Sintaxe simples e fácil de ser assimilada

>>> Multiplataforma e Open Source
O que é Python ?


>>> Linguaguem Interpretada

>>> Atualmente há duas versões principais 2.6.x e 3.x

>>> Interpretador Interativo

>>> Tipagem dinâmica
O que é Python ?

>>> Orientada a Objetos

>>> Multiparadigma

>>> Grandes empresas vem adotando Python.

>>> Fácil de aprender

>>> Divertido de programar
Tipos de dados Internos



Python possui tipos de dados poderosos


Números - 3.141516 , 12346, 91123L, 3+2j, set([1,34,5]),True

Strings - 'Python', u”Casa”, ”guido's”

Listas - [[1,4,5], 2.12, 4, ”dados”, lambda x: x+5]

Dicionários - {”nome”: ”Olga”,”telefone”: 33312220}

Tuplas - (1, 2.3 , 3, set([2,3]), (u”IDLE”,))
Inteiro | int


Os tipos numéricos em Python são familiares a qualquer
um que conheça outra linguagem de programação.

                                               int('10',2)
                             divmod(10,3)



                                            chr(97)

                            Python não possui operadores de
                            incremento (++) e decremento (--)
                  abs(-1)
Inteiro Longo | long



A mudaça de Inteiro para Inteiro longo é feita automáticamente.


                                 O limite de tamanho de
                                 um inteiro longo depende
                                 apenas da memória do
                                 computador.


                                 Não existe cast em Python!
Ponto Flutuante | float
Os números de ponto flutuante são implementados como
valores ”double” da linguagem C.




                                      >=   maior igual
                                      <=   menor igual
                                      <    menor
                                      >    maior
                                      ==   igual
                                      !=   diferente
Complexo | complex


Os números complexos são definidos em Python pela parte
real + parte imaginária, onde a parte imaginária termina
com ”j” ou ”J”.


                                     1j * 1j
Boleano | bool


Boleano é um tipo lógico que basicamente assume duas formas

            True (verdadeiro) ou False (falso)




                   True + 1
String | str


String é uma conjunto de caracteres usados para
representar informações textuais. De uma maneira geral
string é muito fácil de ser manipulada em Python, talvez
seja mais complicado entender as várias formas de
escreve-las.
                                     Strings são imutáveis !
r'/dev/null' - String bruta
u'Programa' - String Unicode
”foo” - String definida com aspas duplas
'bar' - String definida com aspas simples
 ”””
Açaí, guardiã
Zum de besouro um imã
Branca é a tez da manhã
              Açai – Djavan””” - String com aspas triplas
String | str


Assim como a Linguagem C,     Formatação de string em
Python reconhece sequências   Python suporta todos os
de código de escape.          códigos de formato printf da
                              linguagem C
n - Nova linha
t - Tabulação horizontal     %s - String
v - Tabulação vertical       %f - Decimal
” - Aspas duplas             %d - Inteiro
' - Aspas simples            %i - Inteiro
 - Barra invertida          %% - %



 print ("n%d de %s de %d"%(26,"Maio",2010))
String | str

Assim como a linguagem C podemos acessar caracteres da
string através de indexação. Deslocamento começam em zero e
terminam no tamanho da string - 1.

                                   É possível obter o
                                   tamanho da string
                                   através da função
                                   len.


                                    len(”Python”)


                       Indexações negativas são permitidas
String | str


O fracionamento de strings é feito no formato
string[i:f] onde i é um valor inteiro que representa o
início (inclusivo) e f, o fim (exclusivo).


                            Se forem omitidos os limites
                            do fracionamento, ele terá o 0
                            como início e o comprimento
                            da string como fim.

                                     ”Casa”[::]
Lista | list

                     Alguns métodos do tipo Lista

L.append(elemento) - Insere o elemento no fim da lista.
L.append([posição]) - Retira o último elemento da lista.
L.sort() - Ordena a lista
L.remove(elemento) - remove a primeira ocorrência do elemento na lista
L.count(elemento) - Conta o número de aparições do elemento na lista.
L.insert(posição,elemento) - Insere na posição informada o elemento.
L.reverse() - Inverte a lista.


        lista = range(10)
        lista.append(lista)   ?                       sum(range(1,101))
String | str

                       Alguns métodos do tipo str
S.replace(antiga,nova[,maxvezes]) -                retorna uma string com a substring
antiga substituída pela nova.
S.upper() - retorna uma string com todas os caracteres maiúsculos.
S.islower() - retorna True se todos os caracteres forem maiscúlos,    False se forem
minúsculos.
S.count(sub,[,inicio,[fim]]) -          retorna o número de aparições da substring na
string.
S.center(tamanho[,preenchimento]) -                   retorna uma string centralizada
numa linha do tamanho especificado.
S.isdigit() - retorna True se o a string for um dígito e False caso não seja.
S.strip([char]) - retorna uma string sem os espaços em branco do início e do fim.
Lista | list


Fazendo uma analogia com a Linguagem C, lista assemelha-se
a um vetor porém elas tem comprimento variável e podem
conter quaquer tipo de objeto. Assim como String podem sofrer
indexação, fracionamento e concatenação.



                                       Listas são mutáveis !
Tupla | tuple

Tupla é um tipo semelhante a Lista, exceto que tuplas são
imutáveis e são definidas por parênteses.


                                 x = (12)
                                 y = (12,)

                                 x != y


                                          tuple(range(3))
Dicionário | dict

Dicionário coleção de dados mutável onde os itens são
armazenados no formato chave:valor.
Dicionário | dict


                   Alguns métodos do tipo dicionário

D.values() - Retorna uma lista com os itens
D.keys() - Retorna uma lista com as chaves
D.has_key(elemento) - True se o elemento for uma chave do dicionário ou
False caso não seja .
D.update(dicionario) - Atualiza o dicionário com o dicionário passado no
argumento.
D.get(chave) - Retorna o valor da chave, caso a chave não exista retorna None
Código
Código


Python detecta blocos de
código      através     da
indentação.     Todas   as
instruções indentadas com
a mesma distância à direita
pertencem ao mesmo bloco
de código

É convenção utilizar 4
espaços como indentação
if/else


                        Formato Geral


If <teste1> :
   <instruções>
elif <teste2>: # opcional
   <instruções>
else: # opcional
   <instruções>
                                        Python | C

                                        and         &&
                                        or          ||
                                        not          !
while


     A instrução while é semelhante as outras linguagens.

                      Formato Geral

while <teste>:
   <instruções> # miolo
else:      # opcional
   <instruções> # executado se
               # não saiu do loop
               # com um break


continue e break funcionam do mesmo modo que a linguagem C
for


A instrução for intera sobre sequências e funciona da seguinte
maneira durante a execução do laço, a referência aponta para
um elemento da sequência. A cada iteração, a referência é
atualizada, para que o bloco de código do for processe o
elemento correspondente.


                                     O laço for em Python
     for variavel in sequencia:      assemelha ao foreach
         <instrução>                 de PHP e C#
     else: #opcional
         <instrução>
for
Contato


             Rodrigo Lira
     rodrigoclira@yahoo.com.br
  http://rodrigolira.wordpress.com

       Anderson de Oliveira
andersonoliveiramarques@gmail.com
       www.dsc.upe.br/~aom

            Sergio Ribeiro
     serginhofribeiro@gmail.com
         www.dsc.upe.br/~sfr

                        Python Poli
      http://br.groups.yahoo.com/group/pythonpoli

Introdução a Python - Python Poli

  • 1.
  • 2.
    O que éPython ? >>> Uma linguagem de programação de alto nível >>> Criada por Guido van Rossum (BDFL) >>> Criada em meados de 1989 >>> Nome provém de um grupo humorístico britânico, o Monty Python. >>> Sintaxe simples e fácil de ser assimilada >>> Multiplataforma e Open Source
  • 3.
    O que éPython ? >>> Linguaguem Interpretada >>> Atualmente há duas versões principais 2.6.x e 3.x >>> Interpretador Interativo >>> Tipagem dinâmica
  • 4.
    O que éPython ? >>> Orientada a Objetos >>> Multiparadigma >>> Grandes empresas vem adotando Python. >>> Fácil de aprender >>> Divertido de programar
  • 5.
    Tipos de dadosInternos Python possui tipos de dados poderosos Números - 3.141516 , 12346, 91123L, 3+2j, set([1,34,5]),True Strings - 'Python', u”Casa”, ”guido's” Listas - [[1,4,5], 2.12, 4, ”dados”, lambda x: x+5] Dicionários - {”nome”: ”Olga”,”telefone”: 33312220} Tuplas - (1, 2.3 , 3, set([2,3]), (u”IDLE”,))
  • 6.
    Inteiro | int Ostipos numéricos em Python são familiares a qualquer um que conheça outra linguagem de programação. int('10',2) divmod(10,3) chr(97) Python não possui operadores de incremento (++) e decremento (--) abs(-1)
  • 7.
    Inteiro Longo |long A mudaça de Inteiro para Inteiro longo é feita automáticamente. O limite de tamanho de um inteiro longo depende apenas da memória do computador. Não existe cast em Python!
  • 8.
    Ponto Flutuante |float Os números de ponto flutuante são implementados como valores ”double” da linguagem C. >= maior igual <= menor igual < menor > maior == igual != diferente
  • 9.
    Complexo | complex Osnúmeros complexos são definidos em Python pela parte real + parte imaginária, onde a parte imaginária termina com ”j” ou ”J”. 1j * 1j
  • 10.
    Boleano | bool Boleanoé um tipo lógico que basicamente assume duas formas True (verdadeiro) ou False (falso) True + 1
  • 11.
    String | str Stringé uma conjunto de caracteres usados para representar informações textuais. De uma maneira geral string é muito fácil de ser manipulada em Python, talvez seja mais complicado entender as várias formas de escreve-las. Strings são imutáveis ! r'/dev/null' - String bruta u'Programa' - String Unicode ”foo” - String definida com aspas duplas 'bar' - String definida com aspas simples ””” Açaí, guardiã Zum de besouro um imã Branca é a tez da manhã Açai – Djavan””” - String com aspas triplas
  • 12.
    String | str Assimcomo a Linguagem C, Formatação de string em Python reconhece sequências Python suporta todos os de código de escape. códigos de formato printf da linguagem C n - Nova linha t - Tabulação horizontal %s - String v - Tabulação vertical %f - Decimal ” - Aspas duplas %d - Inteiro ' - Aspas simples %i - Inteiro - Barra invertida %% - % print ("n%d de %s de %d"%(26,"Maio",2010))
  • 13.
    String | str Assimcomo a linguagem C podemos acessar caracteres da string através de indexação. Deslocamento começam em zero e terminam no tamanho da string - 1. É possível obter o tamanho da string através da função len. len(”Python”) Indexações negativas são permitidas
  • 14.
    String | str Ofracionamento de strings é feito no formato string[i:f] onde i é um valor inteiro que representa o início (inclusivo) e f, o fim (exclusivo). Se forem omitidos os limites do fracionamento, ele terá o 0 como início e o comprimento da string como fim. ”Casa”[::]
  • 15.
    Lista | list Alguns métodos do tipo Lista L.append(elemento) - Insere o elemento no fim da lista. L.append([posição]) - Retira o último elemento da lista. L.sort() - Ordena a lista L.remove(elemento) - remove a primeira ocorrência do elemento na lista L.count(elemento) - Conta o número de aparições do elemento na lista. L.insert(posição,elemento) - Insere na posição informada o elemento. L.reverse() - Inverte a lista. lista = range(10) lista.append(lista) ? sum(range(1,101))
  • 16.
    String | str Alguns métodos do tipo str S.replace(antiga,nova[,maxvezes]) - retorna uma string com a substring antiga substituída pela nova. S.upper() - retorna uma string com todas os caracteres maiúsculos. S.islower() - retorna True se todos os caracteres forem maiscúlos, False se forem minúsculos. S.count(sub,[,inicio,[fim]]) - retorna o número de aparições da substring na string. S.center(tamanho[,preenchimento]) - retorna uma string centralizada numa linha do tamanho especificado. S.isdigit() - retorna True se o a string for um dígito e False caso não seja. S.strip([char]) - retorna uma string sem os espaços em branco do início e do fim.
  • 17.
    Lista | list Fazendouma analogia com a Linguagem C, lista assemelha-se a um vetor porém elas tem comprimento variável e podem conter quaquer tipo de objeto. Assim como String podem sofrer indexação, fracionamento e concatenação. Listas são mutáveis !
  • 18.
    Tupla | tuple Tuplaé um tipo semelhante a Lista, exceto que tuplas são imutáveis e são definidas por parênteses. x = (12) y = (12,) x != y tuple(range(3))
  • 19.
    Dicionário | dict Dicionáriocoleção de dados mutável onde os itens são armazenados no formato chave:valor.
  • 20.
    Dicionário | dict Alguns métodos do tipo dicionário D.values() - Retorna uma lista com os itens D.keys() - Retorna uma lista com as chaves D.has_key(elemento) - True se o elemento for uma chave do dicionário ou False caso não seja . D.update(dicionario) - Atualiza o dicionário com o dicionário passado no argumento. D.get(chave) - Retorna o valor da chave, caso a chave não exista retorna None
  • 21.
  • 22.
    Código Python detecta blocosde código através da indentação. Todas as instruções indentadas com a mesma distância à direita pertencem ao mesmo bloco de código É convenção utilizar 4 espaços como indentação
  • 23.
    if/else Formato Geral If <teste1> : <instruções> elif <teste2>: # opcional <instruções> else: # opcional <instruções> Python | C and && or || not !
  • 24.
    while A instrução while é semelhante as outras linguagens. Formato Geral while <teste>: <instruções> # miolo else: # opcional <instruções> # executado se # não saiu do loop # com um break continue e break funcionam do mesmo modo que a linguagem C
  • 25.
    for A instrução forintera sobre sequências e funciona da seguinte maneira durante a execução do laço, a referência aponta para um elemento da sequência. A cada iteração, a referência é atualizada, para que o bloco de código do for processe o elemento correspondente. O laço for em Python for variavel in sequencia: assemelha ao foreach <instrução> de PHP e C# else: #opcional <instrução>
  • 26.
  • 27.
    Contato Rodrigo Lira rodrigoclira@yahoo.com.br http://rodrigolira.wordpress.com Anderson de Oliveira andersonoliveiramarques@gmail.com www.dsc.upe.br/~aom Sergio Ribeiro serginhofribeiro@gmail.com www.dsc.upe.br/~sfr Python Poli http://br.groups.yahoo.com/group/pythonpoli