菜鸟的Python学习之路(流水账)
揭开Python的面纱
开始是因为别人说Python简单才开始学的,然后那段时间刚考完研,也没什么事,就多少瞅了瞅,然后发现语法的确简单很多,或者说简洁更合适。
当时看的是简明Python教程,没用多久就看完了,跟着走了一遍。然后写了一个下载知乎日报内容的小脚本,然后真正的体会到了Python库的强大。以前只接触过c和c++,也没有写过项目,没用多久就完成一个小东西,这让我感觉十分有成就感。
这个过程中查了很多资料,也看过视频的教程,然后搞清楚了写一个东西该有的逻辑。逻辑很重要,代码只是你实现的工具而已。比方说爬一个东西,我需要做的事情可以分以下三步(跟把大象装冰箱里一个过程):
- 获取网页内容
- 提取网页内容
- 保存
然后按照步骤去实现就好了,比方说使用urllib或者requests库去抓取内容,然后使用xpath或者BS去提取自己使用的内容,最后一步保存。这样思路就十分清晰明了了(后来做题基本也是这个思路,可见实际上做任何事情都差不多的过程)
框架初体验
后来为了找实习用了两天时间体验了一下Scrapy框架,这也是Python特别常用的一个方面--爬虫。然后写了一个每个初学者几乎都写过的小脚本--爬妹子图。这个和之前自己使用urllib和BS去写就有点不一样了,框架的好处就是给你实现了很多重复性的工作,你可以直接调用接口即可。
Python的框架太多了,写web的有flask、Django、bottle等,爬虫有pyspider,scrapy等。要是有兴趣的可以直接去网上看资料,也可以更直观的感受他们的风格。
接触真正的项目
去年年底的时候,有个小项目老师让我们跟着师兄去做(然后做黄了)。项目是写一个违法行为监控的东西,后端实现使用的是Prelude的框架实现的,编程语言恰好就是Python。这个期间其实项目写的东西并不多,但是对如何真正的做一个项目有了大概的了解,或者说对项目的整个流程有了大概的理解。
比方说使用Git来完成团队协作,也体验了结对编程,还对测试有了一定的了解,具体到Python最起码知道了virtualenv,也第一次听说了pep8,也接触了一下SQLAlchemy,还看到啦别人怎么写代码。说起来师兄给讲了很多东西,然而自己学到的还是有限。
工作中使用Python
后来自己学了大概不到1周的Django(顿时感叹Django太强大了,基本所有东西都有现成的,你要是想快速搭建一个项目十分推荐),然后期间找到了实习--Python后端。过程也很有意思,一家创业公司,面试的时候给我电脑现场出问题写代码,都是一些比较基础的东西,但是自己觉得答的并不是很好,不过神奇的是最后居然要了我……在这里感谢一下给我这个机会~
然后熟悉了一段时间就开始写了,第一个任务是对一些接口的改版,基本上是仿照第一版来改的,期间对pep8有了更为清晰的了解,也很喜欢这种编程风格。后来开了新的项目,然后就基本开始自己写业务逻辑了,开始写完会code review一下,然后慢慢的自己也就开始review了,也会考虑如何去优化代码结构,怎样写才会更Pythonic。
期间自己折腾了一个小的博客系统,基于Django和Bootstrap模板实现。发现自己还是很菜,很多东西都需要去现查,幸好工作中有网…
嗯,这个月月初的时候基本上完成了项目的功能逻辑,大概一半多的代码都是自己写的,对于基本所有的业务逻辑都比较清楚,这也是让我比较有成就感的地方。嘿嘿
后记
最近在找工作,个人还是倾向于找写Python的工作(关于工作又是一件很蛋疼的事情了),不过觉得语言只是工具,每个工具都有其特点与优势,掌握怎么运用并不难,毕竟每个人花一段时间都能掌握--唯手熟尔。所以一个人的核心竞争力不应该是这个,应该是其学习能力,你花一天学会了,别人花了一周,这就是你的优势。
PS
就说了是流水账,唔,你看,我没骗你吧。
菜鸟的Python学习之路(流水账)的更多相关文章
- java菜鸟的Python学习之路(1)
学习一门新的语言,应当抓住语言的共有特性,这样容易触类旁通,学习起来也十分的快捷愉悦 而语言的特性大约有以下元素 变量定义与类型 算术符号与逻辑符号 for 循环与 while 循环 数组,线性表等一 ...
- Python学习之路-Day2-Python基础2
Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...
- python学习之路-day2-pyth基础2
一. 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...
- Python学习之路-Day2-Python基础3
Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...
- Python学习之路-Day1-Python基础
学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...
- python学习之路网络编程篇(第四篇)
python学习之路网络编程篇(第四篇) 内容待补充
- Python学习之路【第一篇】-Python简介和基础入门
1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...
- python 学习之路开始了
python 学习之路开始了.....记录点点滴滴....
- python学习之路,2018.8.9
python学习之路,2018.8.9, 学习是一个长期坚持的过程,加油吧,少年!
随机推荐
- JVM-漫游
Write once, Run Any where. Java Virtual Machine – JVM 的存在让 Java 开发变得简单,并且一次编写多处运行.其实,JVM 就是一个抽象的计算机, ...
- Git的冲突解决过程
下面图是我总结一次提交遇到冲突解决的过程. 1. 把本地工作区的修改提交到本地仓库 2. 从远程仓库拉取代码,与本地仓库合并(pull = fetch + merge) 3. 本地仓库的代码推送回工作 ...
- shell变量详解
1 shell变量基础 shell变量是一种很"弱"的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如let.de ...
- openstack想说爱你不容易
网上一牛人的博客专门写的是关于openstack的,看晕了.先收藏下.猛击下面的地址 http://www.cnblogs.com/popsuper1982/
- mysql下存储文件问题
ibdata1 & mysql-bin 问题:磁盘空间报警,经查发现ibdata1和mysql-bin日志占用空间太多(其中ibdata1超过120G,mysql-bin超过80G) 原因:i ...
- Java报表工具FineReport导出EXCEL的四种API
在实际的应用中会经常需要将数据导出成excel,导出的方式除原样导出还有分页导出.分页分sheet导出和大数据量导出.对于excel 2003版,由于限制了每个sheet的最大行数和列数,大数据量导出 ...
- 摆脱jquery,用自己的JS库实现ajax功能
可以将下面的代码保存在一个文件里如:myAjax.js,以后在项目中如果觉得jquery那一套很重,就完全可以使用自己的ajax库,不用担心性能和兼容性! /** * 创建ajax请求对象 * @re ...
- vb上位机模拟电压监测系统
vb作为一种古老的语言,在工作中已经用不到了,但这门语言也是我在校期间研究比较多的一种,基本的通讯,数据库,界面等模块已经比较了解,马上要进单位实习了,研究的是电机的变频器,软件这块,希望在以后的工作 ...
- Smokeping -- 监控网络质量
1.下载fping.echoping.smokeping 链接:http://pan.baidu.com/s/1pL4HLYb 密码:fxe2 2.安装依赖包 yum install -y perl ...
- 修改eclipse的自动完成功能
修改eclipse的自动完成功能 周银辉 用eclipse时还是比较习惯Visual Studio那样的敲一个字母就弹出自动完成框,而不是总要等到敲.号,其实可以设置的: 在preferences ...