General questions regarding Python language
我是编程新手,我决定从Python开始。只是好奇,从在线教程或书籍中学习python是否足够/推荐?我要做的不仅仅是简单的"你好,世界!"程序。我不确定书是否真的会教你如何制作更高级的程序。
一个例子是exif-py。你怎么开始编写这样的程序?您是坐下来开始编写代码,还是必须搜索API或其他东西?我简单地浏览了一下代码,这一切对我来说都是陌生的。
我真的不知道如何用文字来表达我的问题,所以一定要核对一下,因为如果有合适的文字出现,我会编辑我的问题。
嗯,我从在线资源(不仅仅是教程,还有参考文档、博客文章和其他文本)中学习了所有的python。当然,这是可能的,尽管有些人更喜欢一本书教给你的"指导"方式,特别是那些刚接触编程的人(那时我已经编程多年了)。
要创建像exif.py这样的程序,您首先必须知道在开始编程之前,您必须从广义上做些什么。您将研究exif格式,然后找出如何将其放入图像文件中,然后您将必须根据所使用的语言(在本例中是python)来构造它。这通常需要您已经熟悉它,否则这将是一个相当缓慢的过程。
我建议从更简单的程序开始,或者按照一本书开始,比如潜入Python(免费在线),因为你对编程还不熟悉,不仅需要学习语言,还需要像程序员一样思考。
如果像递归、模块、类、迭代、异常、字典之类的东西对您来说确实是新的,那么我建议您如何像Python中的计算机科学家一样思考(在社区中可爱地缩写为thinkcspy;-)。
它有点过时——为了获得最佳效果,请使用Python2.6或更低版本,但3.0也没有那么不同。
编辑:如果thinkcspy没有什么可以教你的,试着潜入Python。它是先进而漂亮的"现实世界",但一步一步地。
如果说"编程新手",你的意思是你上周才开始编程,或者说是一些类似的事情,那么你可能想给麻省理工学院开放式课程软件介绍一下计算机科学视频(和家庭作业!)一点时间。
OpenCourse涵盖了Python语言的语法、一些有用的提示以及适用于任何编程范式的一般注意事项。
但是,如果你是"编程新手",那么你已经知道了开始编写基本程序所需要的基本概念(比如加法、减法、乘法、逻辑运算、函数等)。
如果是这样的话,Project Euler特别适合通过编程来锻炼大脑肌肉来解决问题,尽管网站上的大多数问题都要求你至少还具备数学知识(如果你没有,至少知道如何谷歌)。
记住,如果你被什么东西卡住了,就不要被放下!这是学习的一部分!如果你真的被卡住了,那就搜索吧!
这些教程是用来教您语言语法和标准库的,而不是真正的如何解决特定的编程问题。把你在那里学到的当做你的工具箱。
我想我明白你在说什么。你想突破简单的应用程序,写自己的东西,对吗?嗯,首先你需要弄清楚你想做什么。然后是最困难的部分,你要怎么做?我建议从尝试把它分解成许多小的简单问题开始,而不是把它当作一个大问题来解决。
如果你想找到更大项目的例子,我建议你看看python cheeshop(包索引),下载一些你听说过的包,看看它们是怎么做到的。此外,人们经常在他们的个人博客上发布一些方便的代码,这些代码会出现在Planetpython上。
有一些非常好的在线资源:
python教程。
潜入Python。从新手到职业选手。
类似于pythonista的代码:惯用的python
另一个资源列表:基本的python读取列表。
到目前为止,我看到的大多数python书籍都"没有那么好"——但这要看情况而定。关于您的背景/之前关于Python和编程的知识。
您可以研究exif格式,研究gif/jpeg格式,打开二进制文件,扫描它并取出数据。