在大家的记忆中python是一门非常不错的语言,具有很多的优势,但python同样具有缺点,那就是运行效率低,那么为什么python运行效率低呢?原因在这里。

1. python是动态语言

动态语言是一类在运行时可以改变其结构的语言,如新的函数、对象、代码可以被引入,已有的函数可以被删除或其他结构上的变化等,该类语言更具有活性,但是不可避免的因为运行时的不确定性也影响运行效率。

2. python是解释执行

相比于C语言编译性语言编写的程序,Python是解释执行语言,其运行过程是Python运行文件程序时,Python解释器将源代码转换为字节码,然后再由Python解释器来执行这些字节码。其每次运行都要进行转换成字节码,然后再有虚拟机把字节码转换成机器语言,最后才能在硬件上运行,与编译性语言相比,其过程更复杂,性能肯定会受影响。

3. Python中一切都是对象

Python是一门面向对象的编程语言,其设计理念是一切皆是对象,如数字、字符串、元组、列表、字典、函数、方法、类、模块等都是对象,包括代码,每个对象都需要维护引用计数,因此,增加了额外工作,影响了性能。

4. Python GIL

GIL是Python最为诟病的一点,因为GIL,Python中的多线程并不能真正的并发,即使在单线程,GIL也会带来很大的性能影响,因为python每执行100个opcode就会尝试线程的切换,因此,影响Python运行效率。

5. 垃圾回收

Python采用标记和分代的垃圾回收策略,每次垃圾回收的时候都会中断正在执行的程序,造成所谓的顿卡,影响运行效率。

python语言的运行效率高吗_为什么python运行效率低?原来因为它!相关推荐

  1. 采用python语言实现猜数游戏_用python实现猜数游戏

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 本文实例为大家分享了python实现猜数游戏的具体代码,供大家参考,具体内容如下 ...

  2. python语言下划线怎么打_初学Python语言者必须理解的下划线

    下划线(_)在Python语言中有特殊作用. 在大多数编程语言中,下划线是命名变量或者函数名称时的连字符,但是,在Python语言中,不仅如此.如果你是一名Python程序员,对于诸如 _ in ra ...

  3. python语言的变量特点随时_【Python】Python语言特点

    Python语言强调简洁直观.可读性强,常被称为"可执行的伪代码". 一.一切都是对象 Python是面向对象的编程语言,数.字符串.数据容器.函数.类.模块(函数)等都是对象.每 ...

  4. python语言的记事本在哪_入门Python语言记事本03

    本文主要向大家介绍了入门Python语言记事本03,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断.比如,输入用户年龄, ...

  5. python语言的运行效率高吗_为什么Python效率这么低,还这么火?

    这是一个引战的话题,不过我还是想说几句. 任何一个讨论语言效率问题的人,请先问下有没有搞清楚什么是效率? 软件工程发展至今,大型系统基本不可能通过一种语言去架构,c语言到是效率高来着?能去写一个web ...

  6. 什么是python语言的动态类型机制_理解Python的Dynamic typing

    Python的Dynamic typing有些类似于C语言的指针,在C中,一个变量可以指向任何地址空间,在Python中,一个变量也可以指向任何type的数据对象.变量的指向可以在程序运行过程中变化, ...

  7. python语言的核心理念是_学习Python语言四大核心优势

    1.行业前景好 全球前四大流行语言之一,根据TIOBE最新排名 ,Python已超越C#,与Java,C,C++一起成为全球前4大最流行语言.且,国内目前百度指数搜索量已经超越Java,与C++,即将 ...

  8. python语言最适合的领域_掌握python语言可以做什么?十大应用领域介绍

    python作为一门当下极其火爆的编程语言,得到世界范围内无数编程爱好者和开发者喜欢并不是偶然的,除了要比其他编程语言更容易入门,python还拥有无比广阔的应用前景,薪资待遇也非常不错. 1. WE ...

  9. 用python语言实现喇叭发声原理_用Python实现喇叭天线设计小工具(三)

    摘要:本节主要介绍波导查值模块,以及HFSS调用模块的编写. 波导查值模块 该部分要实现的功能主要是根据输入的工作频率,自动选择合适的标准波导尺寸,免去翻资料的麻烦,实现起来逻辑很简单,也就是单纯地根 ...

  10. python语言的记事本在哪_用python语言编写一个简单记事本

    看了一点python的基础教程,忍不住手就痒了,找来一个题目练一下喽. 题目:编写一个功能简单的记事本. 编写记事本就要用到GUI的功能,最常用的当然是wxpython,那么我们就用这个来写一个记事本 ...

最新文章

  1. css预编译其器,CSS预处理器之——Less
  2. java的优先队列注意事项
  3. 第二章 Burp Suite代理和浏览器设置
  4. 神舟笔记本bios_海尔雷神(蓝天)神舟战神游戏本风扇狂转掉电大写灯狂闪维修实例...
  5. mysql float精度与范围总结
  6. 两个常用的Infopath Service读取域值的函数
  7. VB 判断IP能否ping通
  8. 关于重构中的“函数尽量小”的负作用
  9. 倾心家教安卓案例开发代码_你或许从未听过的20个安卓开发工具
  10. php如何取屏幕大小,JavaScript_JS获取当前网页大小以及屏幕分辨率等,效果如下:代码如下:- phpStudy...
  11. 面试经验之阿里暑期实习
  12. svn process exited with error code: 1
  13. Android车载导航的一些困境
  14. python中round(18.67、-1)_python的round函数怎么用
  15. SegFormer论文记录(详细翻译)
  16. 提高计算机主频的方法,cpu主频如何调高
  17. TICKScript简介
  18. daifloil demnum grease daikin DG203
  19. 牛客网SQL--某东篇
  20. 【背包专题】01背包

热门文章

  1. 使用IDEA工具配置和运行vue项目(详细其中的坑)
  2. NLP+句法结构(三)︱中文句法结构(CIPS2016、依存句法、文法)
  3. delphi关于try的正确句法结构
  4. C语言中abs()用法及其他绝对值函数
  5. 如何配置Gitlab的双因子验证(Two-Factor Authentication)
  6. w10计算机用户名密码忘了,电脑w10系统开机密码忘了
  7. Vue.filter过滤器存储单位换算按KB 、M、 G显示字节大小
  8. 在【守望先锋】学习C++的类与对象
  9. MySQL一些随机函数记录
  10. uniapp 微信授权 登陆