Aula 001 - Bem-vindo à Home Page de Juliano J. Scremin

Propaganda
Introdução à Linguagem
Curso de Nivelamento do PPGMNE
Janeiro / 2011
Juliano J. Scremin – [email protected]
Um pouco de história
Um pouco de história:
Nascimento do Python
Um pouco de história:
Bases do Python
Um pouco de história:
Ambiente de concepção
Introdução
Introdução:
Características Básicas
•
Interpretada: usa máquina virtual, facilita portabilidade.
•
Interativa: pode-se programar interativamente, os comandos podem
ser executados enquanto são digitados. Facilita testes,
desenvolvimento rápido e outros.
•
Orientada a Objetos: tudo é objeto: números, strings, funções,
classes,instâncias, métodos, ...
•
Fortemente Tipada: Não existe casts e nem conversão automática,
não se mistura tipos - ” automagicamente”.
•
Tipagem Dinâmica: A tipagem de um objeto é feita em tempo de
execução. Um objeto tem tipo, uma variável não.
Introdução:
Obtenção e instalação
•
Python é um software livre, ou seja, não há custos para a obtenção
dele. Em nosso curso utilizaremos uma suite de desenvolvimento
conhecida como “PythonXY” que pode ser baixada no seguinte
site: www.pythonxy.com ou mais precisamente no link:
http://ftp.ntua.gr/pub/devel/pythonxy/Python(x,y)-2.6.5.6.exe
•
Python (x, y) é uma distribuição científica do Python baseada no Qt
e Eclipse. Sua finalidade é ajudar os programadores científicos que
utilizam linguagens interpretadas (como MATLAB ou IDL) ou
linguagens compiladas (C/C++ ou Fortran), a mudar para Python.
Programadores de C/C++ ou Fortran vão apreciar poder reutilizar
seus códigos ― tal como estãoǁ usando um wrapper e podendo
assim chamá-los diretamente a partir de scripts em Python.
Introdução:
Aparência da Suite Python(x,y)
•
Python(x,y) conta com um número
considerável de aplicativos como
Eclipse, Qt, MayaVI.
•
Neste curso faremos uso do
“Spyder” por ser um aplicativo
mais compacto e muito funcional
Sintaxe Básica
Sintaxe Básica:
Linhas lógicas
•
Um programa em Python é constituído
de linhas lógica
•
Linhas Lógicas são terminadas
com uma nova linha;
•
Exceto quando explicitamente
continuadas na próxima linha
física, para isto usa-se o “ \ ”.
•
Ou implicitamente continuadas
na próxima linha física por
expressões que usam
parênteses, colchetes ou chaves
Sintaxe Básica:
Linhas lógicas
•
Ao criar um novo arquivo de código
no Eclipse ele inicia com a
“codificação utf-8” que não suporta os
caracteres da língua portuguesa, logo
temos que trocar a primeira linha para:
# -*- coding: cp1252 -*•
Textos com várias linhas são iniciados
e terminados com “três aspas”
(podem ser duplas ou simples) – como
no comentário abaixo da linha inicial
•
Para inserir comentários de apenas
uma linha basta iniciar a linha com o
caractere # (jogo da velha – shift+3)
Sintaxe Básica:
Objeto
Python é uma linguagem orientada a objeto, sendo assim as estruturas de
dados possuem atributos (os dados em si) e métodos (rotinas associadas
aos dados). Tanto os atributos quanto os métodos são acessados usando
ponto (.).
Para mostrar um atributo:
print objeto.atributo
Para executar um método:
objeto.metodo(argumentos)
Mesmo um método sem argumentos precisa de parênteses:
objeto.metodo()
O ponto também é usado para acessar estruturas de módulos que foram
importados pelo programa.
Sintaxe Básica:
Identação
•
Em Python não existem palavras chave
para “abrir” ou “fechar” um bloco de
códigos
•
Usa-se a identação para definir o início
e fim do bloco de códigos com o uso
da tecla TAB
•
Cuidado com o uso de espaços –
prefira sempre o TAB para realizar a
identação
•
Cuidado com a identação – muitos
erros em códigos são devido a não
observação dela
Sintaxe Básica:
Tipos de Dados
Sintaxe Básica:
Variáveis
•
Python usa tipagem dinâmica: uma variável não tem tipo fixo, ela tem o tipo do
objeto que ela contém. ( Ou seja não é necessário declarar variáveis )
•
Para criar um novo conteúdo para a variável é necessário apenas uma
atribuição. Para atribuir por exemplo o valor 2 a variável number basta escrever:
number = 2
•
Um conteúdo é destruído e recolhido pelo coletor de lixo quando nenhuma
variável ou estrutura aponta mais para ele.
Sintaxe Básica:
Números
Sintaxe Básica:
Exemplos de Manipulação de Números
Sintaxe Básica:
Texto
Sintaxe Básica:
Exemplos de Manipulação de Texto
Sintaxe Básica:
Exemplos de Interpolação de Texto
Sintaxe Básica:
Conversões de Tipos de Dados
•
int() :
converte um número real em inteiro por truncamento das casas
decimais como também converte um número inteiro em formato texto
(ex. ‘345’) para inteiro
•
float() :
converte um número inteiro para real como também converte um
número inteiro ou um número real em formato texto (ex. ‘345’ ,
‘345.729’ para real )
•
str() :
converte qualquer número, seja inteiro ou real para o tipo texto (string)
Sintaxe Básica:
Entrada e Saída de Dados
•
Para ler um dado via teclado e armazená-lo em uma variável o comando a ser
usado é “input” e sua sintaxe é:
nome_da_variável = input(‘Texto que aparecerá na tela:’)
•
Já para imprimir na tela um dado basta o comando “print”:
print dado_1,dado_2,dado_3,
•
Os dados podem ser valores numéricos ou ainda texto, podendo ser por
exemplo uma indicação do que é o dado que será plotado após a próxima
vírgula:
print ‘valor do dado_1:’,dado_1
Sintaxe Básica:
Exemplo de Entrada e Saída de Dados
Sintaxe Básica:
Operadores
Operador
Descrição
Operador
Descrição
+
adição
&
“e” lógico (and)
-
subtração
|
“ou” lógico (or)
*
multiplicação
^
“ou exclusivo” (xor)
**
potenciação
<
menor
/
divisão
>
maior
//
divisão por baixo (floor)
<=
menor ou igual
%
módulo (resto da divisão)
>=
maior ou igual
==
igual lógico
!=
diferente lógico
Estruturas de Dados
Estruturas de Dados:
Listas
•
Listas em Python são coleções heterogêneas de objetos, que podem ser de
qualquer tipo, inclusive de outras listas
•
Elas são mutáveis podendo ser alteradas a qualquer momento na execução do
código
Estruturas de Dados:
Manipulação de Listas : .append()
Estruturas de Dados:
Manipulação de Listas : referência
Estruturas de Dados:
Manipulação de Listas :
extend(), insert(), remove(), count()
list.extend(L)
expande a lista existente adicionando como objetos diferentes (e não
como apenas um único objeto lista) todos os elementos de uma lista
(representada por L).
list.insert(i, x)
insere um item em uma dada posição numa lista (i representa a posição na
lista onde o elemento será inserido, movendo para adiante os elementos
posteriores, e x representa o item a ser inserido)
list.remove(x)
remove o elemento x de dentro da lista.
list.count(x)
retorna o número de vezes que o elemento x aparece na lista.
Estruturas de Dados:
Manipulação de Listas :
pop(), index(), sort(), reverse()
list.pop([i])
remove o item especificado na posição i declarada entre [ ] e retorna este
valor para o usuário. Caso nenhum índice de posição seja especificado é
removido o último item da lista.
list.index(x)
retorna o índice da lista onde o primeiro elemento x aparece. Caso o
elemento não conste na lista aparece uma mensagem de erro.
list.sort()
ordena de forma crescente a lista.
list.reverse()
inverte a ordem dos elementos na lista
Estruturas de Dados:
Operações com Listas
Soma de listas:
Soma de trechos de listas:
Outras operações importantes:
Download