我是编程的新手,我决定从Python开始。但只是好奇,是否足够/建议从online tutorials或书籍学习Python?我想要比简单的“Hello World!”更进一步。程式。我不确定书籍是否真的会教你如何制作更高级的课程。
一个例子是Exif-py。你怎么开始编程这样的程序?您是否只是坐下来开始编写代码,或者您是否必须搜索API或其他内容?我简单地浏览了一下代码,这对我来说都很陌生。
我不确定如何将我的问题用语言表达,所以请回来查看,因为如果有正确的话语,我会编辑我的问题。
答案 0 :(得分:4)
好吧,我从在线资源中学到了所有的Python(不仅仅是教程,还有参考文档,博客文章和其他文本)。这当然是可能的,虽然有些人更喜欢一本书教你的“引导”方式,特别是那些刚接触编程的人(那时我已经编程多年了)。
要创建像Exif.py这样的程序,首先必须在开始编程之前知道必须做的广义术语。您将研究EXIF格式,然后弄清楚如何将其放入图像文件中,然后您必须根据您使用的语言(在本例中为Python)来表示。这通常要求你已经熟悉它,否则它将是一个相当缓慢的过程。
我建议先从简单的程序开始,或者按照Dive Into Python这样的书(免费在线),看到你是编程的新手,不仅需要学习语言,但要像程序员一样思考。
答案 1 :(得分:2)
教程是教你语言语法和标准库,而不是如何解决特定的编程问题。想想你在那里学到的东西是你的工具箱。
我想我明白你在说什么。你想突破简单的应用程序并编写自己的东西,对吧?那么,首先你需要弄清楚你想要做什么。然后是艰难的部分;你打算怎么做?我建议首先尝试将其分解为一些小的简单问题,而不是将其解决为一个大问题。
如果您正在尝试查找较大项目的示例,我建议您查看Python Cheeseshop (package index)并下载您听过的一些软件包,看看他们是如何做到的。此外,人们经常在他们的个人博客上发布一些代码,并显示在PlanetPython上。
答案 2 :(得分:2)
如果通过'新手来编程'你的意思是你上周刚刚开始它或者其他什么东西,那么也许你可能想要提供MIT OpenCourseWare Introduction to Computer Science个视频(和家庭作业! )你的一点时间。
开放课程涵盖了Python语言的语法,一些有用的提示以及适用于任何编程范例的一般做和不应该。
但是,如果通过'新手编程',你已经知道了开始编写基本程序所需的基本概念(如加,减,乘,逻辑运算,函数等)。
如果是这样的话,Project Euler特别适合通过编程来解决解决问题的颅肌,尽管网站上的大多数问题都要求你也掌握数学知识(如果你不知道,那么,至少知道如何google)。
请记住,如果你遇到任何问题,请不要放下!这都是学习的一部分!如果你真的被卡住了,请搜索SO!
答案 3 :(得分:2)
如果像递归,模块,类,迭代,异常,词典这样的东西对你来说确实是新的,我建议How to Think Like a Computer Scientist in Python(在社区中简称为ThinkCSPy; - )。
它有点过时了 - 为了获得最佳效果,请使用Python 2.6或更低版本,但是再次3.0不是那个不同。
编辑:如果ThinkCSPy几乎没有教你,请尝试Dive Into Python。它是先进的,非常“真实世界”,但是一步一步。
答案 4 :(得分:1)
有一些非常好的在线资源:
另一个资源列表:Essential Python Reading List。
到目前为止我见过的大多数Python书都“不那么好” - 但这取决于 关于Python和编程的背景/先验知识。
答案 5 :(得分:0)
您研究EXIF格式,研究GIF / JPEG格式,打开二进制文件,扫描并获取数据。