博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python3 - 随便说一下
阅读量:5462 次
发布时间:2019-06-15

本文共 1535 字,大约阅读时间需要 5 分钟。

编程语言总体分以为机器语言、汇编语言、高级语言:

机器语言:计算机硬件能够直接使用的编程语言,二进制的集合,属于低级语言。
汇编语言:借助符号代替机器指令,与机器指令对应,面向计算机硬件的,容易理解和记忆,属于低级语言。
高级语言:与计算机硬件无关,其表达方式接近于所描述的问题,更易于掌握。

高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:

解释类:
执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器(想运行,必须先装上解释器),但这种方式比较灵活,可以动态地调整、修改应用程序。
编译类:
编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行(编译后生成的可执行文件,是 CPU 可以理解的二进制的机器码组成的),使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件才能执行,只有目标文件而没有源代码,修改很不方便。编译后程序运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。

1734297-20190706143214753-969837379.png

1734297-20190706144029025-508597633.png

Python 运行速度慢的原因:

Python 是解释型语言,代码在执行时需要逐行编译成 CPU 能够识别的机器码,这个编译过程非常消耗时间,所以运行速度比较慢。

Python 是一种面向对象的、解释型的、弱类型的脚本语言。

弱类型语言的典型特征:
1.变量无须声明即可直接赋值;
2.变量的数据类型可以动态改变。

Python 的优点:

1.开源的编程语言;
2.开发效率高,既有完善的内置库也有非常丰富第三方库;
3.自动内存管理;
4.跨平台;
5.胶水语言,可以和其它语言混合使用;
Python 的缺点:
1.相比于 C/JAVA 代码执行速度慢;
2.代码不能加密,Python 是解释性语言,源码都是以明文形式保存的;
3.线程不能利用多核,GIL 即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅有一个线程在执行,Python 的线程是操作系统的原生线程。在 Linux 上为 pthread ,在 Windows 上为 Win thread,完全由操作系统调度线程的执行。一个 Python 解释器进程内有一条主线程,以及多条用户程序的执行线程。即使在多核 CPU 平台上,由于 GIL 的存在,所以禁止多线程的并行执行。

Python代码的两种执行方式:

1.py文件执行
2.交互器执行

Python 程序第一次运行的时候,编译的结果保存在位于内存中的 PyCodeObject 中,当 Python 程序运行结束时 Python 解释器会把 PyCodeObject 写回到 pyc 文件中。

第二次运行时 Python 程序会在磁盘中寻找 pyc 文件,如果找到则直接加载,否则就会重复Python第一次运行的过程。
如果 Python 源代码被更新了则会从新编译。
PyCodeObject:在内存中保存 Python 编译后的结果
Pyc:保存 Python 解释后的结果。

Python 脚本文件的后缀名可以不写,对于 Python 来讲没有实际意义,加 .py 后面后缀名只是为了告诉人们这个脚本是用 Python 语言发开的。

1734297-20190706142758844-1202592625.png

转载于:https://www.cnblogs.com/lipandeng/p/11142468.html

你可能感兴趣的文章
Linux命令——find/grep
查看>>
TJU1016
查看>>
HttpClientUitl工具类
查看>>
Could not find or load main class
查看>>
VC 预定义宏
查看>>
indexOf()
查看>>
dom4j对xml读取操作
查看>>
Yii2.0实现微信公众号后台开发
查看>>
Shell 传递参数
查看>>
Ibatis 泛型化dao模版
查看>>
hrbust 1133 (kruskal)
查看>>
vue 接口统一管理
查看>>
margin 相关 bug 系列
查看>>
模拟+贪心 SCU 4445 Right turn
查看>>
2012 Multi-University #7
查看>>
第五章 循环结构反思
查看>>
WebConfig配置文件有哪些不为人知的秘密?
查看>>
自动控制原理的三不管地带之——开闭环函数特征方程原理
查看>>
HDU 2001 计算亮点间的距离
查看>>
spring学习笔记--quartz和定时任务执行
查看>>