python简介

python的创始人是Guido van Rossum。
1989年的圣诞节期间,吉多-范罗苏姆为了打发时间,
决心写一个新的脚本解释程序,作为ABC语言的一种继承。
第一个发行版在1991年

python应用于很多的领域,如:数据分析、组件集成、网络服务、
图像处理、数值计算和科学计算等众多领域。
目前业内几乎所有的大中型企业都在使用python,
如Youtube、Dropbox、Quora(中国知乎)、豆瓣、知乎、Google、
Facebook、NASA、百度、腾讯、汽车之家、美团等。

目前主要应用领域:
云计算:云计算最火的语言,典型应用是openstack
web开发:典型的web框架是Django,Twised(典型的异步网络框架)
  Python网络编程框架Twised,Twisted是以高性能为目标的异步(event-driven)网络编程框架。
科学运算、人工智能:典型库NumPy,SciPy
系统运维:运维人员必备语言
图像GUI:PYQT、WxPython Tkinter

python在一些公司的应用:
谷歌:
CIA:美国中情局网站是用python开发的。
NASA:美国航天局大量使用python进行数据分析和运算
YouTube:世界上最大的视频网站是用python开发的。
Dropbox:美国最大的在线云存储网站,全部用python实现,每天网站处理10亿个文件的上传和下载
Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部使用python开发。
Facebook:大量的基础库都是通过python实现的。
Redhat:世界上最流行的linux发行版中yum包管理工具就是用python开发的。
豆瓣:公司几乎所有的业务都是通过python开发的。
知乎:国内最大的问答社区,通过python开发的(国外的Quora)【知乎是完全copy国外的Quora,都用python开发】

编程语言主要从以下几个角度进行分类:
编译型和解释型、静态语言和动态语言、强类型定义语言和弱类型定义语言。
编译型语言就是一次性把所有的源代码都翻译成机器语言,然后写成可执行文件。
解释型语言就是用一行解释一行,解释型程序离不开解释程序。

编译型语言由于执行速度快,同等条件下对系统要求较低。
 典型的编译语言有:C/C++ VB PascalObject   PascalDelphi
 
动态类型语言:是在运行期间才去做数据类型检查的语言。
 python和Ruby都是典型的动态类型语言。
静态类型语言:她的数据类型是在编译期间检查的,也就是说在写程序时要声明所有变量的类型。

强类型定义语言:指的是一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个类型了
若类型定义语言:可以忽略变量的数据类型,一个变量可以赋予不同的数据类型的值。

python是一门动态解释型强类型定义语言。

python的优缺点:
优点:
1.python的定位是“优雅、明确、简单”,程序看上去简单易懂
2.开发效率非常高,有非常强大的第三方库,可以在基础库的基础上进行开发,降低开发周期。
3.高级语言,用python写程序时,无需考虑如何管理你的程序使用的内存一类的底层细节。
4.可移植性:开源的本质,python程序无需修改就几乎可以在市场上的所有平台上运行。
5.可扩展性:如果某段代码不公开,可以用c/c++编写,然后用python来调用。
5.可嵌入性:可以把python嵌入到c/c++程序

缺点:
1.速度慢。运行速度比c语言慢很多,比JAVA也要慢一些。
2.代码不能加密。
3.多线程不能利用多CPU问题。

python的解释器:
CPython:应用最广,这个解释器是用c语言开发的。
IPython:基于CPython的一个交互解释器。
PyPy:可以对python代码进行动态编译,可以显著提高python代码的执行速度。

python的发展:
1989年才开始开发,1991年第一个编译器诞生,用c语言实现,并能够调研c语言的库文件。
go语言是1999年诞生,docker就是用go语言开发的。
Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。
php是1994年诞生的。
python2.0在2000年加入了内存回收机制,构成了现在python语言框架的基础
python2.4,2004年:同一年Django诞生
python2.6  2008年:过渡版本,兼容2.4与3.0的特性。
python2.7  2010年:也是过渡版本,兼容2.4与3.0的特性。
python的所有的最新的完整的库更更新在python3.x上。

python3.x默认使用unicode编码,默认支持中文。
上一篇:centos7在忘记密码的情况下修改密码


下一篇:centos7内核参数优化配置详解