Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Vamos (re)aprender Python

Vamos (re)aprender Python

André Freitas

July 20, 2015
Tweet

More Decks by André Freitas

Other Decks in Programming

Transcript

  1. INTRODUÇÃO O que é o Python? Python Linguagem dinâmica e

    interpretada. A sua filosofia é descrita no PEP20: Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts.
  2. INTRODUÇÃO O que é o Python? Configuração do ambiente 1.

    Instalar o interpretador Python 3.x 2. Instalar o gestor de pacotes pip 3. Instalar o editor de texto Atom
  3. INTRODUÇÃO O que é o Python? Documentação Toda a linguagem

    está documentada com exemplos em: docs.python.org/3
  4. INTRODUÇÃO O que é o Python? Comentários """ This is

    a multi line comment """ # This is a single line comment print("Python rocks")
  5. INTRODUÇÃO O que é o Python? Tipos # str a

    = "Hello World" # int a = 1 # float a = 1.0 # bool a = True b = False # binary a = 0b011 # hexadecimal a = 0xFF
  6. INTRODUÇÃO O que é o Python? Estruturas de dados #

    list a = [1, 2, "apple", True] # dict a = {"name": "Carl", "languages": ["EN", "PT"]} # tuple a = ("apple", 1) # set a = {"orange", "apple", "strawberry"}
  7. INTRODUÇÃO O que é o Python? Operadores aritméticos # sum

    a + b # subtraction a - b # division a / b # integer division a // b # exponentiation a ** b # rest of division a % b
  8. INTRODUÇÃO O que é o Python? Operadores de comparação #

    equals a == b # not equal a != b # greater than a > b # less than a < b # greater or equals a >= b # less or equals a <= b
  9. INTRODUÇÃO O que é o Python? Funções def sum_two(a, b):

    return a + b Os blocos são por indentação = 4 espaços
  10. INTRODUÇÃO O que é o Python? Ciclos # for loop

    fruits = ["pear", "banana"] for fruit in fruits: print(fruit) # while loop i = 0 while(i < 10): i += 1 print(i)
  11. INTRODUÇÃO O que é o Python? Condições # if else

    if(temp < 20): print("cold") else: print("hot!!!")
  12. INTRODUÇÃO O que é o Python? Classes e imports #

    person.py class Person: def __init__(self, name, age): self.name = name self.age = age def hello(self): print("Hello, I am " + self.name) # main.py from person import Person p = Person("Carlos", 12) p.hello()
  13. INTRODUÇÃO O que é o Python? Instalar pacotes O repositório

    central de pacotes está disponível em pypi.python.org/pypi > pip install requests
  14. INTRODUÇÃO O que é o Python? Gestão de dependências #

    requirements.txt gitpython nose bottle==0.12.7 ply > pip install -r requirements.txt
  15. INTRODUÇÃO O que é o Python? Depuração import pdb; pdb.set_trace()

    -> class FootballPlayer(Person): (Pdb) list 12 p.hello() 13 14 import pdb; pdb.set_trace() 15 16 # class inheritance 17 -> class FootballPlayer(Person): 18 def hello(self): 19 print("I am the football player " + self.name) 20 21 # class instance 22 f = FootballPlayer("Cristiano Ronaldo", 30) (Pdb)
  16. INTRODUÇÃO O que é o Python? Ambiente virtuais Cada projeto

    tem dependências diferentes que podem entrar em conflito. pip install virtualenv Projectos Proj1 Proj2 Ambiente 1 Ambiente 2 > pip install virtualenv > cd git/proj1 > virtualenv venv > source venv/bin/activate (venv) > pip install -r requirements.txt (venv) > python main.py
  17. INTRODUÇÃO O que é o Python? Estilo de código As

    convenções usadas estão descritas no PEP8 e Google Python Style Guide. Variáveis num_users Constantes MAX_USERS Classes OfficeMan Funções sum_of_two Ficheiros graph_feup.py Excepções ServerError
  18. INTRODUÇÃO O que é o Python? Linters Fazem análise estática

    de código indicando defeitos e violação de estilos de código. Existem os packages pylint e o pep8. No Atom existem estes linters:
  19. INTRODUÇÃO O que é o Python? Testes > pip install

    nosetests > nosetests import unittest class TestStringMethods(unittest.TestCase): def test_upper(self): self.assertEqual('foo'.upper(), 'FOO')
  20. INTRODUÇÃO O que é o Python? Versões Usar as convenções

    do semantic versioning descritas em semver.org. O formato é MAJOR.MINOR.PATCH em que: • MAJOR - alterações incompatíveis com versões anteriores • MINOR - novas funcionalidades • PATCH - refactoring # version.py __version__ = "0.1.1"