You are on page 1of 5

Uma Introduc ao Informal a Python

Nos exemplos seguintes, pode-se distinguir a entrada da saida pela presenca ou aus e
ncia dos prompts ( >>>
and ... ): para repetir o exemplo, voc e deve digitar tudo apos o prompt, quando o me
smo aparece; linhas que
n ao comecarem com o prompt s ao na verdade as saidas geradas pelo interpretador.
Observe que existe um segundo prompt indicando a linha de continuac ao de um comand
o com multiplas linhas, o
qual pode ser encerrado pela digitac ao de um linha em branco.
Muitos dos exemplos neste manual, ate mesmo aqueles digitados interativamente, in
cluem comentarios. Coment
arios em Python s ao delimitados pelo caracter # , e se extendem ate o final da linha.
Um comentario pode
aparecer no inicio da linha, depois de um espaco em branco ou codigo, mas nunca den
tro de uma string (literal).
O delimitar de comentario dentro de uma string e interpretado como o proprio caract
er.
Alguns exemplos:
# primeiro comentario
SPAM = 1 # e esse e o segundo comentario
# ... e ainda um terceiro !
STRING = "# Este n ao e um comentario."
3.1 Utilizando Python Como Uma Calculadora
Vamos tentar alguns comandos simples em Python. Inicie o interpretador e aguarde
o prompt primario, >>> .
(N ao deve demorar muito.)
3.1.1 Numeros
O interpretador atua como uma calculadora bem simples: voc e pode digitar uma expr
ess ao e o valor resultando
sera apresentado apos a avaliac ao da express ao. A sintaxe da express ao e a usual: oper
dores +, -, * e / funcionam
da mesma forma que em outras linguagens tradicionais (por exemplo, Pascal ou C);
par enteses podem ser usados
para definir agrupamentos. Por exemplo:
7
>>> 2+2
4
>>> # Isso e um comentario
... 2+2
4
>>> 2+2 # e um comentario na mesma linha de um comando
4
>>> (50-5*6)/4
5
>>> # Divis ao inteira retorna com aredondamento para base
... 7/3
2
>>> 7/-3
-3
Como em C, o sinal de igual ( = ) e utilizado para atribuic ao de um valor a uma variavel
. O valor da atribuic ao
n ao e escrito:
>>> width = 20
>>> height = 5*9
>>> width * height
900
Um valor pode ser atribuido a diversas variaveis simultaneamente:
>>> x = y = z = 0 # Zero x, y e z
>>> x
0

>>> y
0
>>> z
0
Ha total suporte para ponto-flutuante; operadores com operandos de diferentes tip
os convertem o inteiro para
ponto-flutuante:
>>> 4 * 2.5 / 3.3
3.0303030303
>>> 7.0 / 2
3.5
Numeros complexos tambem s ao suportados; numeros imaginarios s ao escritos com o sufixo
j ou J . Numeros
complexos com parte real n ao nula s ao escritos como (real+imagj) , ou podem ser criad
os pela chamada de
func ao complex(real, imag) .
8 Capitulo 3. Uma Introduc ao Informal a Python
>>> 1j * 1J
(-1+0j)
>>> 1j * complex(0,1)
(-1+0j)
>>> 3+1j*3
(3+3j)
>>> (3+1j)*3
(9+3j)
>>> (1+2j)/(1+1j)
(1.5+0.5j)
Numeros complexos s ao sempre representados por dois numeros ponto-flutuante, a part
e real e a parte imaginaria.
Para extrair as partes de um numero z, utilize z.real e z.imag.
>>> a=1.5+0.5j
>>> a.real
1.5
>>> a.imag
0.5
As func oes de convers ao para ponto-flutuante e inteiro (float(), int() e long()) n a
o funcionam para
numeros complexos n ao existe maneira correta de converter um numero complexo para um
numero real. Utilize
abs(z) para obter sua magnitude (como ponto-flutuante) ou z.real para obter sua
parte real.
>>> a=1.5+0.5j
>>> float(a)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: can t convert complex to float; use e.g. abs(z)
>>> a.real
1.5
>>> abs(a)
1.58113883008
No modo interativo, a ultima express ao a ser impressa e atribuida a variavel . Isso s
ignifica que ao utilizar Python
como uma calculadora, e muitas vezes mais facil prosseguir com os calculos da segui
nte forma:
>>> tax = 17.5 / 100
>>> price = 3.50
>>> price * tax
0.61249999999999993
>>> price + _
4.1124999999999998

>>> round(_, 2)
4.1100000000000003
Essa variavel especial deve ser tratada somente para leitura pelo usuario. Nunca l
he atribua explicitamente um
valor
do contrario, estaria se criando uma outra variavel (hom onima) independente,
que mascararia o comportamento
magico da variavel especial.
3.1.2 Strings
Alem de numeros, Python tambem pode manipular strings, que podem ser expressas de d
iversas formas. Elas
podem ser delimitadas pos aspas simples ou duplas:
3.1. Utilizando Python Como Uma Calculadora 9
>>> spam eggs
spam eggs
>>> doesn\ t
"doesn t"
>>> "doesn t"
"doesn t"
>>> "Yes," he said.
"Yes," he said.
>>> "\"Yes,\" he said."
"Yes," he said.
>>> "Isn\ t," she said.
"Isn\ t," she said.
Strings que contem mais de uma linha podem ser construidas de diversas maneiras. T
erminadores de linha podem
ser embutidos na string com barras invertidas, ex.:
oi = "Esta eh uma string longa contendo\n\
diversas linhas de texto assim como voce faria em C.\n\
Observe que os espacos em branco no inicio da linha s ao \
significativos.\n"
print oi
que produziria o seguinte resultado:
Esta eh uma string longa contendo
diversas linhas de texto assim como voce faria em C.
Observe que os espacos em branco no inicio da linha s ao significativos.
Ou, strings podem ser delimitadas por pares de aspas triplices: " ou
. Neste caso n ao
e necessario embutir
terminadores de linha, pois o texto da string sera tratado verbatim.
print """
Usage: thingy [OPTIONS]
-h Display this usage message
-H hostname Hostname to connect to
"""
produz a seguinte saida:
Usage: thingy [OPTIONS]
-h Display this usage message
-H hostname Hostname to connect to
O interpretador imprime o resultado de operac oes sobre strings da mesma forma que
as strings s ao formatadas
na digitac ao: dentro de aspas, e com caracteres especiais embutidos em escape sequ
ences, para mostar seu valor
com precis ao. A string sera delimitada por aspas duplas se ela contem um unico carac
ter de aspas simples e
nenhum de aspas duplas, caso contrario a string sera delimitada por aspas simples.
( O comando print, descrito
posteriormente, pode ser utilizado para escrever strings sem aspas ou escape seq
uences.)
Strings podem ser concatenadas (coladas) com o operador +, e repetidas com *:
>>> word = Help + A

>>> word
HelpA
>>> < + word*5 + >
<HelpAHelpAHelpAHelpAHelpA>
10 Capitulo 3. Uma Introduc ao Informal a Python
Duas strings literais justapostas s ao automaticamente concatenadas; a primeira li
nha do exemplo anterior poderia
ter sido escrita como word = Help A ; isso funciona somente com strings literais, n ao co
express oes
arbitrarias:
>>> import string
>>> str
ing # <- This is ok
string
>>> string.strip( str ) + ing # <- This is ok
string
>>> string.strip( str ) ing # <- This is invalid
File "<stdin>", line 1
string.strip( str ) ing
SyntaxError: invalid syntax
Strings podem ser indexadas; como em C, o primeiro indice da string e o 0. N ao exis
te um tipo separado para
caracteres; um caracter e simplesmente uma string unitaria. Assim como na linguage
m Icon, substrings podem
ser especificadas atraves da notac ao slice (N.d.T: fatiar): dois indices separados p
or dois pontos.
>>> word[4]
A
>>> word[0:2]
He
>>> word[2:4]
lp
Diferentemente de C, strings n ao podem ser alteradas em Python. Atribuir para uma
posic ao (indice) dentro de
uma string resultara em erro:
>>> word[0] = x
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: object doesn t support item assignment
>>> word[:1] = Splat
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: object doesn t support slice assignment
Entretanto, criar uma nova string com o conteudo combinado e facil e eficiente:
>>> x + word[1:]
xelpA
>>> Splat + word[4]
SplatA
Indices de slice possuem valores default uteis; o primeiro indice se omitido possui
valor default 0, o segundo
possui valor default igual ao tamanho da string.
>>> word[:2] # Os dois primeiros caracteres
He
>>> word[2:] # Todos menos os dois primeiros caracteres
lpA
Aqui esta um invariante interessante relacionado a operac oes de slice: s[:i] + s[i
:] equals s.
3.1. Utilizando Python Como Uma Calculadora 11
>>> word[:2] + word[2:]
HelpA

>>> word[:3] + word[3:]


HelpA
Indices de slice degenerados s ao tratados

graciosamente

You might also like