Capítulo 9

Pycharm

9.1 IDE

Quando começamos a programar, uma das principais dúvidas de iniciantes é: "qual ferramenta vou utilizar para escrever código?". A maioria dos códigos das principais linguagens de programação permitem desenvolver em um arquivo utilizando um editor de texto comum.

Alguns editores de texto possuem ferramentas mais sofisticadas que dão maior auxílio na hora de desenvolver como: indentação de código, diferenciação de funções, autocompletamento de código, dentre outras.

Outra ferramenta, mais utilizada para desenvolver código, é o que chamamos de Ambiente Integrado de Desenvolvimento ou IDE (sigla em inglês para Integrated Development Enviroment). Uma IDE é um software com muitas funcionalidades que auxiliam no desenvolvimento de código além de possuir a capacidade de rodar o código.

Neste capítulo apresentaremos a IDE Pycharm e suas principais ferramentas.

Já conhece os cursos online Alura?

A Alura oferece centenas de cursos online em sua plataforma exclusiva de ensino que favorece o aprendizado com a qualidade reconhecida da Caelum. Você pode escolher um curso nas áreas de Programação, Front-end, Mobile, Design & UX, Infra e Business, com um plano que dá acesso a todos os cursos. Ex-aluno da Caelum tem 15% de desconto neste link!

Conheça os cursos online Alura.

9.2 Pycharm

O Pycharm é multiplataforma com versões para Windows, MacOS e Linux. O PyCharm é desenvolvido pela empresa JetBrains e fornece análise de código, depurador gráfico, autocompletamento de código e capacidades de navegação que facilitam a escrita de código.

IDE's foram desenvolvidas para criar código mais rapidamente e com maior eficiência. Veremos aqui os principais recursos do PyCharm. Você perceberá que ele evita ao máximo atrapalhar e apenas gera trechos de códigos óbvios, sempre ao seu comando.

No site oficial há guias e tutoriais para iniciantes. Se você se interessar, recomendamos usar o guia inicial neste link: https://www.jetbrains.com/help/pycharm/meet-pycharm.html

Com o PyCharm você pode desenvolver em Python. A versão Profissional dá suporte para desenvolvimento de aplicações web com Django, Flask e Pyramid. O Pycharm também suporta HTML, CSS, JavaScript e XML. Suporte para outras linguagens também podem ser adicionadas baixando plugins.

Outras IDEs

Outra IDE famosa no Python é o IDLE que possui bem menos recursos do que o PyCharm mas também é bastante utilizado pela comunidade.

No site oficial da Python Brasil existem uma lista imensa de outras IDEs: https://wiki.python.org.br/IdesPython.

9.3 Download e Instalação do PyCharm

Se você ainda não possui o PyCharm, faça o download nesta página: https://www.jetbrains.com/pycharm/ .

Existem duas versões, a Professional e a Commmunity. A versão paga (a Professional) possui funcionalidades extras como suporte para desenvolvimento de aplicações web e integração com banco de dados. Para o curso, a versão Community será suficiente. Para o download, siga as instruções dependendo de seu sistema operacional.

Se você precisar de ajuda para fazer a instalação, consulte as instruções de instação neste link: https://www.jetbrains.com/help/pycharm/install-and-set-up-pycharm.html

9.4 Criando um Projeto

Ao abrir o PyCharm pela primeira vez, uma janela chamada Create Project aparecerá. É nela que definimos todas as configurações necessárias.

Podemos criar um novo projeto a qualquer momento. Para fazer isso, basta clicar em File -> New Project no menu superior da janela principal do PyCharm.

Primeiro, especificamos o nome do projeto - no nosso caso será apenas banco. Note que o PyCharm sugere um local padrão para salvar o projeto. Você pode aceitar este local ou configurar manualmente no campo Location. Vamos optar pelo caminho padrão. Ao fazer isso, a IDE vai criar uma pasta chamada PyCharmProjects na sua pasta home.

Após isso, escolhemos a versão do interpretador que usaremos no projeto. O PyCharm cria um ambiente isolado da instalação padrão do sistema operacional (no caso do Linux e MacOS). Isso é muito importante e não causa concorrência com outras bibliotecas instaladas em seu computador. Por fim, clicamos em Create e nosso projeto é criado.

Nosso projeto tem uma estrutura padrão. A pasta venv é o ambiente isolado do sistema operacional. Nela contém a versão do interpretador Python que selecionamos na criação do projeto e seus módulos embutidos (builtins) - você pode checar isso na pasta lib. A qualquer momento podemos incluir novas bibliotecas ao projeto.

Vamos iniciar nosso projeto criando a classe Conta. Antes, precisamos criar uma pasta raiz do projeto. Vá em File -> New -> Directory.

Definimos um nome para nosso diretório e clicamos em 'OK'. Vamos criar um diretório chamado src:

Para defini-lo como pasta raiz, vamos clicar com o botão direito do mouse no diretório, navegar até Mark Directory as e escolher Sources Root. Você notará que a pasta muda da cor cinza para azul.

Você pode também fazer o curso PY-14 dessa apostila na Caelum

Querendo aprender ainda mais sobre? Esclarecer dúvidas dos exercícios? Ouvir explicações detalhadas com um instrutor?
A Caelum oferece o curso PY-14 presencial nas cidades de São Paulo, Rio de Janeiro e Brasília, além de turmas incompany.

Consulte as vantagens do curso Python e Orientação a Objetos

9.5 Criando uma classe

Agora vamos criar o arquivo conta.py que conterá nossa classe Conta. Para isso, clique com o botão direito do mouse em src e vá em New -> Python File:

Digite o nome do arquivo e clique em 'OK'. Vamos nomear o arquivo como conta:

Outra maneira de criar um arquivo python é clicar na pasta src e digitar o atalho ALT + Insert e a janela para você entrar com o nome do arquivo vai aparecer.

Uma nova aba vai aparecer com o nome do módulo que criamos, à direita do menu de navegação do projeto. Vamos começar a escrever o código de nossa classe Conta. Você vai notar que quando começamos a digitar a palavra class o PyCharm vai te oferecer sugestões para você escolher. Comece escrevendo a palavra class (exemplo: 'cl') e ele vai terminar de digitar pra você:

Vamos agora escrever o método __init__(). Aqui também o Pycharm vai nos ajudar. Escreva apenas "def i" e o PyCharm vai te dar novamente sugestões:

Escolha a primeira opção __init__(self) e aperte ENTER. Vai gerar o código:

class Conta:

    def __init__(self):

Faça o método inicializador receber como parâmetro os valores do atributos de uma Conta, ou seja, receber o numero, titular, saldo e limite:

class Conta:

    def __init__(self, numero, titular, saldo, limite=1000.0):
        self.numero = numero
        self.titular = titular
        self.saldo = saldo
        self.limite = limite

9.6 Executando código

Agora vamos testar nossa classe. O Pycharm possui um console do Python embutido, para abrí-lo vá em Tools -> Python Console. Você vai notar que a janela do console vai abrir abaixo do arquivo conta:

Vamos importar o módulo conta com o comando from src.conta import Conta, instanciar uma Conta e acessar seus atributos:

Repare que o console também possui a ferramenta de autocomplete. Para reiniciá-lo basta clicar no primeiro ícone do menu esquerdo do console.

A IDE também permite abrir o terminal e usar o modo interativo para testes. O atalho para abrir o terminal é ALT + F12. O Python Console do Pycharm é mais aconselhável para isso e o terminal é mais utilizado para instalar novas libs ao seu projeto.

Mas usaremos o console apenas para testes. Vamos executar o código diretamente do nosso arquivo conta. Para isso precisamos acrescentar a condicional if __name__ == '__main__': e fazer os mesmos testes que fizemos no console dentro desta condição if. Basta você escrever "main" e digitar ENTER que o Pycharm cria a condicional para você:

if __name__ == '__main__':

Agora vamos instanciar e imprimir os atributos de uma Conta como fizemos utilizando o Python Console. Não esqueça de utilizar a função print na hora de mostrar os atributos já que não estamos mais no modo interativo:

if __name__ == '__main__':
    conta = Conta('123-4', 'João', 1000.0)
    print(conta.numero)
    print(conta.titular)
    print(conta.saldo)
    print(conta.limite)

Para executar vá em Run -> Run ou clique com o botão direito do mouse no interior do arquivo conta e escolha a opção Run 'conta'. Ou ainda, digite o atalho CTRL+Shift+F10 que vai ter o mesmo efeito. Depois de ter rodado pela primeira vez, para você rodar novamente basta clicar no ícone de uma pequena seta verde no menu superior da IDE:

9.7 Criando métodos

Vamos criar nosso primeiro método. Primeiro, dentro da condicional main, vamos digitar a seguinte linha de código:

conta.deposita(100.0)

Se executarmos esse código o nosso programa quebra já que a classe Conta ainda não possui o método deposita(). Para criá-lo, coloque o cursor do mouse na palavra "deposita" e use o atalho ALT + ENTER, várias sugestões do Pycharm irão aparecer. Clique em Add method deposita() to class Conta:

E o Pycharm vai criar a declaração do método para você:

Viu como é fácil e rápido? Agora basta trocar a palavra param por valor, apagar a palavra pass e adicionar a implementação do método:

def deposita(self, valor):
    self._saldo += valor

No próximo exercício vamos criar nosso primeiro projeto do banco e nossa classe Conta utilizando o Pycharm e praticar o que aprendemos de orientação a objetos e sobre a IDE até aqui.

Seus livros de tecnologia parecem do século passado?

Conheça a Casa do Código, uma nova editora, com autores de destaque no mercado, foco em ebooks (PDF, epub, mobi), preços imbatíveis e assuntos atuais.
Com a curadoria da Caelum e excelentes autores, é uma abordagem diferente para livros de tecnologia no Brasil.

Casa do Código, Livros de Tecnologia.

9.8 Principais Atalhos

O Pycharm possui muitos atalhos úteis na hora de desenvolver. Abaixo estão os principais deles para você conhecer e praticar:

A JetBrains fez uma tabela com todos os atalhos que você pode checar neste link: resources.jetbrains.com/storage/products/pycharm/docs/PyCharm_ReferenceCard.pdf

9.9 Exercício - Criando projeto banco no PyCharm

  1. Abra o Pycharm e vá em File -> New Project. A janela abaixo vai aparecer. Troque a palavra untitled pelo nome do nosso projeto que será banco:

    Verifique se a versão do Python está correta em Base interpreter e clique em OK.

  2. No menu esquerdo vai aparecer a estrutura do projeto. Vamos definir uma pasta raiz onde ficarão nossos arquivos de código python. Clique com o botão direito na pasta banco e escolha a opção New Folder. Uma nova janela vai aparecer para você entrar com o nome do diretório, digite src e OK:

  3. Após isso, clicamos com o botão direito na pasta src e selecionamos Mark Directory as -> Sources Roots para avisar o PyCharm que esta pasta será um diretório fonte de nosso projeto, onde ficarão nossos arquivos .py.

    Repare que a pasta ficará da cor azul depois de executar desta ação:

  4. Agora vamos criar nossa classe Conta que ficará no arquivo conta.py. Vamos fazer isso utilizando um atalho do PyCharm. Coloque o cursor do mouse na pasta src e digite ALT + Insert. Escolha a opção Python File. Uma nova janela vai abrir, digite "conta" e clique em OK.

  5. O arquivo será aberto a esquerda. Vamos começar a criar nossa classe. Ao começar escrever a função init a própria IDE vai mostrar opções em uma janela, basta clicar que ele auto-completa para você já com a argumento 'self'. Adicione os atributos de uma Conta como fizemos no exercício do capítulo anterior:

     class Conta:
    
         def __init__(self, numero, titular, saldo, limite):
             self._numero = numero
             self._titular = titular
             self._saldo = saldo
             self._limite = limite
    

    Aproveite a crie as properties de cada atributo. Abuse do CTRL+ESPAÇO para a IDE auto completar para você e do ALT + ENTER para sugestões.

  6. Em seguida criamos a condicional para que o PyCharm rode algumas linhas de código caso o __name__ seja igual a __main__, ou seja, o programa principal. O Pycharm também facilita esta criação, basta digitar a palavra 'main' e apertar CTRL + ESPAÇO que a estrutura do if é construída para você:

     if __name__ == '__main__':
    

    Vamos criar uma nova conta e imprimir o titular:

     if __name__ == '__main__':
         conta = Conta('123-4','joão',1200.0, 1000.0)
         print(conta.titular)
    
  7. Para rodar, basta clicar com o botão direito do mouse e escolher a opção Run 'conta' ou utilizar o atalho Ctrl+Shift_F10. Ou ainda escolher a opção da barra de ferramentas com o símbolo de play da cor verde. O resultado vai aparecer no console, na janela inferior da IDE.

  8. Crie os métodos deposita(), saca(), extrato() e transfere_para() como fizemos no último exercício. Aproveite os recursos da IDE que aprendemos para criar todos esses métodos. A propriedade setter do saldo é necessária?

  9. Crie duas contas e teste os métodos que você criou no exercício anterior.

  10. (Opcional) Crie um arquivo python chamado cliente.py e crie a classe Cliente com nome, sobrenome e cpf. Teste o código passando um cliente como titular de um Conta. Aproveite e adicione alguns métodos a ela.

Veja que a IDE facilita bastante na hora do desenvolvimento e ganhamos tempo também rodando o script diretamente no PyCharm.

Código

Resultado