python是什么?python能做什么?
人生苦短,我用python。
python是什么?
python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
python语言有以下特点:
- 易于学习。python有相对较少的关键字,结构简单,还有极其简单的语法,所以特别容易上手。
- 简洁,高效。这意味着执行同一个任务,python的几行代码就可以完成其他编程语言十几行才能完成的事情。我们用python和c++做一个对比,如下:
python:
1 #!/usr/bin/python 2 a = 0 3 while(a <= 10): 4 a = a + 1 5 print 'the number is '+a 6 print 'while is end'
c++:
1 #include <iostream> 2 int main() 3 { 4 int a = 0; 5 while( a <= 10) 6 { 7 a = a + 1; 8 cout<<"the number is "<<a<<endl; 9 } 10 cout<<"while is end"<<endl; 11 }
- 丰富的标准库和第三方库。python的最大的优势之一是跨平台的丰富的库,在unix,windows和macintosh兼容都很好。
- 面向对象。python是面向对象的编程语言,python支持面向对象的风格或代码封装在对象的编程技术。python有很多第三方库,如numby,pandas都可直接调用。
- 跨平台,可移植性。基于其开放源代码的特性,python已经被移植到许多平台,可以在很多系统下运行,例如windows、linux、freebsd、macintosh…等等。
- 功能强大。python从网络爬虫、数据分析与计算、数据可视化到web开发、人工智能、自动化测试运维等都可以做。
python可以做什么?
一、web开发
提起python,大多数人的第一反应是网络爬虫,使用python可以快速爬取网站信息。但作为一门编程语言,web开发才是最基本的功能。django和flask是最流行的两种python web框架,当然其他的还有bottle、pylons等等。你可以使用这些web框架来编写你的服务器端代码。由于python是一种解释型的脚本语言,开发效率比较高,运行速度也很快,所以非常适合用来做web开发,比如豆瓣网,知乎,youtube,google等知名网站都使用了python。从事该领域应从数据、组件、安全等多领域进行学习,从底层了解其工作原理并可驾驭任何业内主流的web框架。
二、网络爬虫
在爬虫领域,python几乎是霸主地位。虽然其他语言也可以做网络爬虫,但由于python语言的特性,数据爬取比其它语言代码更简洁,效率更高。你可以使用python将网络一切数据作为资源,通过自动化程序进行有针对性的数据采集。从事该领域应学习爬虫策略、高性能异步io、分布式爬虫等,并针对scrapy框架源码进行深入剖析,从而理解其原理并实现自定义爬虫框架。
三、数据分析和数据可视化
当爬虫爬取到足够多的数据后,数据分析就成为必不可少的工作。在大量数据的基础上,结合科学计算、机器学习等技术,对数据进行清洗、去重、规格化和针对性的分析是大数据行业的基石,而python正是数据分析的主流语言之一。同时,利用python中的matplotlib和seaborn这两个绘图和统计库(还有很多其他的绘图库),可以让我们很轻松的将数据可视化。
四、机器学习与人工智能
无论是在传统机器学习还是深度学习领域python都占有不可替代的地位。许多诸如scikit-learn、tensorflow等机器学习和深度学习库使得python极具优势。而机器学习,深度学习正是人工智能的基石。
除以上主流领域之外,python在网络编程、云计算开发、自动化运维、游戏开发等领域都有不俗的表现。
更多内容可访问我的个人博客:/
推荐阅读
-
python是什么?python能做什么?
-
python复制列表时[:]和[::]之间有什么区别
-
为什么在美国的cs编程入门课大多有java和python。而在国内首先学习的语言是c/c++?
-
readline() python是什么? readline() python定义及用法解析
-
什么是匿名函数?Python匿名函数有什么用?
-
Python有GIL为什么还需要线程同步?
-
在python里面,为什么len()就是把对象写在括号里,而lower()就是把对象写在前面,而不是括号里?
-
python用什么软件
-
做数据分析里有哪些Python能做,而MATLAB不能做的?
-
Python 相比 Java的优势是什么?缺点又是什么?