Aula 01 – Python – Variáveis, tipos, controle de fluxo, loops, etc

More videos
Views
   

Aula 01 – Curso de Python

Aulas baseadas principalmente no livro Python para Desenvolvedores do Luiz Eduardo Borges.

Variáveis, tipos, controle de fluxo, loops, etc

Python, variáveis, tipos, controle de fluxo, loops, etc

Python, variáveis, tipos, controle de fluxo, loops.

INSTALAÇÃO

  • Para instalar o python no linux Ubuntu, assista a aula 01 do curso de Django:

http://www.codigofluente.com.br/01-instalacao-do-django-no-linux-ubuntu/

  • Para instalar o python no Windows, assista a aula 02 do curso de Django:

http://www.codigofluente.com.br/aula-02-instalacao-do-django-no-windows/

 

A LINGUAGEM

  • Python é uma linguagem de programação criada por Guido Van Rossum no Instituto Nacional de Pesquisa para Matemática e Ciência da Computação da Holanda.
  • Foi concebida a partir de outra linguagem existente na época, chamada ABC.
  • O nome da linguagem foi uma homenagem ao grupo inglês de humoristas “Monty Python“.

CARACTARÍSTICAS

  • É interpretada, de altíssimo nível, orientada a objeto, modular, multiplataforma, de fácil aprendizado, de implementação livre, de tipagem dinâmica(significa que o tipo de uma variável é inferido pelo interpretador em tempo de execução, isto é conhecido como Duck Typing) e forte(o interpretador verifica se as operações são válidas e não faz coerções automáticas entre tipos incompatíveis).
  • Possui uma sintaxe clara e concisa, favorecendo a legibilidade do código, tornando a linguagem mais produtiva.
  • Inclui diversas estruturas de alto nível (listas, dicionários, data / hora, complexos e outras).
  • Possui recursos encontrados em outras linguagens modernas, tais como: geradores, introspecção, persistência, metaclasses e unidades de teste.
  • Multiparadigma, a linguagem suporta programação modular e funcional, além da orientação a objetos.
  • Mesmo os tipos básicos no Python são objetos.
  • É interpretada através de bytecode pela máquina virtual Python, tornando o código portável. Com isso é possível compilar aplicações em uma plataforma e rodar em outros sistemas ou executar direto do código fonte.
  • Python é um software de código aberto (com licença compatível com a General Public License (GPL), porém menos restritiva, permitindo que o Python seja inclusive incorporado em produtos proprietários). A especificação da linguagem é mantida pela Python Software Foundation2 (PSF).

COMPILAÇÃO / INTERPRETAÇÃO

  • O código fonte é traduzido pelo Python para bytecode, que é um formato binário com instruções para o interpretador. O bytecode é multiplataforma e pode ser distribuído e executado sem o código fonte original.
  • Por padrão, o interpretador compila o código e armazena o bytecode em disco, para que a próxima vez que o executar, não precise compilar novamente o programa, reduzindo o tempo de carga na execução.
  • Se os arquivos fontes forem alterados, o interpretador se encarregará de regerar o bytecode automaticamente, mesmo utilizando o shell interativo. Quando um programa ou um módulo é evocado, o interpretador realiza a análise do código, converte para símbolos, compila (se não houver bytecode atualizado em disco).
  • O bytecode é armazenado em arquivos com extensão “.pyc” (bytecode normal) ou “.pyo” (bytecode otimizado). O bytecode também pode ser empacotado junto com o interpretador em um executável, para facilitar a distribuição da aplicação, sem a necessidade de instalar Python em cada computador.

MODO INTERATIVO

Python pode ser usado de forma interativa, na qual as linhas de código são digitadas em um prompt (linha de comando) semelhante ao shell do sistema operacional.

Para evocar o modo interativo basta executar o interpretador (se ele estiver no path):

python

IDEs

Integrated Development Environments (IDEs):  Ambiente de Desenvolvimento Integrado. Trata-se de um programa que reúne uma série de ferramentas que facilitam o trabalho do programador.

  • Spyder
  • PyCharm
  • Atom
  • Visual Studio Code
  • NetBeans
  • PyDev (plug-in para a IDE Eclipse)

EMPACOTADORES

Empacotadores são utilitários usados para construir executáveis que englobam o bytecode, o interpretador e outras dependências, permitindo que o aplicativo rode em máquinas sem Python instalado, facilitando a distribuição de programas.

empacotadores disponíveis:

  • Distutils
  • Setuptools
  • Py2exe (apenas para Windows)
  • cx_Freeze (portável)
  • Distlib

FRAMEWORKS

Frameworks são coleções de componentes de software (bibliotecas, utilitários e outros) que foram projetados para serem utilizados por outros sistemas.

Frameworks disponíveis:

  • Web: Django, TurboGears, Zope ,web2py.
  • Interface gráfica: wxPython, PyGTK e PyQt.
  • Processamento cientifico: NumPy e SciPy.
  • Processamento de imagens: PIL.
  • 2D: Matplotlib e SVGFig.
  • 3D: Visual Python, PyOpenGL e Python Ogre.
  • Mapeamento objeto-relacional: SQLAlchemy e SQLObject.

SINTAXE

Um programa feito em Python é constituído de linhas, que podem continuar nas linhas seguintes, usando o caractere de barra invertida (\). ao final da linha ou parênteses, colchetes ou chaves, em expressões que utilizam tais caracteres.
Ex.:



# Uma linha quebrada por contra-barra
a = 2 * 3 + \
6 / 2

# Uma lista (quebrada por vírgula)
b = ['a', 'b', 'c',
'd', ‘e’]

# Uma chamada de função (quebrada por vírgula)
c = range(1,
11)

COMENTÁRIO:

  • O caractere # marca o inicio de um comentário. O texto depois do # será ignorado até o fim da linha , com exceção dos comentários funcionais.

COMENTÁRIO FUNCIONAL:

  • São utilizados para alterar a codificação do arquivo fonte do programa para que o mesmo suporte caracteres que não estão presentes na língua inglesa. Exemplo de uso: #-*- encoding: utf-8 -*-
  • Servem também para definir o interpretador que será utilizado para rodar o programa em sistemas UNIX. Exemplo de uso: #!/usr/bin/env

BLOCOS:

  • Em Python, os blocos de código são delimitados pelo uso de endentação, que deve ser constante no bloco de código, porém é considerada uma boa prática manter a consistência no projeto todo e evitar a mistura tabulações e espaços
  • A linha anterior ao bloco sempre termina com dois pontos (:) e representa uma estrutura de controle da linguagem ou uma declaração de uma nova estrutura (uma função, por exemplo).

BLOCOS:

Exemplo:



for num in [3, 5, 4, 9, 6]:
    print(num)

Saída:

3

5

4

9

6

OBJETOS:

Python é uma linguagem orientada a objeto, por isso 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 (.)

CONTROLE DE FLUXO:


if media < 6:
    print('reprovado')
elif media < 8
    print('Aprovado')
else:
    print ('Aprovado com louvor')

LOOPS

São estruturas de repetição, geralmente usados para processar coleções de dados, tais como linhas de um arquivo ou registros de um banco de dados, que precisam ser processados por um mesmo bloco de código.

FOR
Ex.


# Soma de 0 a 99
s = 0
for x in range(1, 100):
    s = s + x
print (s)

Saída:  4950

A função range(m, n, p), é muito útil em laços, pois retorna uma lista de inteiros, começando em m e menores que n, em passos de comprimento p, que podem ser usados como sequência para o laço.


for i in range(1, 10, 2):
    print(i)

Saída:

1

3

5

7

9

WHILE

O laço while é adequado quando não há como determinar quantas iterações vão ocorrer e não há uma sequência a seguir.

Executa um bloco de código atendendo a uma condição.


#Soma de 0 a 99
s = 0
x = 1
while x < 100:
    s = s + x
    x = x + 1
print (s)

Saída:  4950

VARIÁVEIS

  • As variáveis são criadas através da atribuição e destruídas pelo coletor de lixo (garbage colector), quando não existem mais referências a elas.
  • Os nomes das variáveis devem começar com letra (sem acentuação) ou sublinhado (_) e seguido por letras (sem acentuação), dígitos ou sublinhados(_), sendo que maiúsculas e minúsculas são consideradas diferentes.

TIPOS

Existem vários tipos simples de dados pré-definidos no Python, tais como:

  • Números (inteiros, reais, complexos, … )
  • Texto

Além disso, existem tipos que funcionam como coleções. Os principais são:

  • Lista
  • Tupla
  • Dicionário

Os tipos no Python podem ser:

  • Mutáveis: permitem que os conteúdos das variáveis sejam alterados.
  • Imutáveis: não permitem que os conteúdos das variáveis sejam alterados.

Python oferece alguns tipos numéricos:

  • Inteiro (int): i = 1
  • Real de ponto flutuante (float): f = 3.14
  • Complexo (complex): c = 3 + 4j
  • Além dos números inteiros convencionais, existem também os inteiros longos, que tem dimensão arbitrária e são limitados pela memória disponível.
  • As conversões entre inteiro e longo são realizadas de forma automática.
  • A função builtin int() pode ser usada para converter outros tipos para inteiro, incluindo mudanças de base.

Exemplos:


# -*- coding: latin1 -*-
# Convertendo de real para inteiro
print ('int(3.14) =', int(3.14))

Saída:   int(3.14) = 3


# Convertendo de inteiro para real
print ('float(5) =', float(5))

Saída:  float(5) = 5.0


# Calculo entre inteiro e real resulta em real
print ('5.0 / 2 + 3 = ', 5.0 / 2 + 3)

Saída:  5.0 / 2 + 3 = 5.5


# Inteiros em outra base
print ("int('20', 8) =", int('20', 8)) # base 8
print ("int('20', 16) =", int('20', 16)) # base 16

Saída:
int(’20’, 8) = 16
int(’20’, 16) = 32


# Operações com números complexos
c = 3 + 4j
print ('c =‘, c)
print ('Parte real:', c.real)
print ('Parte imaginária:', c.imag)
print ('Conjugado:', c.conjugate())

Saída:
c = (3+4j)
Parte real: 3.0
Parte imaginária: 4.0
Conjugado: (3-4j)

Os números reais também podem ser representados em notação cientifica,

por exemplo: 1.2e22.

Isso quer dizer: 1.2 * 10^22

Ou seja:

1.2e22 = 1.2 * 10^22

Obrigado

Até a próxima

 

Increva-se

Inscreva-se agora e receba um e-mail assim que eu publicar novo conteúdo.

Concordo em me inscrever no blog Código Fluente

Você poderá cancelar sua inscrição a qualquer momento.

(Visited 10 times, 1 visits today)
About The Author
-

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>