SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
Tecnologia em Sistemas para Internet - IFMS
Vamos aprender algo diferente?
Introdução à linguagem Python (aula 1)
Tópicos em Programação
Prof.º Msc. Sidney Roberto de Sousa
sidney.sousa@ifms.edu.br
Tec. em Sistemas para Internet - IFMS 2
O que veremos nesta aula?
● O que é Python?
● Porquê Python?
● Hands on: Instalação e configuração
● Hands on: Escrevendo programas em Python
Tec. em Sistemas para Internet - IFMS 3
O que é Python?
Tec. em Sistemas para Internet - IFMS 4
O que é Python?
● Linguagem de programação criada por Guido van
Rossum
●
Python é uma linguagem de alto nível
● Python é multiparadigma
– Programação funcional
– Programação imperativa
– Programação orientada a objetos
● Python é uma linguagem dinâmica
● Pode ser utilizada como linguagem de script
Tec. em Sistemas para Internet - IFMS 5
Princípios
(PEP 20 - The Zen of Python)
● Bonito é melhor que feio
● Explícito é melhor que implícito
● Simples é melhor que complexo
● Complexo é melhor que complicado
● Legibilidade é importante!
Tec. em Sistemas para Internet - IFMS 6
Porquê Python?
● Linguagem de propósito geral
● Multiplataforma e multiparadigma
● Fácil legibilidade
● Curva de aprendizado baixa
● Foco na produtividade → entregue mais cedo!
Tec. em Sistemas para Internet - IFMS 7
Índice TIOBE (Abril/2013)
Tec. em Sistemas para Internet - IFMS 8
Quem usa Python?
Tec. em Sistemas para Internet - IFMS 9
Chega de conversa!
Vamos trabalhar?
Tec. em Sistemas para Internet - IFMS 10
Hands on: Instalação e configuração
Tec. em Sistemas para Internet - IFMS 11
Download
http://www.python.org/getit/
Tec. em Sistemas para Internet - IFMS 12
Configuração: Windows
Para poder executar o Python dentro de
qualquer diretório via linha de comando,
adicione o caminho da pasta bin (localizada
dentro da pasta da instalação do Python) na
variável de ambiente Path
Tec. em Sistemas para Internet - IFMS 13
Instalando bibliotecas
Para instalar um novo componente/biblioteca
para utilizar em seus programas escritos em
Python, é necessário instalar a ferramenta pip
Tec. em Sistemas para Internet - IFMS 14
Instalando o pip no Windows
● Faça o download da última versão do pip neste link:
https://pypi.python.org/pypi/pip#downloads
● Descomprima a pasta do pip
● Faça o download do easy installer para o Windows no link a seguir
e o instale: https://pypi.python.org/pypi/setuptools
● No prompt do MS-DOS, entre na pasta do pip e execute o
comando abaixo:
python setup.py install
Tec. em Sistemas para Internet - IFMS 15
Instalando o pip no Ubuntu
No shell, digite o comando abaixo:
sudo apt-get install python-pip
Tec. em Sistemas para Internet - IFMS 16
Instalando novos componentes
● Para instalar um novo componente, use o pip
em linha de comando.
● Ex.:O comando abaixo instala o componente
Beautiful Soup:
pip install beautifulsoup
Tec. em Sistemas para Internet - IFMS 17
Tudo configurado! Vamos programar?
Tec. em Sistemas para Internet - IFMS 18
Hands on: Escrevendo programas em Python
Tec. em Sistemas para Internet - IFMS 19
Usando o shell do Python
$ python
Python 2.7.4 (default, Apr 19 2013, 18:28:01) 
[GCC 4.7.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 1+1
2
>>>'Repetindo o texto 3 vezes' * 3
'Repetindo o texto 3 vezes Repetindo o texto 3 vezes Repetindo o texto 3 vezes '
Tec. em Sistemas para Internet - IFMS 20
Escrevendo scripts
● Escreva o seu programa Python em seu editor
de texto preferido
● Salve o seu script com a extensão .py
● Execute o seu script no shell com o comando
python:
python NOME_DO_SCRIPT.py
Tec. em Sistemas para Internet - IFMS 21
A seguir, alguns exemplos!
Tec. em Sistemas para Internet - IFMS 22
Imprimindo uma mensagem na tela
print 'Primeiro programa em Python!'
Tec. em Sistemas para Internet - IFMS 23
Repetindo mensagens na tela
print 'Imprimindo esta linha 3 vezesn' * 3
Tec. em Sistemas para Internet - IFMS 24
Imprimindo caracteres especiais
# Esta frase foi comentada!
# coding=utf­8
# A linha acima serve para permitir 
#o uso de caracteres especiais no 
#script
print 'Olá mundo!á$üçêõ'
Tec. em Sistemas para Internet - IFMS 25
Declarando variáveis
variavel = 4
print variavel
variavel = 'Professor Sidney'
print variavel
variavel = True
print variavel
Tec. em Sistemas para Internet - IFMS 26
Operações matemáticas
# coding=utf­8
numero = 54
outro_numero = numero ** numero # Exponenciação
# Python lida muito bem com números
# de alta precisão!
# Imprime o valor: 
# 3542118045010639240328481337533320712639808638036812473211109743262552383710557968252383789056
print outro_numero
outro_numero ­= 1
# Imprime o valor: 
# 3542118045010639240328481337533320712639808638036812473211109743262552383710557968252383789055
print outro_numero
outro_numero = numero * 3 + (­numero)
print outro_numero # 108
outro_numero = (outro_numero * 1.0) / 9374561724139
print outro_numero # 1.15205385786e­11
Tec. em Sistemas para Internet - IFMS 27
Operações lógicas
condicao1 = True
condicao2 = False
resultado = condicao1 and condicao2
print resultado # False
resultado = condicao1 or condicao2
print resultado # True
resultado = condicao1 and not condicao2
print resultado # True
resultado = condicao1 and not(False or condicao1) and not condicao2
print resultado # False
Tec. em Sistemas para Internet - IFMS 28
Sequência de Fibonacci
(usando um laço for)
# coding=utf­8
numero = 1
anterior = 0
quantidade_numeros = 10
for _ in range(quantidade_numeros):
    # A identação é obrigatória!
    print '%d '%numero,
    aux = numero
    numero += anterior
    anterior = aux
Tec. em Sistemas para Internet - IFMS 29
Sequência de Fibonacci
(usando um laço while)
numero = 1
anterior = 0
quantidade_numeros = 10
contador = 0
while contador < quantidade_numeros:
    print '%d '%numero,
    aux = numero
    numero += anterior
    anterior = aux
    contador += 1
Tec. em Sistemas para Internet - IFMS 30
Controlando o fluxo de execução
# coding=utf­8
lista = range(10) 
for numero in lista:
    numero += 1
    if numero % 2 == 0:
        print '%d é par'%numero
    elif numero % 3 == 0:
        print '%d é divisível por 3'%numero
    else:
        print '%d é ímpar e não divisível por 3'%numero
Tec. em Sistemas para Internet - IFMS 31
Controlando o fluxo de execução
# coding=utf­8
lista = range(10) 
for numero in lista:
    numero += 1
    print "%d é par"%numero if numero % 2 == 0 else "%d é ímpar"%numero
Tec. em Sistemas para Internet - IFMS 32
Lendo uma string do usuário
frase = raw_input("Digite uma frase: ")
print frase
Tec. em Sistemas para Internet - IFMS 33
Lendo um número do usuário
# coding=utf­8
numero = raw_input("Digite um número: ")
if numero.isdigit():
    print "Número digitado: %s"%numero
else:
    print "O valor digitado não é um número!"
Tec. em Sistemas para Internet - IFMS 34
… to be continued!
Tec. em Sistemas para Internet - IFMS 35
Links de referência
Python: Cabe no seu bolso, no seu micro, no seu cérebro. Disponível em
http://www.slideshare.net/rodsenra/unicampago2010pdf. Acessado em 28 de abril de 2013.
Python (programming language): Which Internet companies use Python. Disponível em
http://www.quora.com/Python-programming-language-1/Which-Internet-companies-use-Python. Acessado em 28 de abril
de 2013.
Python Sucess Stories. Disponível em http://www.python.org/about/success/. Acessado em 28 de abril de 2013.

Contenu connexe

Tendances

Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoWeldir Fernando Dias
 
C curso - notas de aula
C   curso - notas de aulaC   curso - notas de aula
C curso - notas de aulaLoAlves21
 
Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04thomasdacosta
 
Lógica de Programação - Unimep/Pronatec - Aula03
Lógica de Programação - Unimep/Pronatec - Aula03Lógica de Programação - Unimep/Pronatec - Aula03
Lógica de Programação - Unimep/Pronatec - Aula03André Phillip Bertoletti
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Javathomasdacosta
 
As cinco etapas da programação
As cinco etapas da programaçãoAs cinco etapas da programação
As cinco etapas da programaçãoClausia Antoneli
 
Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04André Phillip Bertoletti
 
Slide Palestra "Metasploit Framework"
Slide Palestra "Metasploit Framework"Slide Palestra "Metasploit Framework"
Slide Palestra "Metasploit Framework"Roberto Soares
 
Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10André Phillip Bertoletti
 
Algoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso CompletoAlgoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso Completothomasdacosta
 
Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08André Phillip Bertoletti
 
Programação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso CompletoProgramação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso Completothomasdacosta
 

Tendances (18)

Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalho
 
Python para Programadores
Python para ProgramadoresPython para Programadores
Python para Programadores
 
Python 3k
Python 3kPython 3k
Python 3k
 
C curso - notas de aula
C   curso - notas de aulaC   curso - notas de aula
C curso - notas de aula
 
Python + algoritmo
Python + algoritmoPython + algoritmo
Python + algoritmo
 
Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04
 
TWP40 Revisão Geral 3
TWP40 Revisão Geral 3TWP40 Revisão Geral 3
TWP40 Revisão Geral 3
 
Lógica de Programação - Unimep/Pronatec - Aula03
Lógica de Programação - Unimep/Pronatec - Aula03Lógica de Programação - Unimep/Pronatec - Aula03
Lógica de Programação - Unimep/Pronatec - Aula03
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Java
 
As cinco etapas da programação
As cinco etapas da programaçãoAs cinco etapas da programação
As cinco etapas da programação
 
Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04
 
Slide Palestra "Metasploit Framework"
Slide Palestra "Metasploit Framework"Slide Palestra "Metasploit Framework"
Slide Palestra "Metasploit Framework"
 
Resumo OpenMP
Resumo OpenMPResumo OpenMP
Resumo OpenMP
 
Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10
 
Log4net
Log4netLog4net
Log4net
 
Algoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso CompletoAlgoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso Completo
 
Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08
 
Programação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso CompletoProgramação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso Completo
 

En vedette

Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)
Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)
Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)Sidney Roberto
 
Tecnologias e Mercado de Trabalho
Tecnologias e Mercado de TrabalhoTecnologias e Mercado de Trabalho
Tecnologias e Mercado de TrabalhoSidney Roberto
 
Manipulação de Datas em Java
Manipulação de Datas em JavaManipulação de Datas em Java
Manipulação de Datas em JavaSidney Roberto
 
Palestra de boas vindas aos estudantes do curso TSI do IFMS Aquidauana
Palestra de boas vindas aos estudantes do curso TSI do IFMS AquidauanaPalestra de boas vindas aos estudantes do curso TSI do IFMS Aquidauana
Palestra de boas vindas aos estudantes do curso TSI do IFMS AquidauanaSidney Roberto
 
Web Scraping: aplicações nos negócios e na ciência
Web Scraping: aplicações nos negócios e na ciênciaWeb Scraping: aplicações nos negócios e na ciência
Web Scraping: aplicações nos negócios e na ciênciaSidney Roberto
 
Introducao à Informatica Aplicada
Introducao à Informatica AplicadaIntroducao à Informatica Aplicada
Introducao à Informatica AplicadaClausia Antoneli
 
O que é Interação Humano-Computador?
O que é Interação Humano-Computador?O que é Interação Humano-Computador?
O que é Interação Humano-Computador?Sidney Roberto
 
O jogo da ética
O jogo da éticaO jogo da ética
O jogo da éticaChrys Souza
 
Aula I - Introdução ao Windows
Aula I - Introdução ao WindowsAula I - Introdução ao Windows
Aula I - Introdução ao WindowsJéssica Amaral
 

En vedette (14)

Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)
Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)
Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)
 
Fatores Humanos
Fatores HumanosFatores Humanos
Fatores Humanos
 
Tecnologias e Mercado de Trabalho
Tecnologias e Mercado de TrabalhoTecnologias e Mercado de Trabalho
Tecnologias e Mercado de Trabalho
 
Classes e Objetos
Classes e ObjetosClasses e Objetos
Classes e Objetos
 
Listas (parte 1)
Listas (parte 1)Listas (parte 1)
Listas (parte 1)
 
Listas (parte 2 de 3)
Listas (parte 2 de 3)Listas (parte 2 de 3)
Listas (parte 2 de 3)
 
Manipulação de Datas em Java
Manipulação de Datas em JavaManipulação de Datas em Java
Manipulação de Datas em Java
 
Palestra de boas vindas aos estudantes do curso TSI do IFMS Aquidauana
Palestra de boas vindas aos estudantes do curso TSI do IFMS AquidauanaPalestra de boas vindas aos estudantes do curso TSI do IFMS Aquidauana
Palestra de boas vindas aos estudantes do curso TSI do IFMS Aquidauana
 
Web Scraping: aplicações nos negócios e na ciência
Web Scraping: aplicações nos negócios e na ciênciaWeb Scraping: aplicações nos negócios e na ciência
Web Scraping: aplicações nos negócios e na ciência
 
Introducao à Informatica Aplicada
Introducao à Informatica AplicadaIntroducao à Informatica Aplicada
Introducao à Informatica Aplicada
 
O que é Interação Humano-Computador?
O que é Interação Humano-Computador?O que é Interação Humano-Computador?
O que é Interação Humano-Computador?
 
Informatica Aplicada
Informatica AplicadaInformatica Aplicada
Informatica Aplicada
 
O jogo da ética
O jogo da éticaO jogo da ética
O jogo da ética
 
Aula I - Introdução ao Windows
Aula I - Introdução ao WindowsAula I - Introdução ao Windows
Aula I - Introdução ao Windows
 

Similaire à Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)

Similaire à Vamos aprender algo diferente? Introdução à linguagem Python (aula 1) (20)

Administração de sistemas usando Python
Administração de sistemas usando PythonAdministração de sistemas usando Python
Administração de sistemas usando Python
 
01 -Aula IPE - Apresentando o Python.pdf
01 -Aula IPE - Apresentando o Python.pdf01 -Aula IPE - Apresentando o Python.pdf
01 -Aula IPE - Apresentando o Python.pdf
 
Conceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoConceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de Programação
 
Virtualenv e Pip
Virtualenv e PipVirtualenv e Pip
Virtualenv e Pip
 
Conceitos Iniciais LP I
Conceitos Iniciais LP IConceitos Iniciais LP I
Conceitos Iniciais LP I
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + Python
 
Por Que Python É Tão Lento?
Por Que Python É Tão Lento?Por Que Python É Tão Lento?
Por Que Python É Tão Lento?
 
Python, CPython, Pythonico, Cython
Python, CPython, Pythonico, CythonPython, CPython, Pythonico, Cython
Python, CPython, Pythonico, Cython
 
Apostila_IC.pdf
Apostila_IC.pdfApostila_IC.pdf
Apostila_IC.pdf
 
AulaPython.pdf
AulaPython.pdfAulaPython.pdf
AulaPython.pdf
 
Canivete python
Canivete pythonCanivete python
Canivete python
 
Aula 01 python
Aula 01 pythonAula 01 python
Aula 01 python
 
LP1 P01 - Python.pdf
LP1 P01 - Python.pdfLP1 P01 - Python.pdf
LP1 P01 - Python.pdf
 
Aula 9 - Introdução ao Python
Aula 9 - Introdução ao PythonAula 9 - Introdução ao Python
Aula 9 - Introdução ao Python
 
A lógica do Python e seus termos
A lógica do Python e seus termosA lógica do Python e seus termos
A lógica do Python e seus termos
 
Programação Python na Iot
Programação Python na IotProgramação Python na Iot
Programação Python na Iot
 
aula5_python.pdf
aula5_python.pdfaula5_python.pdf
aula5_python.pdf
 
Comsolid2011 Introdução Python
Comsolid2011 Introdução PythonComsolid2011 Introdução Python
Comsolid2011 Introdução Python
 
Remobile
RemobileRemobile
Remobile
 
Seu framework é melhor pra quê?
Seu framework é melhor pra quê?Seu framework é melhor pra quê?
Seu framework é melhor pra quê?
 

Plus de Sidney Roberto

Precisamos falar sobre MERN stack
Precisamos falar sobre MERN stackPrecisamos falar sobre MERN stack
Precisamos falar sobre MERN stackSidney Roberto
 
Personagens negros na cultura nerd
Personagens negros na cultura nerdPersonagens negros na cultura nerd
Personagens negros na cultura nerdSidney Roberto
 
Mantendo os dados do seu app web offline com PouchDB
Mantendo os dados do seu app web offline com PouchDBMantendo os dados do seu app web offline com PouchDB
Mantendo os dados do seu app web offline com PouchDBSidney Roberto
 
Regulamento da batalha campal do DCN IV
Regulamento da batalha campal do DCN IVRegulamento da batalha campal do DCN IV
Regulamento da batalha campal do DCN IVSidney Roberto
 
Regulamento dos concursos de cosplay e cospobre do DCN IV
Regulamento dos concursos de cosplay e cospobre do DCN IVRegulamento dos concursos de cosplay e cospobre do DCN IV
Regulamento dos concursos de cosplay e cospobre do DCN IVSidney Roberto
 
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQ
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQRegulamento Cosplay e Cospobre - DCN 3 IFMS-AQ
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQSidney Roberto
 
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQ
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQRegulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQ
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQSidney Roberto
 
Tutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidTutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidSidney Roberto
 
Minha opinião sobre o sistema educacional de base brasileiro
Minha opinião sobre o sistema educacional de base brasileiroMinha opinião sobre o sistema educacional de base brasileiro
Minha opinião sobre o sistema educacional de base brasileiroSidney Roberto
 
Estruturas de Dados Básicas
Estruturas de Dados BásicasEstruturas de Dados Básicas
Estruturas de Dados BásicasSidney Roberto
 
Representação e Manipulação de Informações
Representação e Manipulação de InformaçõesRepresentação e Manipulação de Informações
Representação e Manipulação de InformaçõesSidney Roberto
 
Raciocínio Baseado em Casos
Raciocínio Baseado em CasosRaciocínio Baseado em Casos
Raciocínio Baseado em CasosSidney Roberto
 

Plus de Sidney Roberto (14)

Precisamos falar sobre MERN stack
Precisamos falar sobre MERN stackPrecisamos falar sobre MERN stack
Precisamos falar sobre MERN stack
 
Personagens negros na cultura nerd
Personagens negros na cultura nerdPersonagens negros na cultura nerd
Personagens negros na cultura nerd
 
Mantendo os dados do seu app web offline com PouchDB
Mantendo os dados do seu app web offline com PouchDBMantendo os dados do seu app web offline com PouchDB
Mantendo os dados do seu app web offline com PouchDB
 
Regulamento da batalha campal do DCN IV
Regulamento da batalha campal do DCN IVRegulamento da batalha campal do DCN IV
Regulamento da batalha campal do DCN IV
 
Regulamento dos concursos de cosplay e cospobre do DCN IV
Regulamento dos concursos de cosplay e cospobre do DCN IVRegulamento dos concursos de cosplay e cospobre do DCN IV
Regulamento dos concursos de cosplay e cospobre do DCN IV
 
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQ
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQRegulamento Cosplay e Cospobre - DCN 3 IFMS-AQ
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQ
 
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQ
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQRegulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQ
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQ
 
Tutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidTutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para Android
 
Minha opinião sobre o sistema educacional de base brasileiro
Minha opinião sobre o sistema educacional de base brasileiroMinha opinião sobre o sistema educacional de base brasileiro
Minha opinião sobre o sistema educacional de base brasileiro
 
Compilando em java
Compilando em javaCompilando em java
Compilando em java
 
Estruturas de Dados Básicas
Estruturas de Dados BásicasEstruturas de Dados Básicas
Estruturas de Dados Básicas
 
Representação e Manipulação de Informações
Representação e Manipulação de InformaçõesRepresentação e Manipulação de Informações
Representação e Manipulação de Informações
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
Raciocínio Baseado em Casos
Raciocínio Baseado em CasosRaciocínio Baseado em Casos
Raciocínio Baseado em Casos
 

Dernier

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 

Dernier (9)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 

Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)

  • 1. Tecnologia em Sistemas para Internet - IFMS Vamos aprender algo diferente? Introdução à linguagem Python (aula 1) Tópicos em Programação Prof.º Msc. Sidney Roberto de Sousa sidney.sousa@ifms.edu.br
  • 2. Tec. em Sistemas para Internet - IFMS 2 O que veremos nesta aula? ● O que é Python? ● Porquê Python? ● Hands on: Instalação e configuração ● Hands on: Escrevendo programas em Python
  • 3. Tec. em Sistemas para Internet - IFMS 3 O que é Python?
  • 4. Tec. em Sistemas para Internet - IFMS 4 O que é Python? ● Linguagem de programação criada por Guido van Rossum ● Python é uma linguagem de alto nível ● Python é multiparadigma – Programação funcional – Programação imperativa – Programação orientada a objetos ● Python é uma linguagem dinâmica ● Pode ser utilizada como linguagem de script
  • 5. Tec. em Sistemas para Internet - IFMS 5 Princípios (PEP 20 - The Zen of Python) ● Bonito é melhor que feio ● Explícito é melhor que implícito ● Simples é melhor que complexo ● Complexo é melhor que complicado ● Legibilidade é importante!
  • 6. Tec. em Sistemas para Internet - IFMS 6 Porquê Python? ● Linguagem de propósito geral ● Multiplataforma e multiparadigma ● Fácil legibilidade ● Curva de aprendizado baixa ● Foco na produtividade → entregue mais cedo!
  • 7. Tec. em Sistemas para Internet - IFMS 7 Índice TIOBE (Abril/2013)
  • 8. Tec. em Sistemas para Internet - IFMS 8 Quem usa Python?
  • 9. Tec. em Sistemas para Internet - IFMS 9 Chega de conversa! Vamos trabalhar?
  • 10. Tec. em Sistemas para Internet - IFMS 10 Hands on: Instalação e configuração
  • 11. Tec. em Sistemas para Internet - IFMS 11 Download http://www.python.org/getit/
  • 12. Tec. em Sistemas para Internet - IFMS 12 Configuração: Windows Para poder executar o Python dentro de qualquer diretório via linha de comando, adicione o caminho da pasta bin (localizada dentro da pasta da instalação do Python) na variável de ambiente Path
  • 13. Tec. em Sistemas para Internet - IFMS 13 Instalando bibliotecas Para instalar um novo componente/biblioteca para utilizar em seus programas escritos em Python, é necessário instalar a ferramenta pip
  • 14. Tec. em Sistemas para Internet - IFMS 14 Instalando o pip no Windows ● Faça o download da última versão do pip neste link: https://pypi.python.org/pypi/pip#downloads ● Descomprima a pasta do pip ● Faça o download do easy installer para o Windows no link a seguir e o instale: https://pypi.python.org/pypi/setuptools ● No prompt do MS-DOS, entre na pasta do pip e execute o comando abaixo: python setup.py install
  • 15. Tec. em Sistemas para Internet - IFMS 15 Instalando o pip no Ubuntu No shell, digite o comando abaixo: sudo apt-get install python-pip
  • 16. Tec. em Sistemas para Internet - IFMS 16 Instalando novos componentes ● Para instalar um novo componente, use o pip em linha de comando. ● Ex.:O comando abaixo instala o componente Beautiful Soup: pip install beautifulsoup
  • 17. Tec. em Sistemas para Internet - IFMS 17 Tudo configurado! Vamos programar?
  • 18. Tec. em Sistemas para Internet - IFMS 18 Hands on: Escrevendo programas em Python
  • 19. Tec. em Sistemas para Internet - IFMS 19 Usando o shell do Python $ python Python 2.7.4 (default, Apr 19 2013, 18:28:01)  [GCC 4.7.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> 1+1 2 >>>'Repetindo o texto 3 vezes' * 3 'Repetindo o texto 3 vezes Repetindo o texto 3 vezes Repetindo o texto 3 vezes '
  • 20. Tec. em Sistemas para Internet - IFMS 20 Escrevendo scripts ● Escreva o seu programa Python em seu editor de texto preferido ● Salve o seu script com a extensão .py ● Execute o seu script no shell com o comando python: python NOME_DO_SCRIPT.py
  • 21. Tec. em Sistemas para Internet - IFMS 21 A seguir, alguns exemplos!
  • 22. Tec. em Sistemas para Internet - IFMS 22 Imprimindo uma mensagem na tela print 'Primeiro programa em Python!'
  • 23. Tec. em Sistemas para Internet - IFMS 23 Repetindo mensagens na tela print 'Imprimindo esta linha 3 vezesn' * 3
  • 24. Tec. em Sistemas para Internet - IFMS 24 Imprimindo caracteres especiais # Esta frase foi comentada! # coding=utf­8 # A linha acima serve para permitir  #o uso de caracteres especiais no  #script print 'Olá mundo!á$üçêõ'
  • 25. Tec. em Sistemas para Internet - IFMS 25 Declarando variáveis variavel = 4 print variavel variavel = 'Professor Sidney' print variavel variavel = True print variavel
  • 26. Tec. em Sistemas para Internet - IFMS 26 Operações matemáticas # coding=utf­8 numero = 54 outro_numero = numero ** numero # Exponenciação # Python lida muito bem com números # de alta precisão! # Imprime o valor:  # 3542118045010639240328481337533320712639808638036812473211109743262552383710557968252383789056 print outro_numero outro_numero ­= 1 # Imprime o valor:  # 3542118045010639240328481337533320712639808638036812473211109743262552383710557968252383789055 print outro_numero outro_numero = numero * 3 + (­numero) print outro_numero # 108 outro_numero = (outro_numero * 1.0) / 9374561724139 print outro_numero # 1.15205385786e­11
  • 27. Tec. em Sistemas para Internet - IFMS 27 Operações lógicas condicao1 = True condicao2 = False resultado = condicao1 and condicao2 print resultado # False resultado = condicao1 or condicao2 print resultado # True resultado = condicao1 and not condicao2 print resultado # True resultado = condicao1 and not(False or condicao1) and not condicao2 print resultado # False
  • 28. Tec. em Sistemas para Internet - IFMS 28 Sequência de Fibonacci (usando um laço for) # coding=utf­8 numero = 1 anterior = 0 quantidade_numeros = 10 for _ in range(quantidade_numeros):     # A identação é obrigatória!     print '%d '%numero,     aux = numero     numero += anterior     anterior = aux
  • 29. Tec. em Sistemas para Internet - IFMS 29 Sequência de Fibonacci (usando um laço while) numero = 1 anterior = 0 quantidade_numeros = 10 contador = 0 while contador < quantidade_numeros:     print '%d '%numero,     aux = numero     numero += anterior     anterior = aux     contador += 1
  • 30. Tec. em Sistemas para Internet - IFMS 30 Controlando o fluxo de execução # coding=utf­8 lista = range(10)  for numero in lista:     numero += 1     if numero % 2 == 0:         print '%d é par'%numero     elif numero % 3 == 0:         print '%d é divisível por 3'%numero     else:         print '%d é ímpar e não divisível por 3'%numero
  • 31. Tec. em Sistemas para Internet - IFMS 31 Controlando o fluxo de execução # coding=utf­8 lista = range(10)  for numero in lista:     numero += 1     print "%d é par"%numero if numero % 2 == 0 else "%d é ímpar"%numero
  • 32. Tec. em Sistemas para Internet - IFMS 32 Lendo uma string do usuário frase = raw_input("Digite uma frase: ") print frase
  • 33. Tec. em Sistemas para Internet - IFMS 33 Lendo um número do usuário # coding=utf­8 numero = raw_input("Digite um número: ") if numero.isdigit():     print "Número digitado: %s"%numero else:     print "O valor digitado não é um número!"
  • 34. Tec. em Sistemas para Internet - IFMS 34 … to be continued!
  • 35. Tec. em Sistemas para Internet - IFMS 35 Links de referência Python: Cabe no seu bolso, no seu micro, no seu cérebro. Disponível em http://www.slideshare.net/rodsenra/unicampago2010pdf. Acessado em 28 de abril de 2013. Python (programming language): Which Internet companies use Python. Disponível em http://www.quora.com/Python-programming-language-1/Which-Internet-companies-use-Python. Acessado em 28 de abril de 2013. Python Sucess Stories. Disponível em http://www.python.org/about/success/. Acessado em 28 de abril de 2013.