2023-12-31 19:07:50 | 我爱编程网
近来一种新的语言python悄然兴起,同样的也是润物无声,当我们很多人突然抬头发现它的时候,python已经被很多地方应用了。IT培训认为这个简单易学的胶水语言向我们展示了它的强大之处,而且他是一个免费的开源语言。因为python可移植、跨平台、可嵌入的优点,而让应用它的人对它是爱不释手。
一、清楚学习目标
无论是学习什么知识,都要有一个对学习目标的清楚认识。
只有这样才能朝着目标持续前进,少走弯路,从学习中得到不断的提升,享受python培训学习计划的过程。
二、基本python知识学习
1.了解Python是什么,都能做些什么?
2.知道什么是变量、算法、解释器
3.Python基本数据类型
4.列表和元组的操作方法
5.字符串操作方法
6.基本的字典操作方法
以上这些可以略微掌握之后就进行下一步,遇到忘记不会的可以再参考一下书和笔记。
三、掌握Python的条件、循环和相关的执行语句
任何知识它的基础知识都是有些枯燥的,现在我们就可以动手来做一些逻辑层面的东西了。掌握if、else、elif、while、for、continue、break和列表推导式等这些语句的使用,还有程序中的异常处理。
四、面对对象知识
面对对象OOP,更高层次的Python程序结构,代码的重用避免代码冗余,打包你的代码,函数的参数、作用域等。
类,可以帮助我们减少大量的开发时间,提高编程的效率,对中大型项目十分关键。
五、项目实践
在这个阶段,一定要多动手实践,查找和处理过程中遇到的错误和异常,遇到问题多上网搜索。
在成功的解决了这些问题之后,会有一种很大的成就感,这样一个良性循环,才是你学习Python这类程序语言的最大动力。
起步阶段 任何一种编程语言都包含两个部分:硬知识和软知识,起步阶段的主要任务是掌握硬知识。 1.硬知识 “硬知识”指的是编程语言的语法、算法和数据结构、编程范式等,例如:变量和类型、循环语句、分支、函数、类。这部分知识也是具有普适性的,看上去是掌握了一种语法,实际是建立了一种思维。例如:让一个 Java 程序员去学习 Python,他可以很快的将 Java 中的学到的面向对象的知识 map 到 Python 中来,因此能够快速掌握 Python 中面向对象的特性。 如果你是刚开始学习编程的新手,一本可靠的语法书是非常重要的。它看上去可能非常枯燥乏味,但对于建立稳固的编程思维是必不可少。 下面列出了一些适合初学者入门的教学材料: (1)「笨方法学 Python」:
这本书在讲解 Python 的语法成分时,还附带大量可实践的例子,非常适合快速起步。 (2)「The Hitchhiker’s Guide to Python!」:The Hitchhiker’s Guide to Python! 这本指南着重于 Python 的最佳实践,不管你是 Python 专家还是新手,都能获得极大的帮助。 (3)「Python 官方文档」:Our Documentation 实践中大部分问题,都可以在官方文档中找到答案。 (4)辅助工具:Python Tutor 一个 Python 对象可视化的项目,用图形辅助你理解 Python 中的各种概念。
2.软知识 “软知识”则是特定语言环境下的语法技巧、类库的使用、IDE的选择等等。这一部分,即使完全不了解不会使用,也不会妨碍你去编程,只不过写出的程序,看上去显得“傻”了些。 对这些知识的学习,取决于你尝试解决的问题的领域和深度。对初学者而言,起步阶段极易走火,或者在选择 Python 版本时徘徊不决,一会儿看 2.7 一会儿又转到 3.0,或者徜徉在类库的大海中无法自拔,Scrapy,Numpy,Django 什么都要试试,或者参与编辑器圣战、大括号缩进探究、操作系统辩论赛等无意义活动,或者整天跪舔语法糖,老想着怎么一行代码把所有的事情做完,或者去构想圣洁的性能安全通用性健壮性全部满分的解决方案。 很多“大牛”都会告诫初学者,用这个用那个,少走弯路,这样反而把初学者推向了真正的弯路。 还不如告诉初学者,学习本来就是个需要你去走弯路出 Bug,只能脚踏实地,没有奇迹只有狗屎的过程。 选择一个方向先走下去,哪怕脏丑差,走不动了再看看有没有更好的解决途径。 自己走了弯路,你才知道这么做的好处,才能理解为什么人们可以手写状态机去匹配却偏要发明正则表达式,为什么面向过程可以解决却偏要面向对象,为什么我可以操纵每一根指针却偏要自动管理内存,为什么我可以嵌套回调却偏要用 Promise... 更重要的时,你会明白,高层次的解决方法都是对低层次的封装,并不是任何情况下都是最有效最合适的。 技术涌进就像波浪一样,那些陈旧的封存已久的技术,消退了迟早还会涌回的。就像现在移动端应用、手游和 HTML5 的火热,某些方面不正在重演过去 PC 的那些历史么? 因此,不要担心自己走错路误了终身,坚持并保持进步才是正道。
发展阶段 完成了基础知识的学习,必定会感到一阵空虚,怀疑这些语法知识是不是真的有用。 没错,你的怀疑是非常正确的。要让 Python 发挥出它的价值,当然不能停留在语法层面。 发展阶段的核心任务,就是“跳出 Python,拥抱世界”。 在你面前会有多个分支:科学计算和数据分析、爬虫、Web 网站、游戏、命令行实用工具等等等等,这些都不是仅仅知道 Python 语法就能解决的问题。 拿爬虫举例,如果你对计算机网络,HTTP协议,HTML,文本编码,JSON一无所知,你能做好这部分的工作么?而你在起步阶段的基础知识也同样重要,如果你连循环递归怎么写都还要查文档,连 BFS 都不知道怎么实现,这就像工匠做石凳每次起锤都要思考锤子怎么使用一样,非常低效。 在这个阶段,不可避免要接触大量类库,阅读大量书籍的。
类库方面 「Awesome Python 项目」:vinta/awesome-python · GitHub 这里列出了你在尝试解决各种实际问题时,Python 社区已有的工具型类库,如下图所示: 你可以按照实际需求,寻找你需要的类库。 至于相关类库如何使用,必须掌握的技能便是阅读文档。由于开源社区大多数文档都是英文写成的,所以,英语不好的同学,需要恶补下。
2.书籍方面: 这里我只列出一些我觉得比较有一些帮助的书籍,详细的请看豆瓣的书评: 「集体智慧编程」:集体智慧编程 (豆瓣) 「数学之美」:数学之美 (豆瓣) 「统计学习方法」:统计学习方法 (豆瓣) 「Pattern Recognition And Machine Learning」:Pattern Recognition And Machine Learning (豆瓣) 「数据科学实战」:数据科学实战 (豆瓣) 「数据检索导论」:信息检索导论 (豆瓣) 爬虫: 「HTTP 权威指南」:HTTP权威指南 (豆瓣) Web 网站: 「HTML CSS 设计与构建网站」:HTML CSS设计与构建网站 (豆瓣) ... 列到这里已经不需要继续了。 聪明的你一定会发现上面的大部分书籍,并不是讲 Python 的书,而更多的是专业知识。 事实上,这里所谓“跳出 Python,拥抱世界”,其实是发现 Python 和专业知识相结合,能够解决很多实际问题。这个阶段能走到什么程度,更多的取决于自己的专业知识。
深入阶段 这个阶段的你,对 Python 几乎了如指掌,那么你一定知道 Python 是用 C 语言实现的。 可是 Python 对象的“动态特征”是怎么用相对底层,连自动内存管理都没有的C语言实现的呢?这时候就不能停留在表面了,勇敢的拆开 Python 的黑盒子,深入到语言的内部,去看它的历史,读它的源码,才能真正理解它的设计思路。 这里推荐一本书: 「Python 源码剖析」:Python源码剖析 (豆瓣) 这本书把 Python 源码中最核心的部分,给出了详细的阐释,不过阅读此书需要对 C 语言内存模型和指针有着很好的理解。 另外,Python 本身是一门杂糅多种范式的动态语言,也就是说,相对于 C 的过程式、 Haskell 等的函数式、Java 基于类的面向对象而言,它都不够纯粹。换而言之,编程语言的“道学”,在 Python 中只能有限的体悟。学习某种编程范式时,从那些面向这种范式更加纯粹的语言出发,才能有更深刻的理解,也能了解到 Python 语言的根源。
学习编程入门可以分为以下几个步骤:
1. **确定目标和动机**:
- 了解为什么你想学习编程。是为了职业发展、兴趣爱好还是解决特定问题?
- 确定你的目标,比如成为前端开发者、后端工程师或数据科学家等。
2. **选择合适的编程语言**:
- 对于初学者来说,Python通常被推荐作为第一门编程语言,因为它简单易懂且应用广泛。
- 如果对网页开发感兴趣,则可以从HTML、CSS和JavaScript开始。
3. **利用在线资源和书籍**:
- 有大量免费的在线课程、教程和资源可供选择,例如Codecademy, freeCodeCamp, Coursera, edX, Udacity等。
- 购买一些入门级的编程书籍来补充在线学习。
4. **实践编码**:
- 理论知识很重要,但实际编写代码并运行它们更加关键。尝试自己解决小问题,然后逐渐增加难度。
- 参与项目,无论多小都好,这会帮助你将所学知识综合运用起来。
5. **加入社区**:
- 加入编程相关的论坛和社交媒体群组,如Stack Overflow, GitHub, Reddit上的r/learnprogramming等。
- 与其他学习者和经验丰富的开发者交流,求助并分享自己的进展。
6. **搭建个人项目**:
- 一旦掌握了基础知识,就应该开始建立自己的项目。这是证明你能力的绝佳方式。
- 尝试解决真正的问题,或者根据个人兴趣创造东西。
7. **持续学习和练习**:
- 编程是一个不断变化的领域,需要持续学习新的技术和工具。
- 通过阅读文档、观看教程视频、参加在线研讨会和会议来保持最新状态。
8. **获得反馈**:
- 让他人查看你的代码,并提供反馈。这可能是同伴、导师或通过代码审查平台。
- 能够接受和处理批评意见是成长的一部分。
9. **构建作品集**:
- 随着技能的提升,建立一个包含你最佳工作的作品集网站。
- 这不仅展示了你的技能,也是潜在雇主了解你的重要途径。我爱编程网
10. **考虑深入专业领域**:
- 当你对基本概念有了扎实的理解之后,可以开始专注于某个特定的领域,如Web开发、数据科学、移动应用开发等。
记住,学习编程不是一夜之间就能完成的事情,而是需要时间、耐心和坚持不懈的努力。不要害怕犯错误,因为从错误中学习是提高编程技能的重要过程。
2023-12-26 12:43:58
2023-12-23 12:08:32
2023-09-13 13:02:53
2023-12-28 16:34:59
2023-12-27 17:16:46
2023-12-27 07:23:25