小白学Python不知道从哪里入手?我教你python详细路线图

浅梦一笑
• 阅读 2652

在这个信息爆炸的时代,以 “Python入门” 为关键字搜索出的结果成千上万。不少小白选手难免会东一榔头西一棒槌。

这是一篇 Python 入门指南,针对那些没有任何编程经验,从零开始学习 Python 的同学。不管你学习的出发点是兴趣驱动、拓展思维,还是工作需要、想要转行,都可以此文作为一个参考。

小白学Python不知道从哪里入手?我教你python详细路线图

非诚勿扰:正在学习python的小伙伴或者打算学习的,可以加我建立的Python峮:扣扣裙: 阶段1:入门知识 零编程基础的可以先从下面几个教程了解编程及环境入门知识。(已有编程基础直接从阶段2起步)

  1. 编程新手指南:

https://www.shiyanlou.com/courses/63

  1. Linux 基础入门

https://www.shiyanlou.com/courses/1

  1. Git 实战教程

https://www.shiyanlou.com/courses/4

阶段2:Python基础 看完入门知识,就可以开始本阶段的征程了。(Python2和3的教程可以选择一个深入学习)

  1. Python3 简明教程

https://www.shiyanlou.com/courses/596

  1. Python快速教程(基于Python 2.7)

https://www.shiyanlou.com/courses/214

阶段3:Web框架

  1. Python Django Web框架

https://www.shiyanlou.com/courses/30

  1. Python Flask Web框架

https://www.shiyanlou.com/courses/29

阶段4:基础项目

  1. Python 图片转字符画

本实验用 50 行 Python 代码完成图片转字符画小工具。通过本实验将学习到 Linux 命令行操作,Python 基础,pillow 库的使用,argparse 库的使用。

https://www.shiyanlou.com/courses/370

  1. 200行Python代码实现2048 小白学Python不知道从哪里入手?我教你python详细路线图 本实验仅用200行的 python 代码完成2048小游戏的编写。学习 Python 基本知识,状态机的概念,以及编写 python 游戏的步骤。
  1. Python 破解验证码

本实验通过一个简单的例子来实现破解验证码。从中我们可以学习到 Python 基本知识,PIL 模块的使用,破解验证码的原理。

https://www.shiyanlou.com/courses/364

  1. Python3 图片隐写术 小白学Python不知道从哪里入手?我教你python详细路线图 通过Python3实现将关键信息隐藏在图片的效果,主要目的是为了不让预期接收者以外的人知晓传递的内容。与电视剧中使用特殊墨水传递信息一样,表面看就是一张什么都没写的白纸,实则暗藏着重要信息。
  1. Python实现3D建模工具 小白学Python不知道从哪里入手?我教你python详细路线图 本课程将基于OpenGL实现一般CAD软件都会具备的基础功能:渲染显示3D空间的画面并可以操作3D空间中物体。

阶段5:网络编程

略.....

阶段6:数据与计算

阶段7:综合项目 问题解答:

1、通过学习python学会编程,从0到1的转变(从不会写代码到会写代码解决问题)。这里面有几个误区,很多零基础初学者,想一步登天,循环都不会写,就想玩django,玩项目。建议从从基础训练起,万丈高楼从地起。基础不牢,后面学习会很困难。

2、说说为啥你书会也能看懂,免费视频也看了,但是还不会自己写代码。这个原因是你看了一些照着ppt念的视频,没有讲编程思路,没有作业训练,没有人答疑,没有人点破造成的。

小白学Python不知道从哪里入手?我教你python详细路线图

何为编程思路,望文生义,思路,思考的道路,方向也。就是说,从哪里下手,从哪里着手解决问题。

其实就是计算思维的具体体现,用语法来表达解决问题的方法、算法。

没有人天生会编程,计算机科学家总结了很多解决问题的方法(也就是算法),现在学习编程,不是从头自己发明算法,不是重新造轮子,站在巨人的肩膀上,学习计算机科学家总结出来的解决方法,利用

这些成熟的算法,组合和微创新来解决自己的问题。

编程思路是训练出来的(自我训练或者跟着别人学习)。

提醒大家解决问题时,要将任务切分,大问题化解为小问题,其中有的小问题,已经有成熟的解决方案,直接拿来用,

剩下不会求解的小问题,那么就集中解决它。

训练就是要学习成熟的解决问题的方法:if 语句用来做分支判断,循环用来解决反复运算的问题。

穷举法、递推、递归、排序、回溯等等(如果需要当专业程序员,需要学习数据结构和算法,设计模式等等,需要学的东西很多很多。但首先要解决的一个问题是自己能写代码解决一般问题。)

训练函数抽象,类抽象解决问题。

如对有序数组,查找特定数值,没有经过训练,初学者,直接用循环遍历。

如果经过二分法算法的训练,下次碰到这样的问题,就用二分法求解。

做习题,要像开发项目的流程一样(需求->需求分析->设计->编码->测试->交付等),拿到一个习题,还没有进行分析,就匆匆忙忙敲代码,这个学习方法,是不好的学习方法。

先要分析清楚题目(所谓的需求分析,何为需求分析,请自己搜索),再设计,用那种数据类型(数据结构)来组织或保存数据,用何种算法来计算效率最高,用面向过程,还是面向对象的编程范式,还是用函数式编程等等。

设计后,再编写代码,最后写测试。(也可以采用软件开发过程中的应用方法,测试驱动开发等)

微软都积极拥抱Linux,你说你该学习Linux吗?

3、当你通过学习python学会编程后,应该更一步学习数据结构和算法。

学习数据结构和算法为了使你的代码更有效率,为了构建更大的项目。

当企业招聘员工时,当应聘者提供不了项目代码,那怎么考察应聘者的能力。

唯一方法,做面试题。面试题考算法题啊,所以要学习数据结构和算法。

4、企业为了节省成本,纷纷打出所谓全栈工程师,这个就要求会javascript。

当应聘web开发职位时,会javascript有加分作用。

目前开发web模式以,torando,django,flask等为后台提供API,前端以javascript 框架负责html5 展示数据。

所以要学习javascript。

5、最后说说沟通技巧。

程序员为啥要学习沟通技巧?现在开发都是团队开发,团队最需要沟通,不能很好的沟通,项目开发会跑偏,不符合需求。

初学者先从如何提好问题训练起,有的朋友提问,贴一个图片,不提供报错信息,不提供源代码文本文件,你难道要让回答者对着图片敲一遍,帮你调试吗?

提问一定要说清楚,道明白,让人一看就明白你在说的是啥。 小白学Python不知道从哪里入手?我教你python详细路线图

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Stella981 Stella981
3年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这