(一)python的前世今生
一:Python介绍
python的创始人为吉多·范罗苏姆(Guido van Rossum)(目前还活着),诞生于1989年,是一个脚本解释程序,由于python语言结构优美,清晰简单,随着人工智能的兴起,越来越被广泛使用。
Python目前应用领域有:
1、云计算
2、web开发(Python开发的网站例如,Youtube, Dropbox, 豆瓣........... 典型WEB框架有Django)
3、人工智能,科学运算大数据分析(如机器人领域、美团配送路线的数据分析........)
4、自动化运维(可以写自动化工具,运维攻城狮必备良药!)
5、金融领域数据分析(国内python最早使用的就是做金融数据分析,原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测)
6、图形GUI(python支持图形界面的第三方库,例如wxWidgets、QT、GTK)
Pythony应用的一些公司:
1、谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发
2、YouTube视频网站
3、Dropbox,美国的云存储网站
4、Redhat: Linux发行版中的yum管理工具就是用python开发的
5、豆瓣
6、还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝 、土豆、新浪等一些游戏和应用
当然啦!还有很多可以参考https://www.zhihu.com/question/19555512 https://www.python.org/about/success/
二:Python语言的特点
编程语言主要分:
编译型和解释型、静态语言和动态语言、强类型定义和弱类型定义。
那么问题来了?编译型和解释型的区别
编译型:编译时把每一条语句都编译成机器语言也就是二进制文件,计算机在运行的时候直接执行编译后的二进制文件,所以运算很快
例如:C、C++、go、Object-C、Pascal
解释型:在python中,我们写好代码后,解释器会执行两个动作
例如:Python、Ruby、PHP、
1、把原始代码编译成字节码
2、把编译好的字节码转发到Python虚拟机(PVM)中进行执行
一张图秒懂
混合型的语言有JAVA、C#
动态语言VS静态语言
1、动态语言只有在运行的时候下去检查数据类型,不需要单独声明数据类型。例如a=1直接把整数1赋值给变量a
2、静态语言在编译过程中就要检查数据类型,在写代码的时候就要声明属性类型。例如 int a 声明变量a为整型
强类型定义VS弱类型定义
1、强类型指一个数据类型如果你不经过特殊转换,那么他不可能去改变,例如a=1,他就是一个整型
2、弱类型与之相反,一个变量可以赋予不同类型的数据
Python是一种解释型动态的强类型语言
Python的优缺点
优点:
1、语言明确、简单、清晰,入门快
2、第三方库强大,开发效率高,不需要掌握特别多的底层细节
3、可移植性,几乎适用于所有的平台上运行
4、扩展性、嵌入性,可以在别的语言中植入Python代码
缺点:
1、相比编译型语言,在运行速度上慢一些
2、代码不能加密,由于是解释型的,都是以源文件加文件名存在的
3、线程不能利用CPU问题
三:Python解释器
CPython
当我们从Python官方网站下载并安装好Python 2.7后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python
就是启动CPython解释器。
CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。
IPython
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
CPython用>>>
作为提示符,而IPython用In [
序号
]:
作为提示符。
PyPy
PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。
Jython
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
IronPython
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
END ---------------------------------------------------------------------------------------------------
(一)python的前世今生的更多相关文章
- Python开发 第一篇 python的前世今生
Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...
- 随聊——Python的前世今生
1989年圣诞节前夕,山雨欲来风满楼,计算机程序设计语言界隐隐有大事要发生,果然不出所料.江湖人称龟叔(Guido von Rossum),就是这位祖籍荷兰的大能,在圣诞节百无聊赖的期间,发明了Pyt ...
- Python的前世今生
放弃 拾起 放弃 拾起 最终决定好好的编写一次Python的学习笔记 人生苦短,我用Python --------------Life is short, you need Python 再不抓紧,就 ...
- python学习笔记-(一)初识python
1.python的前世今生 想要充分的了解一个人,无外乎首先充分了解他的过去和现在:咱们学习语言也是一样的套路 1.1 python的历史 Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈp ...
- Python开篇
一:Python的前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为 ...
- Python fullstack系列【1】:初识Python
Python简介 Python的前世今生: Python诞生于1989年的圣诞节期间,其作者是吉多·范罗苏姆(Guido van Rossum).当时Guido(江湖人称龟叔)在阿姆斯特丹度假时着手开 ...
- python基础1 ---python简介
python基础 一.python前言 1.什么是编程语言 编程语言是程序员与计算机之间沟通的介质. 2.编程语言的分类 机器语言:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集 ...
- Python入门第一课——Python的起源、发展与前景!
我们在做任何一件事情之前,我们都会通过各种渠道去搜集事情的信息,了解事情的来龙去脉,学习一门编程语言也是如此,只有知根知底,我们才能有明确的方向和目标,以及底气去完成这件事情,今天我带大家来看看Pyt ...
- Python开发【第二篇】:初始Python
Python的前世今生 Python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,中国人称他为龟叔,他在圣诞节期间在阿姆斯特丹为了打发时间,决定开发一个新的脚本 ...
随机推荐
- 【php】php分隔字符串为数组
工作中会经常分隔字符串为数组,我们可以用php内置函数str_split(),可是有时候字符串中包含中文,切割后会乱码,比如 print_r(str_split('dw氛围fesf',3)); 输出 ...
- Testlink解决大用例导入问题
最近公司同事需要将别的testlink的用例迁移过来,由于现在新的服务器也在使用,不能使用数据库导入的办法,只能用xml文件进行导入,不过在导入的时候出现了个没遇到的问题,报错文件太大,无法上传. 解 ...
- nodejs的某些api~(二)crypto加密模块
就随便写写crypto模块,加密在node里面挺重要的,特别是密码,用户名都用crypto加密,在我写的那个作品里面,用户名密码的存储都是用crypto加密的,也没有深究里面的内容,想深究的同学可以看 ...
- poj3190 Stall Reservations
我一开始想用线段树,但是发现还要记录每头cow所在的棚...... 无奈之下选择正解:贪心. 用priority_queue来维护所有牛棚中结束时间最早的那个牛棚,即可得出答案. 注意代码实现的细节. ...
- 洛谷P1880 石子合并
经典水题....... 断环为链长度乘二,求前缀和区间DP. #include <cstdio> #include <cstring> #include <algorit ...
- java面试——多线程
背景:java知识比较宽泛,最好对每一类知识点进行分类总结,方便后面学习查看.该文主要用来总结多线程方面的知识点. 并发与并行的概念 并发性(concurrency)和并行性(parallel)是两个 ...
- jquery的checked以及disabled
下面只提到checked,其实disabled在jquery里的用法和checked是一模一样的 下边两种写法没有任何区别 只是少了些代码而已... ------------------------- ...
- mysql 存储过程中文乱码的解决方法
CREATE PROCEDURE `PROC_FOOBAR`(id INTEGER) BEGIN DECLARE code, user_id VARCHAR(32) CHARACTER SET utf ...
- opencv: 基本知识(二);
1.Mat与IplImage之间的相互转换: //IplImage—>Mat //EXAMPLE: //浅拷贝: IplImage* pBinary=cvLoadImage("c:// ...
- CentOS 7 的安装
CentOS 7的安装 --------------------------- 安装前的准备: 1.去官网或是去网上下载好CentOS 7的镜像文件 下载主页: https://www.centos. ...