我如何学习从零到Web开发的Python?[关闭]


48

我正在研究用于网络开发的Python。

假设我已经具备Java(JSP / Servlets)的一些基本的Web开发经验,我已经熟悉Web设计(HTML,CSS,JS),基本的编程概念,并且我对Python完全陌生,那么我该怎么做以结构化的方式学习Python,最终将引导我使用Python和Django进行Web开发吗?

我并不急于用Python制作Web应用程序,因此我真的很想彻底学习它,以免在我对涉及Python中的Web开发的技术的了解上保持任何差距。有书籍,资源或技巧可以帮助我吗?我应该按什么顺序阅读它们?

更新:

当我说以结构化的方式学习时,我的意思是从基础开始,然后学习高级内容,而又不离开Python必须提供的一些重要细节/功能。我想知道如何将我在编程中已经知道的东西应用于Python。


6
+1代表不着急。这是学习语言,尝试各种事物的最佳方法,但不要参与生产项目来学习语言。
克里斯,2010年

Answers:


49

6
很棒的清单!我听说Dive Into Python非常适合有经验的程序员开始使用Python。
Terence Ponce 2010年

目前,通过Dive into Python工作,它的节奏很快,对于想学习该语言的现有程序员来说,这是一个绝佳的资源!我建议使用chp 2和3来了解它的运行方式,这将使您对语法和数据类型有很好的了解:)
反转

@Terence:我可以同意,这正是我刚刚所做的。这本书来自使用Java,C,PHP(在工作中)和其他各种语言的CSE本科生,这本书使我快速入门。
克里斯,2010年

+1)TheDjangoBook和视频。Python Web编程也可能是一个不错的选择。
ravi404

15

不要太在意这个,但是...

  • 创建app.py具有以下内容的文件名:

    from flask import Flask
    app = Flask(__name__)
    
    @app.route("/")
    def hello():
        return "Hello World!"
    
    if __name__ == "__main__":
        app.run()
    
  • 假设你有pip(Python包安装程序)安装做到以下几点:

    $ pip install Flask
    $ python app.py
    * Running on http://localhost:5000/
    
  • 现在,您可以访问本地主机(端口5000)下的第一个Web应用程序。

那将是您的第一个python Web应用程序。此后的一切都是对应用程序结构,功能和外观的“完善”。


8

如果您正在寻找使用python进行Web开发,那么在对python有了透彻的了解之后,建议您看一下Flask。Django和其他全栈框架肯定会使您的生活变得轻松得多,但总体而言,您会感到自己似乎学不到很多,因而感觉很不完整。Flask IMHO是到目前为止python中最强大的框架,但是是的,这只是我的看法。


4

我也想推荐Python Koans来学习:http ://github.com/gregmalcolm/python_koans

它们与Ruby Koans非常相似(很多都是直接移植的),并且非常酷。


1
您介意进一步解释它的功能吗,为什么在回答所提问题时推荐它?在Stack Exchange上不太欢迎“仅链接的答案”
gnat 2013年

3

http://learnpythonthehardway.org

是一本免费的在线书籍,其中包含一系列有关python的52课。

从第1课开始,直到第52课,您应该学到足够的知识,使自己成为python语言的合格程序员。

每节课都有一些代码示例,您应该花时间键入它们,然后先运行然后再更改,以查看如何更改结果。

我认识的大多数人都是通过这个过程来学习编程的。


1
您介意对此进行更详细的解释-它如何以及为什么回答所提出的问题?在Stack Exchange上不太欢迎“仅链接的答案”
gnat 2013年

1
希望以上内容能满足您的需求。感谢您的反馈。
Alex C

1
您绝对不应该复制粘贴练习,因为它根本无法帮助您学习。从书的第一章开始: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

1
谢谢马可。我还调整了答案以反映这一点。
Alex C

0

Web开发总是回到一件事:那就是浏览器。很好地学习HTML,CSS和JavaScript,即使语言发生任何变化,它也将为您服务。

Www.w3schools.com是学习这些知识的好地方,但是当涉及CSS时,坐下来玩它通常非常有用。找到一个不错的网页设计,然后手工将其实现为HTML。如果任何服务器端代码生成HTML,这是一项非常非常必要的技能。

接下来,我喜欢您的合乎逻辑的方法,但这可能不是解决问题的最佳方法。一种更有意义的方法可能是建立您想要完成的目标,并在此过程中学习。

但是,以django开头可能不是最好的主意。他们在设计框架时做出的许多决定只有在您亲身经历了它们可以直接解决的问题时才有意义。我的第一种网络语言是php,而我了解最佳实践的最有效方法是编写糟糕的,易碎的代码,意识到存在问题,并重新寻找解决方案。如果要在了解问题之前先研究解决方案,那么我将无法有效地应用它。

如果您愿意花时间在此上,也许从不太抽象的技术集(例如php)开始可能是很棒的学习经验。


2
我想您已经错过了我所说的关于我已经拥有Web开发经验并且熟悉基本编程概念的信息。在转向JSP / Servlet之前,我已经了解HTML,CSS和Javascript。关于(我想要的)学习Python的方法,我只想知道如何在编程中应用我已经知道的知识,而不会错过Python必须提供的一些细节/功能。
Terence Ponce 2010年

也许您应该澄清自己的帖子,因为您说自己有基本的Web开发经验。...CSS,HTML和JavaScript可能非常复杂且功能强大。我只是想强调他们对任何Web开发的投资重要性。

好的。对于那个很抱歉。我现在更新我的问题。
Terence Ponce 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.