0% acharam este documento útil (0 voto)
34 visualizações13 páginas

Introdução à Programação em Python

Este documento introduz a linguagem de programação Python. Apresenta suas características, seus tipos de dados elementares e de contêineres, bem como operações em listas e cadeias de caracteres.

Traduzido por

ScribdTranslations
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
34 visualizações13 páginas

Introdução à Programação em Python

Este documento introduz a linguagem de programação Python. Apresenta suas características, seus tipos de dados elementares e de contêineres, bem como operações em listas e cadeias de caracteres.

Traduzido por

ScribdTranslations
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Universidade de Monastir

Faculdade de Ciências de Monastir


Departamento de Ciências da Computação
Iniciação em Python
Matéria: Informática Classe : LSI2
Prof : Soumaya Gaâliche

Eu. Introdução :

Python é uma linguagem de programação orientada a objetos criada na década de 1990 por
desenvolvedor holandês Guido Van Rossum e muitos colaboradores, classificado em 5º por
ULTIME, 4º pelo IEEE, 3º pelo IT Redmonk e 8º pela TIOB como empresa de software (TIOB:
A Importância de Ser Sério.

Características :

Python é um software livre "free": uso sem restrições em projetos


comerciais.
Python é uma linguagem portátil (pode funcionar em diferentes plataformas de SO
(sistema operacional).
Python é adequado tanto para scripts de dez linhas quanto para projetos
complexos de várias dezenas de milhares de linhas.
A sintaxe do Python é muito simples e combinada com tipos de dados avançados.
Python é uma linguagem orientada a objetos -> tudo é objeto: dados, funções, módulos, …
um objeto B possui:
. Identidade (endereço de memória), id (B)

>>> B=10
>>> id(B)
505626248

. Um typetype(B) : (intrínseco: int, float, bool, ... ou definido pelo usuário a


a ajuda de uma classe

B=10
>>> tipo(B)
<classe 'int'>

. Contém dados (valores)


. O operador compara a identidade de dois objetos (endereço)
. O operador == compara o conteúdo de dois objetos

Uma vez instalado, o Python pode ser utilizado em dois modos:

. O modo interativo: As instruções digitadas no interpretador da linha de


Os comandos Python (shell Python) são executados diretamente.

Página1de13
. O modo script: um script Python pode ser inserido em um arquivo com extensão .py
executado no interpretador Python.

II. Generalidades:
Afectação

A atribuição é feita com o sinal =. Atenção, o nome não deve começar com um número.

>>> A=45
A=A+2
A
47
É possível realizar atribuições simultâneas:

Página 2 de 13
>>> a,b,c=1,2,3
>>> a
1
>>> b
2
>>> c
3
Ou múltiplo

>>> A=B=7
A=A+1
A
8
>>> B
7

1. Os tipos em Python :
1.1. Os tipos elementares:

Python possui quatro tipos simples: bool, int, float, complexo

a. O tipo booleano <classe bool>:


Duas valores possíveis: Verdadeiro, Falso
Operadores de comparação: == (igualdade), != (diferente), >, <, >= e <=
Operadores lógicos: não, ou e e
b. O tipo inteiro :<classe int>

O tipo inteiro é limitado em tamanho apenas pela memória da máquina. As principais


operações :

Operações aritméticas:

>>> 3+7 #adição


10
>>> 5-3 #subtração
2
>>> 45*9 #multiplicação
405
8**2 #potência
64
>>> 9/3 #divisão
3.0
>>> 8//2 #divisão inteira (8div2)
4
>>> 8%4 #módulo (8mod4)
0
>>> abs(8-12) #valor absoluto
4

Página 3 de 13
Os operadores de comparação: <, <=, >, >=, ==, !=

c. O tipo real <classe float>:

Um float é notado por um ponto decimal (nunca com uma vírgula) ou em notação exponencial
com um « e » simbolizando o « 10 elevado » seguido dos números do expoente. Por exemplo :

2.718
2,718
.02
0,02
-1,6e-19
-1.6e-19
6,02e23
6,02e+23

Os flutuantes suportam as mesmas operações que os inteiros, eles têm uma precisão finita
limitada.

d. O tipo complexo <classe complex>:

Os complexos são escritos em notação cartesiana formada por dois flutuantes (parte real e
parte imaginária que é suffixada por j):

>>>a=2+3j
>>> tipo(a)
<classe 'complex'>
[Link] #parte real
2.0
[Link] #parte imaginária
3.0

2.2. Tipos de contêineres :

Um contêiner é um objeto composto destinado a conter outros objetos: distinguimos os


sequências (incluindo os tipos string, lista, tupla), tabelas associativas, conjuntos
(incluindo os tipos set e frozenset), dicionários e arquivos de texto. Os
Contêineres são objetos iteráveis.

Duas classificações são possíveis:

Mutáveis (modificação autorizada) e não mutáveis (modificação não autorizada)


Ordenados e não ordenados
2.2.1. As sequências:

Uma sequência é um contêiner ordenado de elementos indexados por inteiros indicando seus
posições no contêiner. Os índices começam em 0. se S for uma sequência:

Página 4 de 13
S[i] retorna o i+1º elemento de S
S [: a] subsequência de elementos do início até o elemento de índice a excluído
S [a :]subsequência de elementos do índice a incluídos até o final da sequência
S [ :] toda a sequência
S [a : b] subsequência de elementos indo do índice a incluídos até o elemento
de índice b excluído
S [a : b : c] sob sequência de elementos do índice a incluídos até o elemento do índice b
exclu por não igual a c.
a. As listas :

Uma lista é uma coleção ordenada e modificável de elementos possivelmente heterogêneos.


separados por vírgulas e definidos entre colchetes, os índices de lista começam em 0, cada
a lista pode ser dividida, concatenada,…

>>> L=['info','math','phys','STI','ang','fran']
>>> L
['info', 'math', 'phys', 'STI', 'ang', 'fran']
>>> tipo(L)
<classe 'lista'>
>>> L[0]
info
L[-1]
fran
>>> len(L)
6
>>>L[2:4]
['phys', 'STI']
>>> 2*L[0:]
['info', 'math', 'phys', 'STI', 'ang', 'fran', 'info', 'math', 'phys', 'STI', 'ang', 'fran']
>>> ['MP','PC'] +L
MP
[Link](6) #adição ao final da lista
>>> L
['info', 'math', 'phys', 'STI', 'ang', 'fran', 6]
>>> [Link](0,'FSM') #adição na posição 0 na lista
>>> L
['FSM', 'info', 'math', 'phys', 'STI', 'ang', 'fran', 6]
[Link](6) #supprime la première valeur 6 trouvée de la liste
>>> L
['FSM', 'info', 'math', 'phys', 'STI', 'ang', 'fran']
>>> [Link]() #remove e retorna o último elemento da lista
fran
L
['FSM', 'info', 'math', 'phys', 'STI', 'ang']
>>> [Link](3)#remove e retorna o elemento de índice 3 da lista
físico
>>> L
['FSM', 'info', 'math', 'STI', 'ang']
>>> del(L[4])#suprime o elemento de índice 4 da lista
Página 5 de 13
>>> L
['FSM', 'info', 'math', 'STI']
'info' em L # testar a existência de 'info' na lista
Verdadeiro
L1=list('bonjour') #transformação de uma string em uma lista
>>> L1
['b', 'o', 'n', 'j', 'o', 'u', 'r']

A função range() gera um iterador sobre uma progressão aritmética.

L2=list(range(0,10))
L2
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
L3=list(range(3,100,30))
>>> L3
[3, 33, 63, 93]
L4=list(range(10,1,-1))
L4
[10, 9, 8, 7, 6, 5, 4, 3, 2]
[Link] () #permite inverter a lista
>>> L4
[2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> [Link] (6) #calcular o número de ocorrências do elemento 6 em L4
1
>>> [Link](6) #indique a posição de 6 em L4
4
[Link]([22,77,88]) #adiciona os elementos 22,77,88 ao final de L4
>>> L4
[2, 3, 4, 5, 6, 7, 8, 9, 10, 22, 77, 88]

Listasdefinidasporcompreensão

Também podemos definir uma lista por compreensão com a sintaxe:


[ função(x) para x em lista se teste(x) ]

Exemplos :

[2*x for x in range(10)]

[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

[x for x in range(10) if x>5]

[6, 7, 8, 9]

Página 6 de 13
[2*x para x em range(10) se x>5]

[12, 14, 16, 18]

[2*x para x em range(10) se 2*x>5]

[6, 8, 10, 12, 14, 16, 18]

[x for x in range(10) if x>5 and x<8]

[6, 7]

[x+1 para x em [2*x para x em range(10)]]

[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

[2*x for x in [x+1 for x in range(10)]]

[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

[i*2 para i em range(10)]

[0, 2, 4, 6, 8, 10 ,12 ,14 ,16 ,18]

[i para i em range(10) se i % 2 == 0]

[0, 2, 4, 6, 8]

Mais complicado, obter todos os números primos inferiores ou iguais a 50:


[j for i in range(2, 8) for j in range(i*2, 50, i)]
>>>primos = [x for x in range(2, 50) if x not in nãoprimos]
>> números primos
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]

a. As cadeias de caracteres :

Uma cadeia de caracteres é uma sequência não modificável composta por caracteres Unicode
entre simples ou duplas, admite o mesmo princípio de indexação que as listas.

Página 7 de 13
olá
>>> tipo(ch)
<classe 'str'>
ch1
ch2
>>> ch1==ch2
Verdadeiro
ch3
>>> ch3==ch2
Falso
>>> ch[0]
b
>>> ch[-1]
'r'
>>> len(ch)
7
>>> ch[:3]
bom
ch[3:]
dia
>>> ch[2:5]
Olá
>>> ch[::-1]
bnoujor
ch[0]='A'
Rastreamento (última chamada mais recente):
Arquivo "<pyshell#46>", linha 1, no <módulo>
A
TypeError: o objeto 'str' não suporta atribuição de item
>>> [Link]() #testar se a string contém apenas letras maiúsculas
Falso
>>> [Link]()#testar se a cadeia contém apenas letras minúsculas
Verdadeiro
>>> [Link]()#retorna verdadeiro se apenas a primeira letra de cada palavra da cadeia começa
par maiúscula
Falso
>>> [Link]()#retorna verdadeiro se somente a primeira letra de cada palavra da cadeia estiver em
MAJÚSCULA
Falso
>>> [Link]() #retorna True se a cadeia contém apenas caracteres alfabéticos
Verdadeiro
>>> [Link]() #retorna True se a cadeia contiver apenas caracteres alfanuméricos
Verdadeiro
>>> [Link]() #retorna True se a cadeia contiver apenas caracteres numéricos
Falso
>>> [Link]() #retorna True se a cadeia contiver apenas caracteres numéricos
Falso
>>> [Link]() #retorna True se a string contiver apenas espaços
Falso
olá a todos os mundos

Página 8 de 13
>>> [Link]() #converter a em uma lista de palavras
[' bonjour', 'tout', 'les', 'mondes']

Os tuplos:

Uma tupla (ou n-upleto) é uma coleção ordenada e não modificável de elementos.
eventualmente heterogêneos, os elementos são separados por vírgulas e cercados por
parentheses.O indexação de tuplas usa-se como a das listas.

definição de uma tupla


("a", "b", "mpilgrim", "z", "exemplo")
>>> t
('a', 'b', 'mpilgrim', 'z', 'example')
>>> t[0]
a
>>> t[-1]
exemplo
>>> t[1:3]
('b', 'mpilgrim')
>>>u=t,(1,2,3,4,5) #os tuplos podem ser aninhados
u
(('a', 'b', 'mpilgrim', 'z', 'exemplo'), (1, 2, 3, 4, 5))

Um problema particular (tupla de 0 ou 1 elemento):

Os tuplos vazios são construídos com parênteses vazios.


Uma tupla com um elemento é construída ao seguir um valor com uma vírgula.

() #tupla vazia
Tvide
()
bom dia
>>> len(Tvide)
0
>>> len(T)
1
>>> T
Olá
As tuplas não têm métodos para adicionar, modificar ou remover seus elementos.

>>> t
('a', 'b', 'mpilgrim', 'z', 'example')
>>> [Link]("novo") 1
Rastreamento (último mais interno):
Arquivo "<entrada interativa>", linha 1, em ?
AttributeError: o objeto 'tuple' não tem o atributo 'append'
>>> [Link]("z") 2

Página 9 de 13
Rastreamento (o último mais interno):
Arquivo "<entrada interativa>", linha 1, em ?
AttributeError: o objeto 'tuple' não possui o atributo 'remove'
>>> [Link]("exemplo")
4
"z" em t 4
Verdadeiro

Observação:

- As tuplas não têm métodos append ou extend para adicionar elementos.

- As tuplas não têm métodos remove ou pop para remover elementos.

Os tuplos permitem usar in para verificar a existência de um elemento.

Mais à quoi servent donc les tuples ?

- As tuplas são mais rápidas que as listas. Se você definir um conjunto constante de
valores e que tudo o que você vai fazer é percorrê-lo, use uma tupla em vez de uma lista.

- Seu código é mais seguro se você «proteger contra gravação» os dados que não precisam ser
modificadas. Usar uma tupla em vez de uma lista implica uma afirmação implícita de que os
os dados são constantes e que medidas específicas são necessárias para modificar isso
definição.

2.2.2. Os conjuntos :

a. Definição

Um conjunto é uma coleção de elementos distintos, não ordenados e não duplicados. Pode-se
criar um conjunto listando todos os seus elementos, separados por vírgulas, e delimitando o
tout avec des accolades.

Definição
numbers = {42, -2, 0, 7, 11}
# segunda maneira de definir um conjunto com duplos ( )
set1 = set(['b','c','d','c']) # {'c', 'b', 'd'}
imprimir(números) # {0, 42, 11, -2, 7}
print(len(números)) # 4
print(60 in números) # Falso
print(type(numeros))# < class ’ conjunto ’>
para elemento em números :
imprimir ( elemento )

Observação:

- A função set() pode ser usada para criar conjuntos. Observe que para criar um
conjunto vazio, {} não funciona, isso cria um dicionário vazio. Use set() em vez disso.

Página 10 de 13
Não se pode, por outro lado, acessar os elementos de um conjunto a partir de um índice, uma vez que ele
trata-se de uma coleção não ordenada de elementos, e não se pode, portanto, percorrer os elementos de um
conjunto só com o laço for.

b. Operações sobre os conjuntos

-Modificação de um conjunto pela adição/remoção de elementos com as funções add e


remover.

Aplicação da função na variável contendo a lista:

Nome da variável, seguido de um ponto (.) e depois do nome da função a ser chamada, com seus
eventuais parâmetros.

S = {1, 2, 3, 4}
[Link](5) adicionar 1 único elemento {1, 2, 3, 4, 5}
[Link](5)# destruir 1 único elemento {1, 2, 3, 4}
[Link](4)# remove, mas sem erro se o elemento estiver ausente {1, 2, 3}
[Link]()# destruir todos os elementos { }

c. Operação em conjunto

- Três operações de conjuntos básicas, nomeadamente:

Diferença
União
Interseção de conjuntos
- Essas funções criam todos novos conjuntos :

d.O tipo frozenset

Um frozenset é simplesmente um conjunto imutável, ou seja, não modificável. Criamos um objeto


do tipo frozenset com a função frozenset(iterável).

fset = frozenset( {'x','y','z','x'} ) # ou...


fset = frozenset(('x','y','z','x')) # idêntico
type(fset) # => tipo [Link]

Página 11 de 13
Observação:

Tudo o que vimos sobre conjuntos é aplicável, exceto o que se refere a


modificação. Os frozensets ocupam menos espaço na memória do que os sets, e seu
o tratamento é mais eficaz.

Os conjuntos em compreensão:

{n for n in range(5)}
{0, 1, 2, 3, 4}

1.2.1. Os dicionários :

Um dicionário (tabela associativa) é um tipo de dado que permite armazenar pares.


valeur, avec un accès très rapide à la valeur à partir de la clé, la clé ne pouvant être
presente apenas uma vez na tabela.

Caractéristiques

O operador de pertença de uma chave (in)


A função tamanho (len()) que fornece o número de pares armazenados
Permite encontrar um objeto pela sua chave
Ele é iterável (podemos percorrê-lo)
Não ordenado
Mutável

#definição de um dicionário
um
dic
um
#ou elemento após elemento
>>> dic={}
um
dicionário
um
>>> len(dic) #tamanho do dicionário
3
>>>type(dic)
<classe 'dicionário'>
'1' em dic
Verdadeiro
'4' em dic
Falso
um
dicionário
um
quatro

Página 12 de 13
dicionário
um
>>> del(dic[4]) #supressão do elemento 4:'quatro'
dicionário
um
val=[Link]('3') #recupera val e remove o elemento
dic
um
val
três
[Link]({'a':4,'b':6}) #adicionar vários elementos
dicionário
um
um
>>> [Link]() #dá as chaves de um dicionário
1
>>> [Link]()#dá os valores de um dicionário
dict_values(['un', 'trois', 'deux'])
>>> [Link]() #fornece chaves e valores do dicionário na forma de pares
um
>>> list([Link]()) #converter as chaves em uma lista
['1', '3', '2']
>>> tuple([Link]()) #converter os valores em tupla
('un', 'trois', 'deux')
>>> [Link]() #remover todos os elementos
dic
{}

Dicionários em compreensão:

>>> {x : x**2 for x in range(5)}


{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

Página 13 de 13

Você também pode gostar