Como aprendo Python do zero ao desenvolvimento web? [fechadas]

48

Estou pensando em aprender Python para desenvolvimento web.

Supondo que eu já possua alguma experiência básica em desenvolvimento web com Java (JSP / Servlets), já estou familiarizado com design web (HTML, CSS, JS), conceitos básicos de programação e que sou completamente novo em Python, como devo proceder? aprendendo Python de maneira estruturada que eventualmente me levará ao desenvolvimento da Web com Python e Django?

Não tenho pressa em criar aplicativos da Web em Python, então eu realmente quero aprendê-lo completamente, para não deixar lacunas no meu conhecimento das tecnologias que envolvem o desenvolvimento da Web em Python. Existem livros, recursos ou técnicas para me ajudar no meu esforço? Em que ordem devo fazer / ler?

ATUALIZAR:

Quando digo aprender de maneira estruturada, quero dizer começar do básico e depois aprender coisas avançadas sem deixar alguns dos detalhes / recursos importantes que o Python tem a oferecer. Eu quero saber como aplicar as coisas que eu já sei na programação para Python.

Terence Ponce
fonte
6
+1 por não ter pressa. Essa é a melhor maneira de aprender um idioma, experimentar as coisas, mas não mergulhe em um projeto de produção para aprender um idioma.
Chris

Respostas:

49

Primeiro aprenda bem o Python

Aqui estão alguns recursos online para aprender Python

  1. O tutorial do Python
  2. Wiki-Book
  3. Byte de Python
  4. Desenvolvendo habilidades no Python versão 2.5
  5. Ebooks on-line gratuitos do Python
  6. Bibliotheca de Python
  7. Think Python
  8. Estruturas de dados e algoritmos em Python
  9. Como pensar como um cientista da computação: aprendendo com Python
  10. Python for Fun
  11. Invente seus próprios jogos de computador com Python
  12. Aprenda Python da maneira mais difícil
  13. Pensando em Python
  14. Serpente brigando para crianças

Para o Django você pode consultar

O que eu sugiro é

  1. O tutorial do Python
  2. Wiki-Book
  3. O Livro Django

Confira também este vídeo

Chankey Pathak
fonte
6
Ótima lista! Ouvi dizer que o Dive Into Python é ótimo para programadores experientes começarem no Python.
Terence Ponce
Atualmente, trabalhando no Dive into Python, ele é rápido e um recurso fantástico para programadores existentes que desejam aprender a linguagem! Sugiro chp 2 & 3 trabalhando para ver como ele vai, que irá orientá-lo muito bem com a sintaxe e dados tipos :)
invertido
@Terence: Eu posso concordar, considerando que isso é exatamente o que eu acabei de fazer. Vindo de um estudante de graduação da CSE usando java, c, php (no trabalho) e várias outras línguas, este livro me levou à velocidade.
Chris
+1) para TheDjangoBook e o vídeo. A programação da Web em Python também pode ser uma boa escolha.
Ravi404
15

Não leve isso muito a sério, mas ...

  • crie um nome de arquivo app.pycom o seguinte conteúdo:

    from flask import Flask
    app = Flask(__name__)
    
    @app.route("/")
    def hello():
        return "Hello World!"
    
    if __name__ == "__main__":
        app.run()
    
  • supondo que você tenha pip(instalador de pacotes python) instalado, faça o seguinte:

    $ pip install Flask
    $ python app.py
    * Running on http://localhost:5000/
    
  • Agora você pode visitar seu primeiro aplicativo Web em host local, porta 5000.

Essa seria sua primeira aplicação web python. Tudo depois disso é "refinamento" na estrutura, funcionalidade e aparência do aplicativo.

miku
fonte
8

Se o desenvolvimento da Web em python é o que você procura, depois de uma compreensão completa do python, sugiro que você dê uma olhada no Flask. O Django e outras estruturas de pilha cheia definitivamente tornariam sua vida muito mais fácil, mas no geral deixariam você com uma sensação incompleta, como se você não tivesse aprendido muito. O Flask IMHO é o framework mais impressionante em python a partir de agora, mas sim, essa é apenas a minha opinião.

Rasmus
fonte
4

Também gostaria de recomendar o Python Koans para aprender: http://github.com/gregmalcolm/python_koans

Eles são bem parecidos com os Ruby Koans (muitos deles foram transportados diretamente) e são bem legais.

Tyler
fonte
11
você se importaria de explicar mais sobre o que faz e por que o recomenda como resposta à pergunta? "Link-só responde" não são muito bem-vindos no Stack Câmbio
mosquito
3

http://learnpythonthehardway.org

É um livro online gratuito que contém uma série de 52 lições em python.

Iniciando na lição 1 e seguindo para a lição 52, você deve aprender o suficiente para se considerar um programador competente na linguagem python.

Cada lição possui exemplos de código que você deve digitar e EXECUTAR, em seguida, ALTERAR para ver como isso altera os resultados.

É esse processo pelo qual a maioria das pessoas que eu conheço geralmente aprende programação.

Alex C
fonte
11
você se importaria de explicar isso com mais detalhes - como e por que responde à pergunta? "Link-só responde" não são muito bem-vindos no Stack Câmbio
mosquito
11
espero que o acima atenda às suas necessidades. Obrigado pelo feedback.
Alex C
11
Definitivamente, você não deve copiar e colar os exercícios, pois isso não ajudará você a aprender. Desde o primeiro capítulo do livro:You must type each of these exercises in, manually. If you copy and paste, you might as well just not even do them. The point of these exercises is to train your hands, your brain, and your mind in how to read, write, and see code. If you copy-paste, you are cheating yourself out of the effectiveness of the lessons.
marco-fiset
11
Obrigado Marco. Também ajustei a resposta para refletir esse ponto.
Alex C
0

O desenvolvimento da Web sempre volta a uma coisa: e esse é o navegador. Aprenda HTML, CSS e JavaScript muito bem, e ele será útil a qualquer mudança de idioma.

Www.w3schools.com é um ótimo lugar para aprender essas coisas, mas quando se trata de CSS, geralmente é muito útil apenas sentar e brincar com ele. Encontre um web design legal e implemente-o em HTML manualmente. Essa é uma habilidade muito, muito necessária, se algum código do lado do servidor resultar em HTML.

Em seguida, gosto da sua abordagem lógica, mas pode não ser a melhor maneira de fazer isso. Uma abordagem mais gratificante pode ser estabelecer uma meta que você deseja alcançar e aprender no caminho.

No entanto, começar com django pode não ser a melhor ideia. Muitas das decisões que eles tomaram ao projetar a estrutura só faria sentido se você experimentasse os problemas que eles resolvem em primeira mão. Minha primeira linguagem da Web foi o php, e a maneira mais eficaz de entender as práticas recomendadas era escrever códigos ruins e quebradiços, percebendo que havia um problema e pesquisando novas soluções. Se eu fosse pesquisar uma solução antes de entender o problema, não seria capaz de aplicá-la efetivamente.

Se você estiver disposto a dedicar algum tempo a isso, talvez começar com um conjunto de tecnologias menos abstratas, como php, possa ser uma ótima experiência de aprendizado.


fonte
2
Acho que você perdeu o que eu disse sobre eu já ter experiência em desenvolvimento web e estar familiarizado com os conceitos básicos de programação. Eu já sabia HTML, CSS e Javascript antes de passar para JSP / Servlets. Sobre a abordagem (que eu queria) para aprender Python, eu só quero saber como aplicar o que eu já sei em programação sem perder alguns dos detalhes / recursos que o Python tem a oferecer.
Terence Ponce
Talvez você deva esclarecer sua postagem, pois diz ter experiência básica em desenvolvimento web ... CSS, HTML e JavaScript podem ser muito complexos e poderosos. Eu estava simplesmente tentando enfatizar a importância de investir em qualquer desenvolvimento web.
OK. Me desculpe por isso. Vou atualizar minha pergunta agora.
Terence Ponce