P. 1
IA Aula Python

IA Aula Python

|Views: 2|Likes:
Published by Gustavo 39

More info:

Published by: Gustavo 39 on Nov 17, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less

11/17/2013

pdf

text

original

Inteligência Artificial

Aula 7 Profª Bianca Zadrozny http://www.ic.uff.br/~bianca/ia

Características de Python
• Gratuita. Roda em muitas plataformas.
– Pode ser baixada em www.python.org

• Fácil de ler.
– Ao contrário de Perl = “write only language”

• Tempo de implementação rápido.
– Ao contrário de Java.

• Orientada a objeto.

Aula 7 - 01/09/2010

2

Baixando e Instalando
• Baixar o Python 2.7 no site www.python.org
– Para o Windows baixar o Python 2.7 Windows installer e instalar usando as opções default.

• Além do interpretador, será instalada uma IDE (IDLE).

Aula 7 - 01/09/2010

3

Operadores • O interpretador de Python pode ser usado para avaliar expressões aritméticas.01/09/2010 4 . >>> 1==0 False >>> not (1==0) True >>> (2==2) and (2==3) False >>> (2==2) or (2==3) True Aula 7 . >>> 1 + 1 2 >>> 2 * 3 6 • Operadores booleanos podem ser usados para manipular os valores True e False.

O operador + pode ser usado para concatenação. facilitando o aninhamento de strings. Python tem um tipo string definido na própria linguagem.upper() 'ARTIFICIAL' >>> 'HELP'.01/09/2010 5 .Strings • Como Java. >>> 'inteligencia' + "artificial" 'inteligenciaartificial' • Existem muitos métodos para manipular strings. >>> 'artificial'.lower() 'help' >>> len('Help') 4 • Podemos usar aspas simples ou duplas. Aula 7 .

simplesmente atribuímos valores a um nome e a variável com aquele nome passa a existir.5 Aula 7 .upper() 'HELLO WORLD' >>> len(s. >>> s = 'hello world' >>> print s hello world >>> s.Variáveis • Em Python não existe declaração de variáveis.5 >>> print num 10.01/09/2010 6 .0 >>> num += 2.upper()) 11 >>> num = 8.

'rjust'.Comandos de ajuda • Para descobrir os métodos para um determinado tipo. Return -1 on failure.01/09/2010 7 .) S. '__gt__'. '__setattr__'. '__contains__'. '__getnewargs__'. '__doc__'. '__len__'. >>> s = 'abc' >>> dir(s) ['__add__'. 'count'. 'center'. 'startswith'. '__rmod__'. '__class__'. '__str__'. 'lstrip'.'rindex'. 'translate'. 'rsplit'. 'istitle'. '__ne__'. 'replace'. '__mul__'.end]]) -> int Return the lowest index in S where substring sub is found. >> s. 'isupper'. 'capitalize'. 'expandtabs'. 'index'. 'isalpha'. '__ge__'. 'join'.start [.'__repr__'. 'rfind'. 'rstrip'. 'lower'. '__rmul__'. '__reduce__'. 'isspace'.find(sub [. podemos usar os comandos dir e help. '__delattr__'. 'decode'.. '__lt__'. 'endswith'. 'encode'. '__eq__'. Optional arguments start and end are interpreted as in slice notation. '__new__'. '__mod__'. '__getattribute__'. 'split'.end]. '__getslice__'. '__reduce_ex__'. 'zfill'] >>> help(s. 'swapcase'. 'ljust'. '__getitem__'.. such that sub is contained within s[start. 'isdigit'. '__init__'. 'splitlines'. 'find'.'__le__'. '__hash__'. 'isalnum'. 'upper'. 'strip'.find('b') 1 Aula 7 . 'title'. 'islower'.find) Help on built-in function find: find(.

Listas • É uma estrutura de dados própria da linguagem para guardar sequências de itens. podemos modificar elementos da lista individualmente. 'abacaxi'. isto é.'banana'] >>> frutas[0] 'laranja' >>> frutas[1]= 'abacaxi‘ >>> frutas ['laranja'. • É mutável. >>> frutas = ['laranja'.'pera'.01/09/2010 8 .'banana'] Aula 7 .

'abacaxi'.) • Podemos usar o operador + para concatenação de listas.pop() 'banana' >>> frutas ['laranja'. 'abacaxi'.Listas (cont.append('ameixa') >>> frutas ['laranja'. 'ameixa'] Aula 7 .01/09/2010 9 . 'banana'. 'morango'] • Podemos usar índices negativos a partir do final da lista. 'abacaxi'] >>> frutas.'kiwi'. 'morango'] >>> frutas + outrasFrutas >>> ['laranja'. >>> frutas[-2] ‘abacaxi' >>> frutas. >>> outrasFrutas = ['kiwi'.

03/04/2009 .Indexação e Quebra Aula 7 .

'ameixa'] >>> frutas[1:] ['abacaxi'. 'abacaxi'] >>> frutas[:3] ['laranja'.) • Podemos indexar pedaços de listas.Listas (cont.01/09/2010 11 . 'abacaxi'. 'ameixa']] >>> len(frutas) 3 Aula 7 . >>> frutas[0:2] ['laranja'.

[1.3].['um'.[1.'b'.01/09/2010 12 . 'b']. 2.'tres']] >>> listaDeListas[1][2] 3 >>> listaDeListas[0].['um'.'c'].pop() 'c' >>> listaDeListas [['a'. >>> listaDeListas = [['a'.'dois'.2.Listas (cont. inclusive outras listas. 3].) • Listas podem conter elementos de qualquer tipo. 'tres']] Aula 7 . 'dois'.

• Usa-se parênteses ao invés de colchetes.01/09/2010 13 .Tuplas • Tuplas são estruturas similares a listas.y = par >>> x 3 >>> y 5 >>> par[1] = 6 TypeError: object does not support item assignment Aula 7 .5) >>> par[0] 3 >>> x. exceto que são imutáveis. >>> par = (3.

'polygon']) >>> 'circle' in setOfShapes True >>> 'rhombus' in setOfShapes False >>> favoriteShapes = ['circle'.setOfFavoriteShapes set(['square'.'triangle']) >>> setOfShapes | setOfFavoriteShapes set(['circle'.'hexagon'] >>> setOfFavoriteShapes = set(favoriteShapes) >>> setOfShapes .01/09/2010 14 .'triangle'.add('polygon') >>> setOfShapes set(['circle'.'circle'] >>> setOfShapes = set(shapes) >>> setOfShapes set(['circle'.'square'.'polygon'.'triangle']) >>> setOfShapes.'triangle'.'hexagon']) Aula 7 .'square'.'polyon']) >>> setOfShapes & setOfFavoriteShapes set(['circle'.'square'.'square'. >>> shapes = ['circle'.Conjuntos • Conjuntos são estruturas de dados que armazenam listas não-ordenadas sem duplicatas.'triangle'.'triangle'.

Dicionários • Dicionários são endereçados por chave. inclusive outros dicionários. – Podem ser vistos como uma coleção de pares chave:valor. • Tem tamanho variável e podem conter objetos de qualquer tipo.01/09/2010 15 . • São coleções não-ordenadas de objetos arbitrários. Aula 7 . não por posição. • São mutáveis como as listas.

Dicionários (cont.01/09/2010 16 .) Aula 7 .

(). ‘’ funcionam como falso. o resto é verdadeiro.03/04/2009 . – False. • A indentação ajuda na legibilidade do código. *+. • Expressões depois do if e elif podem ser de quase qualquer tipo. – É o único lugar onde o espaço em branco importa. 0. Aula 7 .Execução Condicional • A indentação determina a estrutura do bloco.

Aula 7 .03/04/2009 .Laços “While” • Um laço do tipo “while” continua enquanto a expressão no topo for verdadeira.

03/04/2009 . • O uso de “range” pode ser útil. Aula 7 .Laços “For” • “For” é usado pra percorrer uma seqüência qualquer de objetos.

Aula 7 .Laços “For” • Fazer alguma coisa com cada item de uma lista.03/04/2009 .

Exemplo: Interseção Aula 7 .03/04/2009 .

03/04/2009 . importadas e definidas pelo usuário • “Built-in” • Importadas • Definidas pelo usuário Aula 7 .Funções “built-in”.

Definição de funções • Def cria um objeto do tipo função e dá um nome a ele. Aula 7 . • Return retorna um objeto a quem chamou a função.03/04/2009 .

Exemplo Aula 7 .03/04/2009 .

Aula 7 .03/04/2009 .Variáveis locais • Variáveis dentro de uma função são locais àquela função.

Passagem de Parâmetros • Objetos imutáveis são passados “por valor”.03/04/2009 . Aula 7 .

Passando parâmetros mutáveis • Números. Aula 7 . • Objetos mutáveis são passados “por referência”. strings e tuplas são imutáveis enquanto listas e dicionários são mutáveis.03/04/2009 .

03/04/2009 .Número variável de parâmetros Aula 7 .

03/04/2009 .Parâmetros opcionais Aula 7 .

03/04/2009 .Múltiplos parâmetros opcionais Aula 7 .

Número arbitrário de parâmetros opcionais • A notação ** recebe todos os parâmetros extra em um dicionário.03/04/2009 . Aula 7 .

01/09/2010 32 .Definição de Classes Aula 7 .

01/09/2010 33 .py.Usando objetos • Supõe-se que a definição das classes está no arquivo shop. Aula 7 .

01/09/2010 34 .py Aula 7 .Variáveis Estáticas person_class.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->