Python由来:
-
荷兰人Guido van Rossum在1989年,创立了Python语言,1991年初发布第一个公开发行版。
-
因为他是英国喜剧BBC喜剧《Monty Python’s Flying Circus》的忠实粉丝,所以取名为python
Python哲学
- >>>import this
- Python之禅
python版本:
2.X和3.X区别:
- 语句函数化,例如print(1,2)打印出1 2,但是2.x中意思是print语句打印元祖,3.X中意思是函数的2个参数
- 整除,例如1/2和1//2,3.x版本中/为自然除
- 3.x中raw_input重命名input,不再使用raw_input
- round函数,在3.x中i.5的取整变为距离最近的偶数
- 3.x字符串统一使用Unicode
- 异常的捕获,抛出的语法改变
(图片摘抄于:https://www.oschina.net/news/104274/python-developers-survey-2018)
编程语言分类:
编译语言:把源代码转换成目标机器的CPU指令
解释语言:解释后转换成字节码,运行在虚拟机上,解释器执行中间代码
java、python、C#的源代码需要被解释器编译成中间代码(Bytecode),在虚拟机上运行
C、C++等语言的源代码需要本地编译
高级语言的发展
- 非结构化语言
- 结构化语言
- 面向对象语言(特性:封装、继承、多态)
- 函数式语言
- 一般的高级语言都支持结构化编程、面向对象编程、函数式编程,称为多范式语言
程序program
- 算法(如何执行)+数据结构(在内存中怎么放)=程序
- 数据一切程序的核心
- 数据结构是数据在计算机中的类型和组织方式
- 算法是处理数据的方式,算法有优劣之分
python解释器
- 官方cpython******
最广泛使用,中国也是,C语言开发的,python解释器 - ipython
一个交互式、功能增强的cpython - *pypy(保守估计比cpython快5倍)
python语言写的python解释器,jit技术,动态编译python代码 - jython
python的源代码编译成java的字节码,跑在jvm - ironpython
与jython类似,运行在.net平台上的解释器,python代码被编译成.net的字节码
语言类型解释:
Python的语言类型(python是动态语言、强类型语言!!!!!!)
- 静态编译语言
事先声明变量类型,类型不能再改变 - 编译时检查
*动态编译语言
不用事先声明类型,随时可以赋值为其他类型 - 编译时不知道是什么类型,很难推断
*强类型语言 - 不同类型之间操作,必须先强制类型转换为同一类型。
弱类型语言
- 不同类型间可以操作,自动隐式转换,javaScript中console.log(1+‘a’)
- *(python动态,强,js动态,弱)