最近Python在我身边又火了一把,办公室5个人就有4个人买课件进行学习。
早先常常看到新闻,国外4-5岁的小孩开发APP,给MM开发游戏之类的。可以看到,国外对小孩编程的教育还是比较早的,通常也会使用python来编程,因为它简洁易用。亚马逊上早早的就有了Python for kids和Python Bytes: An ABC Introduction to Programming for Toddlers系列面向小孩编程的丛书。Andrew Ng**9月14在Quora上对问题(I have a toddler. How should she prepare herself for the job market 15 years from now in the world of AI? Should I teach her Python as soon as she is willing to learn?)回答到”Yes, do teach her to code. More importantly, cultivate in her the ability to **keep learning.”,后面说”I think almost everyone should learn to code in the same way that almost everyone should learn to read/write.” 不过在这个回答里面,并没看到ANdrew Ng说的自己小孩一旦会说话就要学编程。不过会加减运算应该就可以编程了。
2018年,也是Python排名又上一个新台阶的一年。IEEE Spectrum近日发布了2018年计算机语言排行。他们收集了9个来源共11个指标,对47种语言进行加权后,算出每个语言的分数并排名。Python今年与2017年一样都是第一名,第二名与第三名分数皆往下掉,而且名次有所不同,C语言从2017年的第二名掉到了第三名,而2017年的第三名Java则在2018年成了第四名,C++位居第二名。
这些排名,跟它强大的功能是分不开的。小到数据格式转换,大到人工智能,都有Python的一席之地。几大公司, Google, NASA, Facebook, Yahoo, Youtube, Quora, Dropbox, BitTorrent等等都在大量使用。著名的包有:
1科学计算 Numpy, SciPy (也是安装python包的拦路虎直到有了conda
2类比于R的数据框操作包 Pandas
3可视化工具 Seaborn (配合pandas), matplotlib (类比MATLAB), plotly (交互式绘图), ggplot (类比ggplot2)
4网站开发web.py, Django, Flask
5任务调度和流程管理 Airflow (pipeline首选)
6机器学习 scikit-learn (经典), PyML, Tensorflow (谷歌释放), pylearn2, Orange (图形界面的机器学习包)
7网页抓取 Beautiful Soup,requests,
8可重复编程 Jupyter
9正则表达式 re
第一步就是读一本书,反复多读几遍,后面提到的简明Python教程就适合多读几遍,看的懂的记住,看不懂的多看几遍,还看不懂的就忽略。然后就可以了。生信方面可以参考生信宝典出品的Python简明教程,经过了培训的检测。
第二步就是做题,12个生信练习题,三个维度的训练,作出来就会了。
如何快速学习编程
一个人事业上能获得更大的发展,一部分是由于他的专业技术,另外一大部分需要依赖他的软性技能。
培训的意义在于帮你跨越从概念到行动这一步。基本的Python编程语法是了解乐高积木的每个元件,拼出什么形状是对生信问题的分析,衔接这两段的是如何去实践。初学者,最困难的是转化想法为代码。