python3前篇【1】——python简介

     之前学习python,都是用到哪学到哪,没有系统的进行学习梳理,最近想着从头开始,好好学习一下,也希望能通过写博客的方式做好记录,希望自己能坚持下去,加油!

一、计算机基础

首先来了解几个常用的名词:

CPU:中央处理器(central processing unit),相当于人的大脑,是计算机运算和控制中心

内存:用于暂时存储数据,与CPU进行交互

           优点:读取速度快

           缺点:容量小,造价高,断电后存储的内容就消失了

硬盘:用于长期存储数据

           优点:容量大,造价相对低,断电后存储内容不消失

           缺点:读取速度慢

操作系统:调控统领这些过程

二、Python的历史

Python诞生于1989年,龟叔(Guido van Russom)为了打发圣诞节期间无聊的时间,决定开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以命名为Python(大蟒蛇)是因为其喜欢《蒙提.派森的飞行马戏团》(Monty Python's Flying Circus)。python的特点是优雅、明确、简单。

目前为止,Python有两个大的版本,即python2.x(默认编码方式为ASCII码,要想显示中文,必须在文件头添加#  -*-encoding:utf-8 -*-)和python3.x(默认编码方式为UTF-8),其中python2.x将于2020年停止支撑。两个版本间的区别如下:

  • 2.x版本源码不规范,源码重复较多,如果代码中有中文会报错;3.x版本源码清晰、优美,简单,中英文都能显示

三、Python的分类

编程语言从不同的角度可以分为不同的类型,包括:编译型和解释型、静态语言和动态语言、强类型定义语言和弱类型定义与研等。

1.编译型与解释型

  • 编译型:把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可直接以机器语言来运行此程序(优点:一般会有预编译的过程,因为编译只做一次,运行时不需要编译,所以执行效率高,可以脱离语言环境独立执行  缺点:不能跨平台,开发速度慢,不好调试,修改代码时需要对源码进行修改后重新编译)
  • 解释型:将代码从上至下逐行解释成机器语言给计算机来执行(优点:便于调试,可以跨平台,前提是安装了解释器即虚拟机,开发效率高  缺点:每次运行的时候都要解释一遍,执行速度不如编译型程序快)  

python属于解释型语言

2.动态语言和静态语言

  • 动态类型语言:指在运行期间才去做数据检查的语言。即在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在第一次赋值给变量时,在内部将数据类型记录下来。如:Python和Ruby等
  • 静态类型语言:其数据类型是在编译期间检查的,也就是说在写程序时要声明所有变量的数据类型。如:C/C++等

3.强类型定义语言和弱类型定义语言

  • 强类型定义语言:强制数据类型定义的语言,即一个变量一旦被指定为某个数据类型,如果不经过强制转换,它就永远是这个数据类型。强类型定义语言是类型安全的语言
  • 弱类型定义语言:数据类型可以被忽略的语言。它与强类型定义语言相反,一个变量可以赋不同数据类型的值

【总结】python是一门解释型、动态类强类型定义语言。

四、Python的优缺点

1.优点如下:

(1)简单易懂,入门容易,深入学习后可以编写非常复杂的程序

(2)开发效率非常高,有非常强大的第三方库,基本上可以实现任何功能

(3)是一种高级语言:编写程序时,无需考虑如何管理程序使用的内存一类的底层细节

(4)可移植性:可以在多种平台上运行

(5)可扩展性:如果需要某些关键代码运行更快或某些算法不公开,可以把部分程序用C或C++编写,然后在python中使用他们

(6)可嵌入性:可以把python嵌入C/C++程序,从而向程序的用户提供脚本功能

2.缺点如下:

(1)速度慢:相较于Java和C等运行速度比较慢,但在大多数情况下用户无法感知;如果对运行速度要求较高,则可以使用c语言

(2)代码不能加密:解释型语言的源码都是以明文形式存放的

(3)线程不能利用多CPU问题(需要后续进一步学习)

五、python的种类

严格来说应该称为python解释器的种类,一般按照开发解释器的语言进行分类。常见的有CPython、IPython、PyPy、Jython、IronPython。官方解释器为CPython。

1.CPython:是用C语言开发的,目前使用最广泛,用>>>作为提示符;在命令行下运行Python就是启动CPython解释器

2.IPython:是基于CPython之上的一个交互式解释器,用In [序号]: 作为提示符。它只是在交互方式上有所增强,但是执行python代码的功能和CPython是完全一样的。

3.PyPy:目标是执行速度。其采用JIT技术,对python代码进行动态编译,所以可以显著提高python代码的执行速度。PyPy和CPython有些不同,所以相同的代码在两种解释器下执行可能会有不同的结果

4.Jython:是运行在Java平台上的Python解释器,可以直接把Python代码变异成Java字节码执行

5.IronPython:和Jython类似,它是运行在微软.Net平台上的Python解释器,可以直接把Python变异成.Net的字节码

【总结】目前使用最广泛的python解释器是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值