Python简介和基础入门

Python是什么?

python 是一门的面向对象的解释型编程语言,Python语法简洁清晰优雅,特色之一是强制用空白符(white space)作为语句缩进。

python 是一门非常简单易学好用,同时功能强大的编程语言,具有丰富和强大的库,开发效率特别高。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。 

python能用来做啥?

 一般编程语言能做的 python 都能做,python能用来开发各种小工具,能方便日常的工作。能写网络爬虫,很方便的写爬虫爬取网络上的资源(爬虫:小型的搜索引擎)等等。 
1.开发Web :常用的Web框架有 Django、 flask

2.数学处理:NumPy扩展提供大量与许多标准数学库的接口。

3.数据挖掘、深度学习、人工智能 等项目都得用 python 开发。

4.文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。

4.数据库编程:程序员可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft SQL 
Server,Oracle,Sybase,DB2,MySQL、SQLite等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。

5.网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet 及BitTorrent. Google都在广泛地使用它。

6.游戏开发:有pygame等模块用来快速开发游戏。

Python语言的特点?
  • Python语言是通用语言,通过Python语言可以解决任何问题
  • Python语言是脚本语言,通过解释器来执行,需要源代码,维护方便
  • Python语言是开源语言
  • Python语言是跨平台语言,可以在各大操作系统上运行,不需要修改代码
  • Python语言是多模型语言,支持面向过程和面向对象
  Python的优点?

1.“优雅”、“明确”、“简单”

      这是python的定位,使得python程序看上去简单易懂,初学者容易入门,学习成本更低。但随着学习的不但深入,python一样可以满足胜任复杂场景的开发需求。引用一个说法,Python的哲学是就是简单优雅,尽量写容易看明白的代码,尽量写少的代码。

2.  开发效率高

     python作为一种高级语言,具有丰富的第三方库,官方库中也有相应的功能模块支持,覆盖了网络、文件、GUI、数据库、文本等大量内容。因此开发者无需事必躬亲,遇到主流的功能需求时可以直接调用,在基础库的基础上施展拳脚,可以节省你很多功力和时间成本,大大降低开发周期。

3.  无需关注底层细节

     Python作为一种高级开发语言,在编程时无需关注底层细节(如内存管理等)。

4.  功能强大

     Python是一种前端后端通吃的综合性语言,功能强大,php能胜任的角色它都能做,至于后端如何胜任,需要在后续学习中逐步领悟。

5.  可移植性

     Python可以在多种主流的平台上运行,开发程序时只要绕开对系统平台的依赖性,则可以在无需修改的前提下运行在多种系统平台上,具体有待后续学习中深入展开。其他优点有待继续发掘。

Python的缺点?

1. 代码运行速度慢

    因为Python是一种高级开发语言,不像c语言一样可以深入底层硬件最大程度上挖掘榨取硬件的性能,因此它的运行速度要远远慢于c语言。另外一个原因是,Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。

    但需要注意的是,这种慢对于不需要追求硬件高性能的应用场合来讲根本不是问题,因为它们比较的数量级根本不是用户能直观感受到的!想想程序执行所需的时间数量级?例如开发一个下载MP3的网络应用程序,C程序的运行时间需要0.001秒,而Python程序的运行时间需要0.1秒,慢了100倍,但由于网络更慢,需要等待1秒,用户体验几乎没有差别,除非你用非常精确的计时器来计时。

2.  发布程序时必须公开源代码

     什么?有没有搞错?是的,发布程序时我们必须公开源代码!还是因为Python是一种解释性语言,没有编译打包的过程(据说最新的python可以打包,但本质上还是把源代码和解释器打在一起,没有太大实际意义)。想想我们的shell脚本是不是也是这个情况,你能在不发布源代码的情况下发布一个黑盒子程序来让别人正常使用么?

     这个缺点仅限于你想单纯靠卖开发出来的软件产品挣钱的时候。但在这个开发互联的时代,不靠卖产品本身来赚钱的商业模式越来越主流了,所以问题也不是没法解决。

Python的适用领域?

1. 云计算开发

    云计算领域最火的语言,典型代表openstack。

2. web开发

    众多优秀的web框架,众多优秀的大型web站点(Youtube,instagrm,豆瓣等)均基于python开发。

3. 系统运维

    各种自动化工具的开发,CMDB、监控告警系统、堡垒机、配置管理&批量分发工具等均可以搞定。这是自己需要重点学习的领域。

4. 科学计算、人工智能

    据网上了解用于围棋大战的谷歌阿发狗就使用了python开发(但估计只是部分而已)。

5. 图形GUI处理

    暂时没多少体会,后续领悟吧。

6. 网络爬虫

    不知道给网络爬虫单独归类是否合适,姑且这样吧。这年头网络爬虫无处不在,很多都是基于python开发,包括谷歌的爬虫。估计这是爬虫工程师的必备工具吧。

Python用在哪些地方

       谷歌:Google app engine、google earth、爬虫、广告等

      Youtube: 世界最大的在线视频网站基于python开发,好强大

      Instagram:美国最大的图片分享网站,全部基于python开发

      facebook:大量的基础库基于python开发

      Redhat:yum包管理工具基于python开发

      国内知名互联网公司的应用:豆瓣、知乎的网站,还有很多主流的互联网公司(阿里、腾讯、百度、金山、搜狐、盛大、网易、新浪、网易、果壳、土豆等)通过python来完成各种任务。   

猜你喜欢

转载自blog.csdn.net/qq_38191191/article/details/81183972