Python 可以干什么?
在我看来,基本上可以不负责任地认为,Python 可以做任何事情。无论是从入门级选手到专业级选手都在做的爬虫,还是Web 程序开发、桌面程序开发还是科学计算、图像处理,Python都可以胜任。
或许是因为这种万能属性,周围好更多的小伙伴都开始学习Python。 Python 现在到底有多热呢?我觉得我们可以看以下的这2组数据。
第一:Python 排名稳居前四
得益于 Python 在多个领域的应用都在逐渐变热,Python 在TIOBE榜上已经是稳居前4了。
第二:越来越多的公司在用 Python 做网站
除了大家熟悉的知乎、豆瓣,已经有越来越多的公司开始用 Python 来快速搭建网站产品。相应的,也有越来越多的公司开设了Python Web的职位。
根据我们的统计,目前在招的Python web 职位,所需技能按优先级中,Python基础和Django的优先级是最高的。具体的排序,大致可以参考以下的这张图表:
Python学习:如此牛逼的Python可以干嘛,又该怎么学习?
那么,开发为什么会用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就是稳定的中年男人,稳定、成熟、秃顶,而Python代表的就是青春,简洁、快、干净、帅!
C++/C,这个嘛,我只能说,如果你会了Python,又会C的话,那你会更吃香,但是不会C的话,其实也无大碍, 但对新手来讲,不建议把C做为第一门语言开始学习,为什么呢?打击自信心…呵呵,你懂的
Ruby,日本开发的,还不错,风格跟Python有点像,因为Ruby onrails出了名,国外用的比较多,国内,放心吧!没戏,Python已经把它的想象空间都占死了。
一个博士讲过一句话,他说:程序效率高低,80%都是写程序的人决定了,语言本身就占20%,所以下次有人再说Python效率低的时候,请让他先回去自己检查下自己的程序多了多少无用的逻辑、循环等等。这个博士自己用Python写的WEB程序,一台服务器每天能处理上亿请求,一秒并发近两万,什么WEB框架这么牛B? 别问它是谁,它叫tornado。
看到Python如今这么火热,工资待遇如此的好,你是否心动了,是不是也有想学Python的冲动,
如此牛逼的Python可以干嘛,又该怎么学习?
那小白又该如何学习Python呢?
ython好学吗?
这门语言入门容易,精通难,另外难不难也要根据个人情况,千万别被网上一些文章忽悠,说作者几天就精通python了,让你心血澎湃,感觉自己几天也能精通,但一旦开始学发现不是那回事,让自信心受到了打击,于是心灰意冷,书本丢到一边再也不看了;
我觉得这些文章其实挺害人的,因为他们往往没有介绍自己的背景,这些人往往是站在自己经精通了某种语言基础上来看python的,因为编程语言很大一部分是想通的,所以他们只要了解了语法,就可以上手了,如果小白从头开始是不可能几天就精通某个语言的。
正式学习,个人认为可以分为两步:
一、学会python语言编程基础;
二、学习python网络爬虫。
学会python语言编程基础
1.建立python环境。python版本的选择,个人强烈推荐pyhton3。因为python2会在2020年停止支持,以及官方在python3上的推动和python社区支持这两个方面来看,未来的python圈,应该持续接纳python3。另外官网提供的python3,需要自己设置path环境变量,还有许多科学计算库,都需要自己手动安装,对于题主零基础,推荐使用python的发行版本anaconda。
2.学习python的基本数据类型和运算符。掌握数值、字符串、列表、字典、元组的使用方法以及运算符的使用,自己可以使用多多python练习。
3.学会使用流程语句和函数:要重点掌握if判断语句、for与while循环语句的使用、函数的定义。学到这里就可以利用python编写小程序解决一些应用题了。
4.接下来可以学习常用模块的使用。比如常见的os、time、os.path模块等。如果遇到使用上的问题,可以查看python帮助文件。比如说你想要查看字符串str的spilt属性,可以在命令行中输入help(str.spilt),个人认为最好的方法还是去找度娘啦。
学习Python网络爬虫
有了前面的python语言基础,现在就可以学习python网络爬虫了。python网络爬虫主要分为两种方式:一、手写网络爬虫,二、利用scrapy框架
初级阶段
1、学习Urllib库与URL异常处理。要掌握Urllib库的用法,如果遇到反爬虫要学会浏览器的模拟,网络长时间未响应时进行超时设置,掌握HTTP请求协议(主要是get请求和post请求)是爬虫写法,另外爬虫如果遇到异常,应该怎么进行异常处理。
2、学会正则表达式与cookie的使用。自己可以将常见的正则表达式整理下来,比如说用正则表达式匹配电子邮件地址。
进阶阶段
3、学会使用爬虫的浏览器的伪装技术。通过设置Headers信息的User-Agent字段来进行反爬虫,通过代理服务器使用IP池进行反爬虫,利用一些工具软件也可以进行反爬虫。
高阶
4、了解多线程爬虫。这个反正我是不会啦,对于题主只想爬取点数据资料什么的,前面两阶段就已经足够了,20%的技能往往能够解决80%问题。
如果是使用scrapy框架来编写python爬虫的话,要懂得items、pipelines、settings这些文件怎么设置,另外学会使用XPath表达式的用法以及怎么使用Python操作数据库。