1.什么是python?

Python是一种计算机程序设计语言,是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本;
随着版本的不断更新和语言新功能的添加,越来越多的被用于独立的、大型项目的开发。

2.python的优点

1.简单

Python是一种代表简单主义思想的语言。阅读一个良好的Python脚本就感觉是在读英语一样,他能使你专注于解决问题而不是去搞懂语言本身。

2.易学

Python极其容易上手,因其有极其简单的说明文档。

3.速度快

Python的底层是用C语言写的,很多标准库和第三方库也都是用C语言写的,运行速度非常快。

4.免费、开源

Python是FLOSS(自由/开放源码软件)之一;
使用者可以自由地发布这个软件的拷贝、阅读他的源代码,对他做改动,把他的一部分用于新的自由软件中;
FLOSS是基于一个团体分享知识的概念。

5.高层语言

用Python语言编写程序时无需考虑诸如怎样管理你的程序使用的内存一类的底层细节。

6.可移植性

由于它的开源本质,Python已经被移植在许多平台上(经过改动后,它能工作在不同平台上),这些平台包括:
Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、Pocket PC、Symbian以及Google基于Linux开发的android平台。

7.解释性

一个编译性语言,如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1),这个过程通过编译器和不同的标记、选项完成。运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。
Python语言写的程序不需要编译成二进制代码,可直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成字节码的中间形式,然后再把它翻译成计算机使用的极其语言并运行,知识的使用Python更加简单,也使得Python程序更加易于移植。

8.面向对象

Python既支持面向过程的编程也支持面向对象的编程
在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。
在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。

9.可扩展性

如果需要一段关键代码运行的更快或希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。

10.可嵌入性

可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。

11.丰富的库

Python标准库很是庞大。
它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、TK和其他与系统有关的操作。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。

12.规范的代码

Python采用强制缩进的方式使得代码具有较好的可读性。而Python语言写的程序不需要编译成二进制代码。

3.Python的缺点

1.单行语句和命令行输出问题

大多时候不能将程序连写成一行,如import sys,for i in sys,path:print i等
而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件中。

2.运行速度慢

这里指与C和C++相比。
但是相对于带宽速度于用户来说,差异可以忽略不记。

4.编译型语言和解释型语言

编译型语言是相对与解释型语言存在的,编译型语言首先将源代码整体编译生成机器语言,再由机器运行机器码(二进制);C与C++等都是编译型语言

1.编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了,程序执行效率高i,依赖编译器,跨平台性差,如C、C++、Deiphi等。
2.解释型语言编写的程序不进行预先编译,以文本方式存储程序代码,在发布程序时,看起来省了一道编译工序,但是在运行程序时,解释型语言必须先解释再运行。一般来说,现在i的解释型语言都是采用逐行解释一句,执行一句这样的方式来构建的。解释型语言每执行一次就要翻译一次,效率较低。
3.编译型语言和解释型语言的区别:
解释型语言在运行程序时才翻译,比如解释型basic程序,每个语句都是执行的时候才翻译,这样解释型语言每执行一次就要翻译一次,效率比较低。
编译型语言由于执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序,数据库系统时都采用它。像C/C++、Pascal/Object Pascal(Delphi)等都是编译型语言,而一些网页脚本、服务器脚本及辅助开发接口这样对速度要求不高,对不同系统平台的兼容性有一定要求的程序则通常使用解释型语言,如Java、JavaScript、Perl、Python、Ruby、MATLAB等等。
4.编译型语言不如解释型语言跨平台性好

5.Python的应用领域

大数据
数据分析
人工智能
自动化测试
自动化运维