非科班python入门

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Elsie678/article/details/53173927
原岗位做信息化系统运维,刚开始干的活儿都特杂没啥突出的,时间一长就明显发现自己尤其在数据治理方面好像是要比别人做的快且准~
大致的工作流程就是用plsql写一些查询脚本,把你想要的数据规则转换成sql语句,从oracle数据库里把问题数据导出到excel里,或者把xml文件内容粘到excel里,然后再利用excel里各种公式、函数提取自己需要的数据,排版,分析,统计,归类,最后再写报告列出问题种类、贴数据贴柱状图、提供解决方案,发给专责评估定稿后开展治理工作。
干活时不可避免总会遇到一些问题,影响效率但又没法即时解决,会在之后不忙的时候思考琢磨、上网搜索一些解决方法持续改进,这样积累的sql函数越来越多,写的查询脚本也越来越精简实用,人工干预程度自然降低,excel公式会的也越来越多,处理数据更加得心应手,效率自然就提高了。
可是当有一天,需要分析处理的数据量太大,大到保存一下excel卡特么半分钟我可真是一点辙没有,而且别的项目组每次提供的xml文件我都要花好长时间先提取有用的删掉没用的也是很瞎。这个时候我就开始思考有没有更高级的分析方法+工具,从网上搜啊搜就了解到python……我不是计算机专业但我大学是考过C二级了,对工科生来讲,语法跟逻辑总该没问题吧?于是就抱着这样弱弱的自信,开始了python学习。但其实学了python对我现在的数据治理工作也不会有太大帮助,我就是恰好兴趣来了就开始了。

1、安装python。按网上的教程下载安装了python2.7还有学习手册,用python自带IDE先学习练习基础的赋值、表达式、打印、if测试、for/while循环语法。后来科班朋友推荐安装Anaconda2,可以看做Python的一个集成安装,安装它后就默认安装了python、IPython、Spyder和众多的包和模块,非常方便。
2、选择编辑器。后来还专门下载了notepad++用来编辑代码,用了一天发现不方便,不能直接执行代码需要保存后import,决定弃了装pycharm,配置一下就可以修改代码直接执行了,用了几天后发现卡的不行、慢,科班朋友推荐sublime,目前还没来得及换,不知道用起来怎么样,回头用完再评价吧。
3、直接实战吧,等不及慢慢学基础想先看看爬虫怎么工作。参考的崔庆才大神的python爬虫学习系列教程,还有廖雪峰的python教程。过程中学习安装了一些必要的库、工具。我用到的安装方式主要有3种:
下载安装程序直接运行安装:MySQLdb;
下载包python setup.py install:beautifulsoup;
直接conda/pip install xxx:Selenium、pyspider、html5lib、pyOpenSSL(.whl文件)、scrapy;
phantomjs是下载压缩包解压后将可执行文件放在python/script文件夹中并设置环境变量。
相比pip install 个人比较推荐conda install,会检查你在安装该库时需要安装别的其他哪些库且一并安装。
pyspider和scrapy都是爬虫框架,pyspider上手简单,scrapy自定义程度高,科班朋友推荐scrapy。
PhantomJS 用来渲染解析JS;Selenium 用来驱动以及与 Python 的对接;Python+Selenium+PhantomJS爬取动态网页。
beautifulsoup+html5lib,妈妈再也不用担心我记不住正则表达式了。
navicat+mysql数据库客户端及服务,建表查表。MySQLdb是Python连接MySQL的模块。
4、浏览器。建议同时保留chrome和firefox,因为有的时候出问题你来回的查代码就是查不出到底哪不对,那就可能是浏览器的问题,你可以换下试试,个人觉得还是firefox好用点。
5、设置环境变量设置环境变量设置环境变量,重要的事说三遍。
6、蓦然回首,我发现我目前只会套用别人代码,代码原理倒是能看懂,但理解的还是不够透彻。别人要是只写一半代码放上来,我是没办法补充完善的。这个时候就得回头深化学习编程基础了,对我这个没啥基础的人来说难点就是OOP、类、实例、方法、继承等,需要多花时间理解、练习、消化。

总结:想学习python想知道他长什么样,首先要准备的最基本工具推荐:Anaconda2+scrapy+beautifulsoup,这也是科班朋友推荐的。

展开阅读全文

一个非科班出生的程序员之路(三)

06-09

很感谢版主能把我的文章放在最上面。使更多的朋友能看到我的文章。同时使我能结交更多的程序员朋友。rn 对计算机有了一定的了解后。当时进入程序员之路可说是一个偶然的机会。当时只觉得做程序员很神秘。想想黑客的高手们,是如何突破别人的网站,一个功能强大的软件是使我们的工作如此轻松。因些一直都很向往,但总觉得无从下手,而且不能肯定自己是不是有这个能力去做。当时学校给了我们开了一门 c语言程序设计 的课。当时一上这门课我就深深的被程序给引了。所以这门课还没有上,我就把整本书看完了,而且做了大量的习题。自己写了很多的小程序。当时完完全全不是为了成绩而学习,而是一种很冲动的兴趣,一种爱上一个东西,而舍不多放手,全心全意去学习。当然这时我的程序设计在班里算得上是一个高手,很多同学都问我问题。其实现在想起来,不是我聪明,真的,只是我在这门语言上花比别人多的时间,学的东西比别人多,自然会的东西就比别人多了!到后来,我继续学习了数据结构,c语言高级编程。这些都是基础的程序设计基础。rn 现在想起来,这段时间一直还是我在探索程序员之路,花费的时间真的很多。但是说真的,这些语言的学习是必须的。可能很多刚入门的朋友不愿意花太多时间在这些基础的课目上,认为应该以实用为主,如vb,c++,dephi等这些现在流行的语言,为学习语言,为入门语言。总是在问那种语言有前途。但我觉得,最有前途的是c,经过了这么多年,还是没有被放弃,一直作为一种经典的编程语言,这足见他的强大。另外,可能你最终不会用c语言来开发产品。但学习c语言,是在学习一种编程思想,一种编程的风格,或许你有没有发现,现在的很多语言都是c的变种。我可以肯定,如果你把c学到一定的程序,学习其它应用性的语言就会很方便,就会很快上手。我所说的一定程度,是指能把这本c高级编程语言看懂,如果你只看c程序设计,你最多只会编些小程序,根本就不能明白一些应用程序的编写。但是如果你想用c程序开发,那这些学习远远的不够用。(我觉得要想学好c语言,这是一辈子学习的事,他的强大足够你用一辈子去学习,而且你能成为这方面的高手,那真的恭喜你。这是多么多么有钱途的工作啊!)rn 最后的,就是必须去学习数据结构,这方面的学习,可能很无聊,看不出实用的价值。但是,这是作为一个程序员必看的书目。数据结构都是从大量的实例中,抽象出来的精华。对了以后任何一种编程都有指导的作用。但同时rn学习好数据结构,一开发你只要去了解一下,因为对于一个刚编程的程序员来说,不会很快体现他的价值。但到编程机会与经验多了,你就会慢慢地体现他的价值来,你就会主动去学习这东西了。而且必须经历大量的实践才会领会到其中的强大.rn 以上都是我编程入门的经历,可能现在写起来不多。但是当时真的花了很多很多的时间。与大多数刚入门的朋友一样,根本就不知道自己所学的,所走的路是否正确。当时看的书籍远远不就是这几本。但现在总结出来,感觉我的程序员之路的,就这几本书。真的,对于一个刚入门的朋友,最主要是能静下心来,把这些基础的知识学习懂,不要想一开始学习就成为一个高手,想立刻做出实用的程序软件来。这是不现实,同时对你后的发展不利。的确我见很多朋友一开始就学习vb,根据书上的例子也能做出些很有趣的程序来。但对于这样的学习,只能学到一门程序的皮毛。没有了书,或者再学习一种新的语言,就会感觉很吃力。现在语言变化快得很,不断学习新的语言是很有可能的,除非你是一些语言的高手,不用担心去学习新的语言,不然你就必须面对不断学习的准备。而且要深入学习一门语言,没很好的基础,根本就不可能。rn 所以我个人认为,对这些基础的学习,如果你不是最终用这些语言来开发产品,那么花至少半年时间去学习是很值得的。对于一个入门的朋友,一个想在程序方面有所发展的朋友最主要是能把心态放好。不要总是怀疑这些基础学习有没有用。不要受外界环境的影响,今天说这种语言有前途,明天又说这种语言有前途之类的话。以平常的心态去学习这些基础知识。如果你真的好好去学习这些,我相信,这些时间的知识,在你后的学习中会成倍地提高你的速度。rn 在这也祝各位朋友能成功! 论坛

一个非科班出生的程序员之路(二)

06-03

一个非科班出生的程序员之路(一)请点击这http://www.csdn.net/Expert/TopicView1.asp?id=772064rnrn 多谢各位朋友的支持,小第不胜感谢!使我有动力继续写下去rn 就这样,我正在走进了大学,走向程序员的之路。如果当初是为了得到某些好处(如别人的羡慕,钱途等等)而走向程序员这条路,那么能一直坚持到现在,能直到现在还在写程序,全都是兴趣所致。所以,当我听到,看到一些朋友说做程序员有没有钱途时,我真是很伤心,也很可笑。很多人都只看到程序员的钱途,就是为了所谓的钱途而走向程序员之路。的确,如果你的水平能达到一定的水平,真的可能会很有钱途。但是,谁又能说,那一个行业没有钱途,那一个行业就没有发展。从来就没有。可能很多人会说,但it行业的机会钱途比别它的行业机会多。真的是这样吗?或许是吧!但是只是他们都只看见所谓的媒体在吹捧,把出了名的人神化,就这样,整个社会都会觉得,只要能进入it行业,那么就会成为媒介上说的名人,会成为下一个比尔。会变为一个神秘的黑客,一名英雄。但难道你不知道,在it行业的基层,是多小程序员只拿1500以下工资,而且每天工作12个小时以上的吗?rn 或许,我们走进程序员的时候,都不会想像自己会成为这样,只会向着我们的想法去做,去幻想。对于我自己也是一样,为了兴趣,为了别人眼中的钱途,我开始了艰辛的努力。我从来都不认为我自己比别人聪明,但我从来都会相信我可以比别人努力。这是我认为做一个程序员必须的一个基本条件。(必须能承担工作或学习12小时/天,或者更多).rn 好了,说了这么多关于自己对程序员的一些看法,应该回正题了。我觉得像我一个非科班出生的,却又想做程序员的人,最难的就是,不知如何入门,不知学些什么,不知如何系统地学习。作为我,一开始也是这样,只是一种热情,一种兴趣,随随便便看计算机的书,又不会分配时间。当初接触电脑,也不是一开始就走向程序员,当时其实都不知自己想做什么,也不知自己能做什么,只是看看硬件的书,文章。对硬件的配置,价格都非常关心,也非常了解。也学会了DIY.这些东西,对于很多人来说,真的是小儿科,不值一提。但是,这却是我的电脑起步,也对我以后的程序员生活起了很大的作用。由于这样硬件的了解,便我对计算机有了一定了解,对计算机不会产生恐惧,这点对于一个刚接解电脑的人来说是很重要的,只要你对其不恐惧,不怕出错,这样进步的可能性才大。才会敢从错误中学到学习的快乐。就这样从高中直至我开始学习第一门编程语言为止,这样的探索,纯粹的玩电脑,足足有3至4年时间。我现在回想起来是多么的痛心,对于一个程序员来说,3-4年的时间是多么多么的宝贵,特别是这个黄金的学习,编程时期,更显得珍贵。如果当时我能有人指点一下我,能找到一个很好的程序员朋友,我想我的人生会比现在更加成功的,最起码也会比现在有更丰富的程序经验。所以,我真的希望看到我这些文章的程序员朋友,或都想做程序员的朋友,一定要珍惜你们的青春,不要以为自己还年轻,认为有的是时间去玩。对于想做程序员的人,这段时间才是最重要的,最宝贵的。所以我建议,对一对电脑还不是太懂的朋友。一开始可以先不要急于看编程,先看看硬件的书,了解一下计算机的结构。这样好从所谓的整体了解计算机,必须使自己一开始就不会对计算机产生恐惧。敢于出错。同样,刚开始也可以玩玩游戏,因为听说很多电脑高手都是从玩游戏开始的呢?但不能迷恋,会控制自己。这种接触的时期必须越短越好,最好不超过半年。但你必须清楚自己是不是真的把这些硬件看懂了,我所说的懂,不是对其内部原理必须清楚,只是对各个硬件的功能,在计算机中的作用有所了解。以至电脑出了些什么问题时,可以自己进行解决。rn 今天就写这些吧!还会继续的,希望各位说说你们的看法与感受! 论坛

没有更多推荐了,返回首页