Introdução ao Python/Tipos e operadores

Python é uma linguagem de tipos dinâmicos, ou seja, não é necessário fazer casting como em Java, Pascal ou C.

O conceito de variável é uma associação entre um nome e um valor, mas não é necessário declarar o tipo da variável, portanto, o tipo relacionado à variável pode variar durante a execução do programa, o que implica em muitos aspectos o uso da linguagem.

Existem 4 tipos numéricos:

  • inteiro (int)
  • ponto flutuante (float)
  • booleano (bool)
  • complexo (complex)

Suportam adição, subtração, multiplicação e divisão e também podem se relacionar.

Existe também o seguinte tipo:

  • string (str)

Mesmo os tipos não sendo declarados explicitamente, eles sempre irão assumir um tipo de dado. Abaixo, exemplos de retornos de tipos:

  • Tipo inteiro:
>>> a = 1
>>> type(a)
<type 'int'>
  • Tipo ponto flutuante:
>>> a = 1.0
>>> type(a)
<type 'float'>
  • Tipo booleano:
>>> a = True
>>> type(a)
<type 'bool'>
  • Tipo complexo:
>>> a = 4+3j
>>> type(a)
<type 'complex'>


E eles mudam de tipo dinamicamente por exemplo, a variável a:

>>> a = 1
>>> type(a)
<type 'int'>
>>> a = 1.0
>>> type(a)
<type 'float'>
>>>

Operadores são símbolos que atuam sobre variáveis e valores. Existem:


  • Operadores aritméticos (+, -, *, /, %, **, +=, -=, *=, /=, %=, **=):
>>> a = 1
>>> b = 2
>>> print a + b
3

ou

>>> a = 5
>>> print a**2
25


  • Operadores de comparação (>, <, ==, >=, <=, <>, !=, is, in):
>>> a = 1
>>> b = 2
>>> a == b
False
>>> print a > b
False
  • Operadores lógicos (and, or, not):
>>> nome = "leonardo"
>>> idade = 22
>>> nome == "leonardo" and idade < 23
True


  • Operadores de atribuição (=):
>>> a = 1


  • Como pode ser visto neste exemplo abaixo, em python 3.2, é possível verificar o tipo string também:
>>> type("abc")
<class 'str'>


  • Substituição em strings:

A substituição em strings acontece com o operador %, para substituir strings usa-se %s, para substituir decimais usa-se %d e para substituir floats usa-se %f.

from codecs import *
f = open (‘arquivo.txt’, ‘a’, ‘utf-8’ )
f.write (‘ %s ‘ % nome_artigo() ) #A referência %s para strings
f.close()