有打算学python的新手么

作者&投稿:代毅 (若有异议请与网页底部的电邮联系)
运维新手们,别再问需不需要学PYTHON了~

  经常有人在群里问,运维人员需不需要学开发?需不需要学 PYTHON ? PYTHON 和 SHELL 有什么区别?天天问这种好水的问题,我实在受不了,决定帮大家扫扫盲,求求新手们,以后别他妈瞎问了。

  现阶段,掌握一门开发语言已经成为高级运维工程师的必备计能,不会开发,你就不能充分理解你们系统的业务流程,你就不能帮助调试、优化开发人开发的程序, 开发人员有的时候很少关注性能的问题,这些问题就得运维人员来做,一个业务上线了,导致 CPU 使用过高,内存占用过大,如果你不会开发,你可能只能查到进程级别,也就是哪个进程占用这么多,然后呢?然后就交给开发人员处理了,这样咋体现你的价值?

  另外,大一点的公司,服务器都上几百,上千,甚至数万台,这种情况下怎样做自动化运维?用 SHELL 写脚本 FOR 循环?呵呵,歇了吧, SHELL 也就适合简单的系统管理工作。到复杂的自动化任务还得要用专门的开发语言。你可能说了,自动化管理有专门的开源软件\监控也有,直接拿来用下就好了,但是现有的开源软件如 puppet\saltstack\zabbix
agio 多为通用的软件,不可能完全适用你公司的所有需求,当你需要做定制、做二次开发的时候,你咋办?找开发部门?开发部门不懂运维的实际业务逻辑,写出来的东西烂烂不能用,这活最后还得交给运维开发人员来做。

  其次,不会运维开发,你就不能自己写运维平台\复杂的运维工具,一切要借助于找一些开源软件拼拼凑凑,如果是这样,那就请不要抱怨你的工资低,你的工作不受重视了。

  为什么要学 PYTHON ?

  PYTHON 第一是个非常牛 B 的脚本语言, 能满足绝大部分自动化运维的需求,又能做后端 C/S 架构,又能用 WEB 框架快速开发出高大上的 WEB 界面,只有当你自已有能力做出一套运维自动化系统的时候,你的价值才体现出来,你才有资格跟老板谈重视, 否则,还是老老实实回去装机器吧。

  运维开发为什么要用 PYTHON ?

  Good question, 为什么不用 PHP , JAVA , C++ , RUBY ,这里我只能说,见人见智, 如果你碰巧已经掌握了除 PYTHON 之外的其它语言,那你爱用啥用啥,如果你是一个连 SHELL 都还没写明白的新手,想学个语言的话,请用 PYTHON , 为什么呢?首先, PHP 是跟 PYTHON 比的最多的,其实他俩根本就不用比,为什么呢?两个语言适用性不同, PHP 主要适用于 WEB 开发,可以迅速的做出中小型,轻量级的 WEB 网站,但后端嘛,基本还是要借助其它语言, 借助什么语言呢? SHELL ? PYTHON ?呵呵。 而 PYTHON 呢, 是个综合语言, 前后端都可以,单拿出来比 WEB ,也一点不比 PHP 差,但为什么WEB方向上 PHP 比 PYTHON 要火? 先入为主嘛, PHP 90 年代诞生就是做 WEB 的, PYTHON2000 年后才出现 WEB 框架,但论优秀程度上, PYTHON 的 WEB 框架基本上出其无左,至少是跟 PHP 比。

  那 JAVA 呢?好吧,一个臃肿\中庸\豪无新意的语言,还是老老实实用它来做 ERP 吧,搞个运维小平台,用 JAVA 真心没啥必要,在我看来, JAVA 就是稳定的中年男人,稳定\成熟\秃顶,而 PYTOHN 代表的就是青春, 简洁\快\干净\帅!

  C++ \ C ,这个嘛,我只能说,如果你会了 PYTHON, 又会 C 的话,那你会更吃香,但是不会 C 的话,其实也无大碍,基本上做运维的人,搞搞 C 就是为了来装 B 的,因为多数情况下你都到不了看系统底层源码的程度。

  RUBY ,小日本开发的,还不错,风格跟 PYTHON 有点像,因为 ruby onrails 出了名,国外用的比较多,国内,放心吧,没戏, PYTHON 已经把它的想象空间都占死了。

  当然还有新的语言 GO , 有些搞运维的看见做开发的人员搞 GO ,也想凑热闹,觉得是未来,我想说,别瞎没事跟风, GO 再成功,也不会变成运维开发语言。

  有些人觉得 PYTHON 效率底,说他不能支持多线程, OH ,好吧,这个还有点说对了,但是我想问,看我这篇文章的有几个做过搜索引擎开发?有几个做个上亿 PV 的并发网站开发? 有几个看过 LINUX 内核源码?如果没有,请别瞎跟着传了,知道 PYTHON 为什么不支持多线程吗?这句话问错了,其实 PYTHON 支持多线程,只是不支持多 CPU 多线程,也就是一个程序 spawn 出来的多线程只能占用一个 CPU ,但是为什么呢?噢,因为 GIL , GIL 是什么东东,请自行补脑。。。但是你非得用多线程吗?你可以用多进程呀,再牛 B 你还可以用协程呀,这些 PYTOHN 支持的都很好呀,如果你的程序逻辑不好,搞个多线程也快不起来。我认识一个博士讲过一句话,我觉得不错,他说,程序效率高低, 80% 都是写程序的人决定了,语言本身就占 20% ,所以下次有人再说 PYTHON 效率低的时候,请让他先回去自己检查下自己的程序多了多少无用的逻辑、循环等等。 这个博士自己用 PYTHON 写的 WEB 程序,一台服务器每天能处理上亿请求,一秒并发近两万, 什么 WEB 框架这么牛 B ? 别问它是谁, 它叫 tornado 。

  PYTHON 能否自学?

  当然可以,什么都可以自学,前提是你得能学得会,见过 N 多菜鸟踏上上自学的不归路,他妈的什么都能自学的话,还用大学干什么?自己在家鳖不就行了?动不动就说 PYTHON 是个脚本语言,自己看看就不会了,说这话的只可能有两种人,一种是高手,一种是 SB ,对于高手来讲,他肯定已经会其它语言, PYTHON 在这种情况下,自学当然就很容易学会,几年前我刚接触 PYTHON 时,代码遇到问题,找了个开发的哥们帮调试,哥们帮调了十几分钟就搞定了,结果人家以前一句 PYTHON 代码也没写过,为什么,因为语言都有相通之处,一门掌握好了,其它门自己学学就会了。但对于新手来讲,没任何语言基础就开始自学,那么恭喜你,菜鸟们见此文章为证,从今天开始自学,一年后,你要是能自己做出个软件来,来找我要一千块钱。 哈哈,真的。 基本上自学是属于专业人员干的事情,就像会一门乐器了,自己学下就可能学会另一门,但我之前没音乐基础,跟着老师都没把吉它学会。

  所以奉劝没基础又想学 PYTHON 的同学,花点钱去报个班学吧,拿钱换时间,时间是生命,钱没了可再挣钱,时间过去了就再也不会回来,如果你不信邪,非要自己学,那我佩服你的勇气,不过自己试试就知道了。

  说了这么多,只想告诉那些迷茫不知所措该学什么语言的新手们, 在你还没学好走路的时候,不要老想着,将来我当上老板了,我是开宝马呢?还是开奔驰呢?先学会骑自行车吧。。。
转载

如果你有一定的计算机编程知识基础,那么很容易学;再如果你对编程十分感兴趣,那么很容易学的。
1,找到合适的入门书籍,大致读一次,循环啊判断啊,常用类啊,搞懂(太难的跳过)
2,做些简单习题,字符串比较,读取日期之类 Python Cookbook不错(太难太无趣的,再次跳过,保持兴趣是最重要的,不会的以后可以再学)
3,加入Python讨论群,态度友好笑眯眯(很重要,这样高手才会耐心纠正你错误常识)。很多小问题,纠结许久,对方一句话点播思路,真的节约你很多时间。耐心指教我的好人,超级超级多谢。
4,解决自己电脑问题。比如下载美剧,零散下载了2,4,5,8集,而美剧共12集,怎样找出漏下的那几集?然后问题分解,1读取全部下载文件名,2提取集的数字,3数字排序和(1--12)对比,找出漏下的。
对于python初学者来说,能找到一个好老师学习格外重要,这能决定你是不是可以做出好的项目,在python开发的路上越走越轻松,如果现在的你缺乏学习经验,找不到老师指导你学习,看一下下面的代码

5,时刻记住目的,不是为了当程序员,是为了解决问题。比如,想偷懒抓网页内容,用urllib不行,用request也不行,才发现抓取内容涉及那么多方面(cookie,header,SSL,url,javascript等等),当然可以听人家劝,回去好好读书,从头读。 或者,不求效率,只求解决,用ie打开网页再另存为行不行?ie已经渲染过全部结果了。 问题变成:1--打开指定的10个网页(一行代码就行)。更复杂的想保存呢?利用已经存在的包,比如PAM30(我的是Python3),直接打开ie,用函数outHTML另存为文本,再用搜索函数(str搜索也行,re正则也行)找到数据。简单吧?而且代码超级短。
6,保持兴趣,用最简单的方式解决问题,什么底层驱动,各种交换,留给大牛去写吧。我们利用已经有的包完成。
7,耐心读文档,并且练习快速读文档。拿到新包,找到自己所需要的函数,是需要快速读一次的。这个不难,读函数名,大概能猜到是干嘛的,然后看看返回值,能判断是不是自己需要的。
8,写帮助文件和学习笔记,并发布共享。教别人的时候,其实你已经自己再次思考一次了。 我觉得学程序就像学英文,把高频率的词(循环,判断,常用包,常用函数)搞懂,就能拼装成自己想要的软件。 一定要保持兴趣,太复杂的跳过,就像小学数学,小学英语,都是由简入深。 网络很平面,无数国际大牛著作好书,关于Python,算法,电脑,网络,或者程序员思路,或者商业思维(浪潮之巅是本好书)等等,还有国际名校的网络公开课(中英文字幕翻译完毕,观看不是难事),讲计算机,网络,安全,或者安卓系统,什么都有,只要能持续保持兴趣,一点点学习下去,不是难事。 所有天才程序员,都曾是儿童,回到儿童思维来理解和学习。觉得什么有趣,先学,不懂的,先放着,遇到问题再来学,效果更好。 唯一建议是,不要太贪心,耐心学好一门优雅的语言,再学其它。虽然Javascript做特效很炫,或提某问题时,有大牛建议,用Ruby来写更好之类,不要改方向。就像老笑话:“要学习递归,必须首先理解递归。”然后死循环一直下去。坚持学好一门语言,再研究其他。 即使一门语言,跟网络,数据库等等相关的部分,若都能学好,再学其他语言,是很快的事情。 另外就是,用学英文的耐心来学计算机,英文遇到不懂的词,抄下,查询。 python里,看到Http,查查定义,看到outHtml,查查定义,跟初学英语时候一样,不要直接猜意思,因为精确描述性定义,跟含糊自然语有区别的。而新人瞎猜,很容易错误理解,wiki,google很有用。

Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的JavaScript语言等等。

那Python是一种什么语言?

首先,我们普及一下编程语言的基础知识。用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个MP3,编写一个文档等等,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令。而不同的编程语言,干同一个活,编写的代码量,差距也很大。

比如,完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。

所以Python是一种相当高级的语言。

你也许会问,代码少还不好?代码少的代价是运行速度慢,C程序运行1秒钟,Java程序可能需要2秒,而Python程序可能就需要10秒。

那是不是越低级的程序越难学,越高级的程序越简单?表面上来说,是的,但是,在非常高的抽象计算中,高级的Python程序设计也是非常难学的,所以,高级程序语言不等于简单。

但是,对于初学者和完成普通任务,Python语言是非常简单易用的。连Google都在大规模使用Python,你就不用担心学了会没用。

用Python可以做什么?可以做日常任务,比如自动备份你的MP3;可以做网站,很多著名的网站包括YouTube就是Python写的;可以做网络游戏的后台,很多在线游戏的后台都是Python开发的。总之就是能干很多很多事啦。

Python当然也有不能干的事情,比如写操作系统,这个只能用C语言写;写手机应用,只能用Objective-C(针对iPhone)和Java(针对Android);写3D游戏,最好用C或C++。

如果你是小白用户,满足以下条件:

会使用电脑,但从来没写过程序;

还记得初中数学学的方程式和一点点代数知识;

想从编程小白变成专业的软件架构师;

每天能抽出半个小时学习。你一定就能学好,百分之80优秀的开发工程师都看了下面的代码并去做了!如果你想成为优秀的人一定要看!

learning = input('Do you want to learn Python now(Yes or No):')
a = str(learning)
if a == 'Yes':
    print('QQ1129834903')
else:
    print('Thanks!!')


零基础学习Python必须明确的几点:

1.明确你将来是做什么工作的,需要掌握哪些技能,很多人连这个就不知道就盲目的学,你首先清楚,现在公司需要什么人才,你应该奔着什么目标努力。Python的学习方向有很多,主要还是web。

2.系统的学习规划,规划好你每天学习的新知识和每天做的作业和练习,很多人想自学Python,两个就看完了,这样的能找到工作算是出奇了,现在学习Python想找到工作,没有4-6个月的根本不行,所以规划是一定要有的,我建议半年时间。

3.注意学习方法,很多人在学习Python的时候,开始学那一刻起就选择了错误的学习方法,所以最后注定会放弃,回到原来的岗位继续做着自己不喜欢的事情,学习Python需要一定的技巧,在开始学之前多跟别人问问,不要自己盲目的自学,浪费时间。

开始学注意几点:

1.代码规范,这本身就是一个非常好的习惯,如果开始不养好好的代码规划,以后会很痛苦

2.多动手,少看书,很多人学Python就一味的看书,这不是学数学物理,你看例题可能就会了,学习Python主要是学习编程思想。

3.勤练习,学完新的知识点,一定要记得如何去应用,不然学完就会忘,学我们这行主要都是实际操作。

4.学习要有效率,如果自己都觉得效率非常低,那就停不停,找一下原因,去问问过来人这是为什么



Python的用途十分广泛,不同的程序员将其用于不用的领域,不同的程序员将自己的代码打包成库,供其他程序员使用,从而少造轮子,各种库的使用,加之Python本身的灵活性、易读性,易写性,使用的人越来越多,tiobe统计编程语言的使用率如下:Python在一年之间使用排行榜中上升了3名,而且各大公司在招聘员工的时候如果能掌握Python,肯定是一个加分项,因为Python在文本处理,小程序的写作方面具有太强的优势,前段时间一个朋友让帮忙改下他们公司logo的颜色,第一个想到的就是用Python,女票让我帮她预处理大数据,第一个想到的仍然是Python等等,当然并没有说其他语言不好,也不是为了讨论哪种语言更好,只是Python确实是一门会让人幸福的语言。
第一个阶段:初级,掌握Python的语法和一些常用库的使用
《Python参考手册》,这本书也十分的有用,关于Python的方方面面基本都囊括在内,可以作为一本Python字典来查询使用方法,十分好用。
掌握一门语言最好的方法就是用它,所以我觉得边学语法边刷Leetcode是掌握Python最快的方式之一。
很多只需要将Python作为脚本或者就是写一些小程序处理处理文本的话,到这一个阶段就足够了,这个阶段已经可以帮我们完成很多很多的事情了。但是如果是一个专业学习Python的,恐怕还需要努力的升级:首先,国内的大多数人都是学习了其他语言(C,C++,Java等)之后来学习Python的,所以Python和这些语言的不同,也就是pythonic的东西需要一些时间去学习了解和掌握;另外,对于自己领域的领域的库构架的掌握也需要很长的时间去掌握;最后,如果想独立完成一个Python的项目,项目的布局,发布,开源等都是需要考虑的问题。
第二个阶段:中级,掌握自己特定领域的库,掌握pythonic写法,非常熟悉Python的特性
推荐的第一本书是《编写高质量代码--改善python程序的91个建议》,这本书大概的提了下Python工程的文件布局,更多的总结了如何写出pythonic的代码,另外,也介绍了一些常用的库。
要想深入的了解Python,有的时候看看Python的源码也是很重要的,自己通过读懂源码,来彻底的了解Python的核心机制,这里推荐《Python源码剖析——深度探索动态语言核心技术》,这本书并没有看完,只是在需要深入了解Python某个功能或者数据结构的时候看看相关章节,也觉得受益匪浅。
自己领域的书籍和资料也肯定很多,比如web开发的构架都有很多,只有了解熟悉了所有构架,在选择的时候才能衡量利弊,然后深入掌握某些构架。
这个阶段过后,可以写出pythonic代码,可以通过PEP8的检查,可以为开源社区做贡献了,可以将一个Python文件写的十分好,但是如果要用Python开发一个大型项目,还是有很多东西需要掌握的,比如项目的文档,项目的发布,下载,项目性能和案例等等。
第三个阶段:高级,从整个工程项目着眼,考虑document,distribution,性能优化等
目前只看了一本书《the hacker guide to python》,看的是英文版的,这本书对项目的布局,文档,性能,发布等做了很多详细的介绍,我觉得写的还是很不错,只不过本人还需要再读几遍。
对于大多数人来说,很难有机会从头开始一个有意义的大型工程项目,所以自己可以用Python实现一些简单的功能,简单的项目,这个灵感可以去知乎或者quora搜索,很多前辈都分享了自己的经验。
从大局入手,规划好项目的布局,设定好相应的文档说明,提供工程下载安装的方法,带几个demo,每个类,每个函数,每行代码都反复推敲,写出pythonic的程序,相信这时候Python于我们便是信手拈来了!

python2.x与3.x差异不太大,目前主要针对python3.x的书籍应该很少吧,我推荐的书单:《Python Cookbook(第3版)》Copyright — python3-cookbook 1.0.0 文档还可以看看主要针对2.x的:《Python核心编程》《Python学习手册》 还有就是多看看官方文档

本人学习大数据时间不久,2年左右吧,只能从个人经验给你一点建议,希望你少走一点弯路。
首先,你说到你刚接触大数据,你要明白大数据范围超级广,你具体想要学习哪个方向呢?数据挖掘?还是机器学习深度学习?亦或nlp(自然语言处理)?(我主要学数据挖掘,呜啦啦啦)
我给所有问我大数据该怎么入门的人都会有如下建议:学好数学!学好数学!学好数学!重要的事说三遍,不然你怎么理解各种模型的构建?所以从理解算法开始,什么svn啦,knn啦,k means啦,总之各种聚类分类的算法,把它搞懂,绝对有用。
扯远了,不好意思…言归正传,回到语言的选择问题。java和python这两个语言,我给你从这几个方面解释一下:
1. python是脚本语言,无需编译,java则是需要编译的语言
2. 我在letitcode(大概是这么拼)上测试过好多次,同一个功能的程序竟然是java性能好很多
3. 平时我们做项目,都是用python写个demo去测试,真正发行的版本,是用java写的
4. 许多大数据平台(如spark),都提供多种语言的接口,所以你不用担心学一种语言没处用的问题
看到了吧?python和java的地位差别在企业中就是一个低一个高,氮素!以我个人的观点来看,我还是建议你先学python。
为啥腻?我可不是要坑你,而是因为:
1. 很多java中几行的代码,python中一行就搞定,学会了python,还怕学不会java?
2. python上手快,简洁事儿少
3. (个人经验)我学数据挖掘入门是用的scikit-learn(一个python库),当时用的超爽的好吧!几分钟搞个模型出来。当然现在看来那不算什么啦,可当时真的体验很好,特有成就感。相反拿java写程序我就各种别扭,总觉得啰嗦得很
4. 其实,我觉得scala更适合大数据…linkedin后台好像就是它写的,但是我觉得scala难,再加上种种原因,一直没来得及学
以上就是我的看法。
最后给你推荐个小工具:jupyter notebook,一个在线交互式编译器,不但支持python在线编译,还支持matplotlib及各种绘图库哦!在你前期做数据清洗和特征提取的时候很有用
这个qq群里会分享好多资料882011325

python适合小白学吗?
答:一、编程新手 对于非常热爱编程的人员,经过深思熟虑之后,下定决心以后想要从事开发相关工作,但是目前是小白,不知道入门什么编程语言的朋友,python语言是一个不错的选择。Python编程简单直接,更适合初学编程者,让初学者专注于编程逻辑,而不是困惑于晦涩的语法细节上。二、在校学生 对于现在大学生来说,...

有打算学python的新手么
答:那是不是越低级的程序越难学,越高级的程序越简单?表面上来说,是的,但是,在非常高的抽象计算中,高级的Python程序设计也是非常难学的,所以,高级程序语言不等于简单。但是,对于初学者和完成普通任务,Python语言是非常简单易用的。连Google都在大规模使用Python,你就不用担心学了会没用。用Python...

有Python新手嘛,大家觉得Python学习难不难呀?
答:Python不难,算是简单的。难的是在后面,当你要用Python解决问题时才是难点。举个例子,我写了一段脚本,用来下载我们公司各个电商渠道的订单,然后根据订单的详情调整各个产品的库存。上司发现这个脚本很好用,让我给全公司都使用。我不可能在每个同事的电脑上都安装Python,就只得要么开发exe要么开发一个...

Python是否适合新手入门学习?
答:看个人,Python非常适合新手学习编程。Python语言代码简洁、易读懂、易学习,语法简单并且容易理解,而且Python拥有大量的第三方库和代码资源,这些库和代码可以让新手更容易上手和快速完成项目和任务,从而更快地建立对编程的信心和兴趣。此外,Python应用非常广泛,可以用于数据分析、人工智能、网络爬虫、游戏...

python适合新手入门学习吗?
答:不建议学python的原因语言性能差、对多处理器支持不好、语法混乱、市场混乱、就业前景一般、学习进程慢等。1、语言性能差 Python的缺点主要是执行速度还不够快。当然,这并不是一个很严重的问题,一般情况下,不会拿Python语言与C/C++这样的语言进行直接比较。在Python语言的执行速度上,一方面,网络或...

零基础可以学Python吗
答:如果基础比较薄弱,或者干脆没有任何计算机基础,学习Python的基本语法也不会有太大的困难,但是学习时间会有一定的延长,你只有熟练掌握基本语法之后才能完成一些简单的实验。对于零基础小白推荐报班学习Python,培训机构会为学员提供系统的学习方案、经验丰富的讲师、大量企业级项目实训以及贴心的就业服务。所以...

python适合新手学习吗?
答:1、语言性能差 对于C++老手来说,速度上也根本不具有可比性。一个专业的程序员,写个C++能用1秒解决问题,用Python可能就需要十几秒。2、语法混乱 就举一个例子,python2与python3这两个语言版本之间竟然互不支持,这是我在学习其他编程语言当中从来没见过的。3、市场混乱 现在国内所谓的Python培训高薪...

新手如何自学Python?
答:Python是一种简单易学的编程语言,适合新手入门。以下是一些自学Python的建议:1.学习基础知识:首先,你需要了解Python的基本语法和数据类型。可以通过阅读教程、观看视频课程或参加在线课程来学习这些知识。2.练习编程:理论知识只是第一步,你需要通过编写代码来巩固所学的知识。可以从简单的程序开始,逐渐...

Py零基础学习的建议学生来看
答:在学习Python时,每个人的基础水平不一样,如果你完全是新手,就需要从入门课程或初学者读物开始钻研不要想着一开始就去挑战高难度课程,我也是零基础学习Pvthon的,因为知道学会并不是件非常容易事情所以想先泼点冷水:学习Python不是一蹴而就的事情现在的你要有一个正确的认知,学完Python,并不能立马拿...

零基础想学Python难吗?
答:Python这门语言本身就很友好。它的语法简洁明了,适合新手入门。你不需要纠结于复杂的底层逻辑,可以很快地写出自己的第一个小程序。而且,Python社区非常活跃,网上有大量的教程、案例和问答,遇到问题总能找到答案。我还记得,我刚开始学的时候,就是从打印“Hello, World!”开始的。然后慢慢学会了变量...