zoukankan      html  css  js  c++  java
  • 菜鸟的Python学习之路(流水账)

    揭开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

    就说了是流水账,唔,你看,我没骗你吧。

  • 相关阅读:
    【JMeter_14】JMeter逻辑控制器__交替控制器<Interleave Controller>
    【JMeter_13】JMeter逻辑控制器__执行时间控制器<Runtime Controller>
    【JMeter_12】JMeter逻辑控制器__包括控制器<Include Controller>
    【JMeter_11】JMeter逻辑控制器__Switch控制器<Switch Controller>
    【JMeter_10】JMeter逻辑控制器__ForEach控制器<ForEach Controller>
    【JMeter_09】JMeter逻辑控制器__临界部分控制器<Critical Section Controller>
    【JMeter_08】JMeter逻辑控制器__While控制器<While Controller>
    【JMeter_07】JMeter逻辑控制器__循环控制器<Loop Controller>
    【JMeter_06】JMeter逻辑控制器__If控制器<If Controller>
    【JMeter_05】创建第一个简单的接口脚本
  • 原文地址:https://www.cnblogs.com/wswang/p/5866227.html
Copyright © 2011-2022 走看看