我已经掌握了Python的基础知识,并且我有一个小假期,我想用一些来学习更多的Python。问题是我不知道该学什么或从哪里开始。我主要是网络开发,但在这种情况下,我不知道它会有多大的不同。
答案 0 :(得分:15)
嗯,高级Python编程有很多资源:
如果您想在简历上写“Python”,这是您必须掌握的主题列表:
它们使Python成为一种很酷的语言(当然,我每天都会发现标准库)。
答案 1 :(得分:5)
根据“掌握基础知识”的具体含义,我建议您阅读Dive Into Python并输入/执行所有章节代码,然后获取Programming Collective Intelligence之类的内容并进行操作通过它 - 你会很好地学习python,更不用说一些非常出色的算法,它们会对Web开发人员派上用场。
答案 2 :(得分:3)
虽然不是项目,但可以使用The Python Challenge。我发现它在提高我的蟒蛇技能方面非常有用,它可以让你的大脑在同一时间锻炼身体。
答案 3 :(得分:2)
我真的很喜欢这本书Programming Python.它有各种各样的小项目,其中大部分都可以在一个悠闲的晚上完成。他们让您熟悉大部分标准库,并可能会引起您的兴趣。最重要的是,这些小项目在“日常”意义上实际上是有用的。本书几乎只是假设您已经了解并理解Python作为一种语言的基本要素,而不是了解它庞大的API库。
我认为你会发现它值得一试。
答案 4 :(得分:2)
我会插上Building Skills in Python。另外,如果你想要更具挑战性的东西,Building Skills in OO Design是一系列相当庞大而复杂的练习。
答案 5 :(得分:2)
Python Cookbook 是绝对必要的。此外,这本书让我爱上了这门语言。
答案 6 :(得分:1)
我建议使用Django或Pylons编写一个非平凡的webapp,这可以做一些数字运算。 没有比学习新语言更好的方法,而不是自己去解决问题和学习!
答案 7 :(得分:1)
写一个网络应用程序,可能在Django - docs会教你很多好的Python风格。
使用一些流行的图书馆,例如Pygments或Universal Feed Parser。这些都是非常有用的功能,这些功能难以理解,可以在文档齐全的API中找到。
一般来说,我会远离那些没有详细记录的libs - 你会试图对它们进行逆向工程,将它们撞在墙上 - 和C库周围包装的库,如果你没有 任何C经验。当我还在学习时,我研究过wxPython代码 Python,这是我的第一语言,当时它很少 不仅仅是围绕wxWidgets的包装器。那段代码很容易就是最丑陋的 我写过。
除了动态导入章节之外,我没有从Dive Into Python那里得到那么多 - 这在其他地方并没有很好地记录。
答案 8 :(得分:1)
人们倾向于说“最好的学习方式就是做”,但我总是发现,除非你专门学习某种语言来为某些项目做贡献,否则很难找到一些问题。努力让自己继续前进。
一个很好的解决方案是Project Euler,其中包含各种编程\数学挑战的清单,范围从简单到非常大脑负担。例如,第一个挑战是:
如果我们列出10以下的所有自然数是3或5的倍数,我们得到3,5,6和9.这些倍数的总和是23.
问题#50已经变得更加艰难了
低于一百万的素数可以写成最连续素数的总和
总共有208个,但我认为有些新的东西会在这里和那里添加。
虽然我在启动Project Euler之前已经很好地了解了python,但我发现我通过使用这种语言来学习一些很酷的技巧。祝你好运!
答案 9 :(得分:1)
在Google视频中搜索“Alex Martelli”,“Alex Martelli模式”和“Thomas Wouters”。关于高级Python,Python中的设计模式等等,有很多有趣的讨论。
答案 10 :(得分:0)
在您热衷的领域中开始一个项目,学习就会自然而然地开始。买书也会永远帮助您学习。