揭开Python的面纱

开始是因为别人说Python简单才开始学的,然后那段时间刚考完研,也没什么事,就多少瞅了瞅,然后发现语法的确简单很多,或者说简洁更合适。

当时看的是简明Python教程,没用多久就看完了,跟着走了一遍。然后写了一个下载知乎日报内容的小脚本,然后真正的体会到了Python库的强大。以前只接触过c和c++,也没有写过项目,没用多久就完成一个小东西,这让我感觉十分有成就感。

这个过程中查了很多资料,也看过视频的教程,然后搞清楚了写一个东西该有的逻辑。逻辑很重要,代码只是你实现的工具而已。比方说爬一个东西,我需要做的事情可以分以下三步(跟把大象装冰箱里一个过程):

  1. 获取网页内容
  2. 提取网页内容
  3. 保存

然后按照步骤去实现就好了,比方说使用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学习之路(流水账)的更多相关文章

  1. java菜鸟的Python学习之路(1)

    学习一门新的语言,应当抓住语言的共有特性,这样容易触类旁通,学习起来也十分的快捷愉悦 而语言的特性大约有以下元素 变量定义与类型 算术符号与逻辑符号 for 循环与 while 循环 数组,线性表等一 ...

  2. Python学习之路-Day2-Python基础2

    Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...

  3. python学习之路-day2-pyth基础2

    一.        模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...

  4. Python学习之路-Day2-Python基础3

    Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...

  5. Python学习之路-Day1-Python基础

    学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...

  6. python学习之路网络编程篇(第四篇)

    python学习之路网络编程篇(第四篇) 内容待补充

  7. Python学习之路【第一篇】-Python简介和基础入门

    1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...

  8. python 学习之路开始了

    python 学习之路开始了.....记录点点滴滴....

  9. python学习之路,2018.8.9

    python学习之路,2018.8.9, 学习是一个长期坚持的过程,加油吧,少年!

随机推荐

  1. #数据技术选型#即席查询Shib+Presto,集群任务调度HUE+Oozie

    郑昀 创建于2014/10/30 最后更新于2014/10/31   一)选型:Shib+Presto 应用场景:即席查询(Ad-hoc Query) 1.1.即席查询的目标 使用者是产品/运营/销售 ...

  2. x01.os.20: compile linux-0.11 on the ubuntu

    为什么学习 linux 正如不能依靠美国的 GPS 为我们的导弹指示目标一样,很难想像用运行 windows 的电脑去同美国进行信息战.而朝鲜的网络崩溃,再次警示国人,信息战.网络战离我们并不遥远.l ...

  3. CentOS RedHat YUM 源扩展补充(32位、64位均有)

    一般情况下强烈建议在CentOS6下面使用YUM配置安装LAMP环境,一些兄弟也很喜欢使用编译的安装方法,个人觉得如果不是对服务器做定制,用yum安装稳定简单,何必去download&make ...

  4. 浅谈Linux中的信号处理机制(三)

    一晃眼,已经到9月底了,都来不及去感慨时间匆匆.最近常常会想明年的今天我将会在那里干着什么样的工作?对未来又是憧憬又是担忧,压力山大.无论如何现在还是踏踏实实的学习吧,能这样安安静静学习的日子也不多了 ...

  5. 【Windows编程】系列第九篇:剪贴板使用

    上一篇我们学习了常见的通用对话框,本篇来了解剪贴板的使用,它常用于复制粘贴功能. 剪贴板是Windows最早就加入的功能,由于该功能非常实用,我们几乎每天都会使用到.通过剪贴板,我们就可以将数据从一个 ...

  6. 【小白的CFD之旅】12 敲门实例【续2】

    接上文[小白的CFD之旅]敲门实例[续] 主要内容 3 Solution3.1 Solution Methods3.2 Solution Controls3.3 Monitors3.4 Report ...

  7. WPF RichTextbox

    WPFTextBoxAutoComplete AvalonEdit WPF SyntaxHighlightBox   WinForm 下的 Fast Colored TextBox for Synta ...

  8. OpenCV 之 支持向量机 (一)

    机器学习是由 模型 + 策略 + 算法 构成的,构建一种机器学习方法 (例如,支持向量机),就是具体去确定这三个要素. 1  支持向量机 支持向量机,简称 SVM (Support Vector Ma ...

  9. 苹果iOS强制HTTPS迫在眉睫,距离2017年只剩1天,准备好了么?

    其实不久前苹果就发了通告,要求ios上的应用全部以HTTPS来进行接口调用以及数据访问,这样做是为了数据安全,一方面为了自己,另一方面也是对应用的要求更加严格,这么做很好,也加强了市场app的规范,虽 ...

  10. POJ1717 Dominoes[背包DP]

    Dominoes Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6731   Accepted: 2234 Descript ...