2009-12-19 43 views
0

我是编程的新手,我决定从Python开始。只是好奇,是否足够/建议从online tutorials或书籍学习Python?我想比简单的“Hello World!”更进一步!程式。我不确定图书是否真的会教你如何制作更高级的程序。有关Python语言的一般问题

一个例子是Exif-py。你甚至如何开始编程这样的程序?你只是坐下来开始编写代码,还是你必须搜索API或任何东西?我简短地浏览了代码,这对我来说都是陌生的。

我真的不确定如何用言语表达我的问题,所以请回头看看,因为如果正确的话语出现在我的脑海里,我会编辑我的问题。

+2

您需要知道编程语言是工具。 EXIF模块更多地是关于EXIF格式的,而不是关于Python编程的 。 如果您知道如何解决任务(并且知道编程语言X的 的语法),则可以记下代码。 – Chris 2009-12-19 11:25:31

+0

没有真正的答案,但一个简单的评论:你会发现一些在线材料参考SO,例如http://stackoverflow.com/questions/34570/what-is-the-best-quick-read-python-book-out -那里。确保检查哪些版本已被覆盖,大部分可以发现已过时,并且您将错过重大改进。还要检查它是否涵盖了Python版本2.x(现在2.6.4,2.7即将出来)或Python版本3.x,它们有很多不同(现在是3.1.1)。当然,你将不得不决定学习哪个版本(2.x仍然是非常用的):-) – RedGlyph 2009-12-19 11:32:58

+0

你的标题与你的问题不符。 “你怎么开始编程这样的程序?”你不是在问“python”。一般来说,你在问“编程”。请更新您的问题标题,具体说明您想知道的内容。什么东西阻止你?你需要什么信息? – 2009-12-19 14:02:21

回答

0

您研究了EXIF格式,学习了GIF/JPEG格式,打开二进制文件,扫描它并获取数据。

4

那么,我从在线资源(不仅仅是教程,而是参考文档,博客文章和其他文本)中了解了我的所有Python。这当然是可能的,尽管有些人更喜欢本书教给你的“指导”方式,特别是新编程的人(此时我已经编程了多年)。

要创建一个像Exif.py这样的程序,您首先必须知道在开始编程之前必须以广义的术语来做什么。你会学习EXIF格式,然后弄清楚它是如何放入图像文件中的,然后你必须根据你使用的语言(在这种情况下是Python)来表达它。这通常需要你已经熟悉它,否则这将是一个相当缓慢的过程。

我建议先从更简单的程序开始,或者按照一本书,如Dive Into Python(免费在线),看看你是否是编程新手,不仅需要学习语言,还需要思考像程序员一样。

+0

“潜入Python”已经完全过时,第2版的“A Byte of Python”也是如此,但第3版是最新的(http://www.swaroopch.com/notes/Python)。 – RedGlyph 2009-12-19 11:28:18

+1

http://www.diveintopython3.org它不仅适用于python3。 – David 2009-12-19 15:40:57

2

该教程是教你语言语法和标准库,而不是如何解决特定的编程问题。想想你在那里学到了什么,作为你的工具箱。

我想我明白你在说什么。你想要超越简单的应用程序并写出自己的东西,对吧?那么,首先你需要弄清楚你想要做什么。然后是困难的部分;你打算怎么做?我建议先尝试把它分解成一些简单的小问题,而不是把它作为一个大问题来解决。

如果您正在尝试查找大型项目的示例,我建议您查看并下载几个您听说过的软件包,以了解他们是如何做到的。另外,人们经常在他们的个人博客上张贴便利的代码片段,并且在PlanetPython上显示。

2

如果“新手编程”你是说你就在上周或东西开始它沿着线,那么也许你会想给MIT OpenCourseWare Introduction to Computer Science视频(和家庭作业!)您的一点时间。

的opencourse涵盖了Python语言的语法,一些有用的提示和一般做的注意事项适用于任何编程范式。

不过,如果通过“新手编程”,你已经知道的基本概念,你需要开始编写基本程序(如加,减,乘,逻辑运算,函数等)。

如果是这样,Project Euler特别适合通过编程来锻炼头部肌肉以解决问题,尽管网站上的大多数问题都需要您具备数学知识(如果您不知道,至少知道如何去谷歌)。

只要记住,如果你遇到任何事情都不要放下!这是学习的一部分!如果你真的陷入困境,搜索!

+0

很好的答案:1)签出麻省理工学院课件2)使用SO有任何疑问!多数民众赞成,这就是我做的! :) – 3zzy 2009-12-19 13:43:35

+0

从“你怎么开始编程这样的程序?”这个问题?我猜想他们还没有真正掌握基本面。 – 2009-12-19 14:01:18

+0

为了你,洛特换了段落。 – Jibu3 2009-12-19 14:15:22

2

如果像递归,模块,类,迭代,例外,词典这些东西对你来说确实是新的,我建议How to Think Like a Computer Scientist in Python(在社区中可以简写为ThinkCSPy ;-)。

它有点过时 - 为了获得最佳效果,请使用Python 2.6或更低版本,但再次3.0不是不同。

编辑:如果ThinkCSPy很少教你,试试Dive Into Python。它是先进的和漂亮的“真实世界”,但一步一步。