从来没有接触过编程的人怎样从头开始自学python?
Python 入门攻略
既然选择学习 Python,那你就要明确 Python 和其它编程语言相比的优势,之后,我也会针对 Python 入门,推荐一些书籍和教程,主要是入门,由浅入深。
在这之前,我想讲一下我对学习的看法,如果真的想在这一行深耕下去,尽量选择自学,不用上培训班!
我觉得没有必要,并且即便你入门了,每天依然会遇到各种各样的问题,都要靠自己的自学能力去解决,培训机构也顶多是带你入门,在你以后的工作和学习中,依然是靠自己。如果什么都要别人拉着你,那是不是太被动了?所以心态要好,价值观要正,一步一步慢慢来,稳扎稳打。
Python 有哪些优点?
简单
Python 非常易于读写,遇到问题时,程序员可以把更多的注意力放在问题本身上,而不用花费太多精力在程序语言、语法上。
Python 作为解释型语言,大大减少开发者工作量,写过代码的同学都清楚,这种易用性导致 python 庞大的用户群体及繁荣的社区。
面向对象
Python 既支持面向过程,也支持面向对象编程。在面向过程编程中,程序员复用代码,在面向对象编程中,使用基于数据和函数的对象 尽管面向对象的程序语言通常十分复杂,Python 却设法保持简洁。
丰富的第三方库
Python 社区创造了一大堆各种各样的 Python 库。在他们的帮助下,你可以管理文档,执行单元测试、数据库、web 浏览器、电子邮件、密码学、图形用户界面和更多的东西。所有东西包括在标准库,然而,除了它,还有很多其他的库。
Python语言的用途
多年来,Python 在各种流行编程语言中一直排名靠前。它几乎可以适用任何开发,它旨在提高程序员的开发效率而不在于他们编的代码。Python 适用于网站、桌面应用开发,自动化脚本,复杂计算系统,科学计算,生命支持管理系统,物联网,游戏,机器人,自然语言处理等很多方面。
而且,既使对于那些从没有开发经验的人来讲,Python 的代码也是简洁易懂的。由于 Python 程序代码简单,所以和与其他程序语言相比,后期的程序维护更容易,更舒心。从商业角度来看,需要的成本降低,程序员的效率提高。
Java 复杂,但能适应不同环境,Python 简单易学
Java 是一种严格的类型语言,这意味着必须显式声明变量名。相比之下,动态类型的 Python 则不需要声明变量。在编程语言上有许多关于动态和静态类型的争论,但有一点应该注意:Python 是一种语法简单的功能强大的语言,能够通过编写脚本就提供优秀的解决方案,并能够快捷地部署在各个领域。
Java 可以创建跨平台的应用程序,而 Python 几乎兼容当前所有操作系统。对新手来讲, Python 比 Java 更容易上手,而且代码易读性强,但是如果你想你的代码可以在任何地方都能执行的话,那么还是选择 Java 吧。Java 在创建网络应用方面比 Python 也有优势。
Java 比 Python 更复杂,没有技术背景的人学起来并非易事,但从另一方面来看,如果你想要适用于不同的环境,还是应该选择 Java。
Python 入门书籍推荐
《父与子的编程之旅》
本书是一本家长与孩子共同学习编程的入门书。作者是一对父子,他们以 Python 语言为例,详尽细致地介绍了Python 如何安装、字符串和操作符等程序设计的基本概念,介绍了条件语句、函数、模块等进阶内容,最后讲解了用 Python 实现游戏编程。
书中的语言生动活泼,叙述简单明了。 为了让学习者觉得编程有趣,本书编排了很多卡通人物及场景对话,让学习者在轻松愉快之中跨入计算机编程的大门。
《笨办法学 Python》
这本书几乎都被推烂了,但也是我想要推荐的首选,特点是以习题为大纲,迫使读者动手、动脑,在看书的同时提升编程水平。
适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用。这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。
虽然,他对于原理,基础理论没有过多的讲解,但是作为一本入门上手练习的书,它还是值得推荐的。主要是它对于非科班的学习,趣味性是足够的。
优点:从解决问题出发,注重实践性。
缺点:我对其内容编排、先后顺序有意见。比如前半本书洋洋洒洒一大堆东西,连文件读写都包括了,但竟然没有if,没有 if 还写什么代码(滑稽),另外对 “引用” 等 Python 的关键知识点处理太模糊,重点不突出。
解决方法也简单:再买一本《Python 编程:从入门到实战》或者《Python 学习手册》(只需要上册)。把《笨办法学 Python》作为练习册即可。
《Python编程:从入门到实践》
针对所有层次的 Python 读者而作的 Python 入门书。全书分两部分:第一部分介绍用 Python 编程所必须了解的基本概念,包括 matplotlib、NumPy 和 Pygal 等强大的 Python 库和工具介绍,以及列表、字典、if 语句、类、文件与异常、代码测试等内容;第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的 Python 2D 游戏开发如何利用数据生成交互式的信息图,以及创建和定制简单的 Web 应用,并帮读者解决常见编程问题和困惑。
廖雪峰的 Python3 教程
https://www.liaoxuefeng.com/wiki/1016959663602400
廖雪峰的教程对零基础的学习者来说难度跳跃大了点,更适合有一定基础的同学。如果对 Python 或者编程没有一点基础,看到后面,可能就不太能看懂了,这就需要你先学习更简单易懂的内容,当你把一些基本语言学会了,再来看这个教程,就没什么问题。
学习编程不是一件简单的事,需要你不断的学习,实战,进阶,学习,实战,进阶不断往复,积累经验。