signed

QiShunwang

“诚信为本、客户至上”

一个小白的转行自学Python的经历

2021/1/28 17:09:35   来源:
想动手写写自己的经历,希望对更多的像我一样想转行自学的年轻人的一些帮助。和一些鼓励吧。
自学不下去,感觉没用,一定是你学习的过程中碰到了最难缠的问题,不知道自己学习Python的真实想法是什么。
也别扯那些什么Python门槛低,容易学,对着教程敲键盘有谁不会?
可你要是想继续深入,就得确定好前进的方向,简单来说,就是你未来要利用Python从事哪个方向的开发工作。
熟悉我的朋友,都知道我是土木工程专业,18年毕业后,很多同学去了工地,我受不了工作居无定所,就开始谋划我的跨行大计,这一脚,直接跨到了互联网。
当时由于没有计算机基础,走了不少弯路,看了一些教程,东拼西凑,感觉乱七八糟。
甚至有一段时间,我不断怀疑自己,放弃大学四年的知识,现在不做传统行业的研发,转身去接触一个新的东西是不是对的?
那段时间,我认识了一些数据分析岗位的在职者,年龄不大。他就建议我先做python开发,再做数据分析。
毕竟数据分析门槛高,机器学习和算法都是大佬们玩的,犹豫过后,我决定去找Python开发的岗位。
Python作为一门被广泛应用的编程语言,可以应用于Web开发、大数据开发、数据分析、人工智能开发、嵌入式开发、游戏开发、自动化运维、自动化测试等多种方向,不同方向的Python学习曲线是不同的。
 
那些年自己搜集的Python自学课程,需要的关注/Python小白集训营/可自行获取。
 
 
无论是像我一样跨行就业,还是希望在已有行业深耕,拓展自己的技能,或者提升问题的解决能力,都要以清晰准确的目标为中心,这样才能保证我们前进的每一步都走得踏实。
对于 Python的基础部分,曾经从小白过来的我,还是理解比较深的,朋友们可以双击屏幕码一下这个小白学习路径。
第一阶段:Python基础语法、数据类型、字符编码、文件操作、函数、装饰器、迭代器、内置方法、常用模块等。
第二阶段:面向对象开发、Socket网络编程、线    程、进程、队列、IO多路模型、Mysql数据库开发等。
第三阶段:Html、CSS、JavaScript开发、Jquery&bootstrap开发、前端框架VUE开发等。
第四阶段:WEB框架,Django框架基础、Django框架进阶、BBS+Blog实战项目开发、缓存和队列中间件、Flask框架学习、Tornado框架学习、Restful API等。
学好这些基础是非常有必要的,因为Python本来就是一个有条理的、强大的面向对象的程序设计语言,专业性极强。
这些基础内容可以通过网站或者书籍以自学的方式学习,难度很低。如果你本身具备其他编程语言的基础,那么学起来将会比初学者更加轻松。
敲黑板了朋友们,上面的建议都是建立在你下决心要转行的基础上,再问问自己这几个问题:
喜欢不喜欢转行后的工作? 
如何评估自己转行的优势与劣势? 
问问自己为什么不待在现在的行业了? 
自己是不是有很强的自我驱动力? 
自己是不是能保持终身学习? 
自己搜集信息和整合信息的能力是不是很强?
自己是不是不怕失败? 
转行失败了,我拿什么保底?
当你把这些令人焦虑和令人害怕的事情考虑清楚,再去做决定的时候,这些问题就不会成为你转行路上的精神障碍,目标清晰的你犹如战神一般,无所畏惧。
像Python基础的内容,我们可以通过网上的免费教程进行自学,比如以下途径:
 
  • 文档类教程 :廖雪峰 官方网站
https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000
  • 文档类教程 :Python 菜鸟教程
http://www.runoob.com/python/python-tutorial.html
  • 视频类教程:bilibili
https://search.bilibili.com/all?keyword=python&from_source=nav_search_new
  • 视频类教程:慕课网
https://www.imooc.com/

 


书的话,就看了《python核心编程》《利用python进行数据分析》《R语言实战》 ,还看了SQL的一些教程,以及一些数据分析师需要的思维。
最后面试的时候,掌握的技能有SQL、python和R。会一点简单的爬虫,懂点Linux。
每一个我都掌握的很浅,书我都只看了一半,像一些复杂的算法,我还不能很深入地理解,只能说我头铁吧。
这里的电子书我也整理好了,大家可以关注/Python小白集训营/回复/电子书/可自行获取。
 

在掌握Python基础部分之后,要根据自己的 Python的应用方向进行深造,如果只停留在前期基础的舒适区,你是很难成长的。
因为Python职业学习方向很多,职业方向大体上分为以下六个:Web全栈工程师、爬虫开发工程师、Python开发工程师、游戏开发工程师、搜索引擎工程师。
就像我入职的那会, 老大让我用python连个数据库,我连了一下午才搞定。还让我用python写个excel数据透视的自动化报表,憋了一天了,我的代码还没出来。现在来看,转行也只是进行了一半,终身学习真的很重要。
 
ps:过来人的温馨提示,对于小白和零基础的人来说,这几个标准库是学习Python用得上且必须了解的:
Django**、Flask**、Tornado**、NumPy**、Pandas**、Matplotlib**、Requests**、Scrapy**、threading**、scikit-learn**、TensorFlow**
光知道库还不行,你还得找一些项目练手实操,把理论知识融会贯通,一个只会空谈理论的Pythoner是不会有大公司抢着要的,这件事真的很重要,这里我推荐一些自己用过的练手小项目给你,拿来就能直接上手操作了。
web开发
实例一:满分推荐,非常值得练习GitHub - Yixiaohan/show-me-the-code: Python 练习册,每天一个小程序
实例二:一步一步的做web app,解释以及源码
实战 - 廖雪峰的官方网站
实例三:web机器人,源码下载
Python搭建的web接口聊天机器人
实例四:web网站开发实战,源码下载
GitHub - michaelliao/awesome-python-webapp: 小白的Python入门教程实战篇
实例五:在线问答系统,源码解读下载
仿StackOverflow开发在线问答系统
实例六: 博客系统,源码解读下载
Python之路【第十八篇】Django小项目简单BBS论坛部分内容知识点
实例七:论坛系统,视频课程观看练习
用Python Django快速做出高大上的BBS论坛网站(共13课时)
实例八:成绩管理系统,源码下载
一个使用django开发的综合成绩管理系统
 
爬虫
 
实例一:那啥,源码解读下载GitHub - xkaifei/Ano-Bbs-Browser-Python-Script: 用python命令行来浏览a岛的脚本,学习python练手作
实例二:抓取淘宝照片,源码解读下载
Python爬虫实战(4):抓取淘宝MM照片
实例三:抓取淘宝订单,源码解读下载
Python爬虫实战(5):模拟登录淘宝并获取所有订单
实例四:模拟登录一些主流网站,源码下载
GitHub - xchaoinfo/fuck-login: 模拟登录一些知名的网站,为了方便爬取需要登录的网站
实例五:多个实例源码,更多请访问主页
@华天清
Python爬虫实战(2):爬取京东商品列表Python爬虫实战(3):安居客房产经纪人信息采集
实例六:豆瓣爬取实例,源码下载
GitHub - dontcontactme/doubanspiders: 豆瓣电影、书籍、小组、相册、东西等爬虫集 writen in Python
 
后续还会更新练手项目,小白只要把这些项目一个一个搞明白,就能从本质上提升自己的编程能力和编程思维。
再提几点,像 数据挖掘分析、自动化测试、Linux自动化运维、测试这类方向,有了Python 基础,如果又有相关行业经验,基本上不需要考虑参加培训机构了,因为此类应用方向的学习曲线相对单一,整个知识与技能体系相对简单,技术复杂度和学习成本相对较低,同时网络上还有很多免费的教程,足以帮助我们进行后续的学习。
我们需要考虑的更多是如何将所学应用到实际工作当中,给工作效率和质量带来提升。
 
有的朋友想往 AI人工智能、前端应用开发等方向发展,自己本身并不是高学历人才出身,那就需要体系化的知识结构,学习曲线较为复杂。通过自学的方式是很难构建完整的知识、能力体系,效果也难以保障,容易事倍功半,偏离方向,建议找个靠谱点的人或机构,好好跟着学吧。
关于转行的事情,确实很难,可能会交不起房租,即便现在的生活得到了改善,但我还是忘不了当初那个苦逼的样子,我都不知道自己是怎么坚持下来的,头铁吧。
最后,假如你是为了调整工作方向(转行)而选择学习Python编程的话,是需要去考虑一些客观存在的因素,比如自己所处的城市当前相关行业的发展情况现状以及行业相关人才的用人需求、要求,不是很客观的情况下,外省的发展机会也要综合考虑。