范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

6种让Python程序变慢的坏习惯

  随着Python的流行,用户数量也在增加。Python确实相对容易上手,也非常灵活,因此有更多可能的方式来实现一个函数。
  当有多种方法可以实现一件特定的事情时,这意味着每种方法都有优缺点。在本文中,我收集了6种编写Python代码的典型方法,这些方法可能导致相对较差的性能。
  不导入根模块
  在使用Python时,我们无法避免的一件事就是导入模块,无论是内置模块还是第三方模块。有时我们可能只需要其中的一个或几个函数或对象。在这种情况下,我们应该只导入需要的函数或对象,而不是导入根模块。
  这里有一个简单的例子。假设我们需要在程序中计算一些数字的平方根。
  低效率示范:
  在这个错误的示例中,我们导入了math模块,并使用math.sqrt()访问该函数。当然它可以运行,但是如果我们直接导入sqrt()函数,性能会更好。
  高效率示范:
  这比原来的快了25%。此外如果我们需要在程序中多次使用平方根函数,代码将会更整洁。
  避免使用点/点链接
  在Python中访问对象的属性或函数时,使用.是非常直观的。这种方法大多数时候都没有问题。然而如果我们能够避免使用点或点链接,那么性能便会变得更好。
  低效率例子:
  高效率例子:
  如果你不相信它能起到同样的作用,我们可以验证一下。
  注意:我可以预料到许多Python开发人员会跳出来说,这个例子中的技术有点可笑。事实上即使是我自己,也很少像上面那样写代码。然而我们应该知道怎样的代码是更高效的,可以使实现更快。
  如果我们想要添加列表并从列表中移除项目,我们应该考虑使用这个技巧。这就是为什么我们需要平衡代码的性能和可读性。
  不使用+连接字符串
  字符串在Python中是不可变的。因此当我们使用"+"将多个字符串连接成一个长字符串时,每个子字符串都是单独操作的。
  低效率例子:
  具体来说,对于每个子字符串,它需要请求一个内存地址,然后将它与该内存地址中的原始字符串连接起来。这就产生了一种开销。
  高效率例子:
  然而当我们使用join()函数时,该函数事先知道所有子字符串,并根据最终的字符串长度分配内存地址。因此省去了为每个子字符串分配内存的开销。
  注意点:强烈建议尽可能多地使用join()函数。然而,有时我们可能只想连接两个字符串。或者只是为了方便起见,我们想使用"+"。在这些情况下,使用"+"号可以获得更好的可读性和更短的代码长度。
  不使用临时变量进行值交换
  许多算法需要两个变量的值交换。在大多数其他编程语言中,通常要引入一个临时变量来实现,如下所示。
  低效率示范:
  很明显我们需要一个临时变量作为过渡。当变量b的值被传递给变量a时,它用于保存变量a的值,然后a的值可以被赋给变量b。
  高效率示范:
  然而在Python中,我们不需要使用临时变量。Python有如下内置语法来实现这个值交换。这不仅提升了效率,而且使代码更加整洁。
  在if条件下使用短路逻辑(short-circuit)
  短路计算在许多编程语言中都存在,Python也是如此。它指的是一些布尔运算符的计算逻辑,只有在第一个参数不足以确定整个表达式的值时,才执行或计算第二个参数。让我们用一个例子来演示。假设我们有如下列表。
  my_dict = [ { "name": "Alice", "age": 28 }, { "name": "Bob", "age": 23 }, { "name": "Chris", "age": 33 }, { "name": "Chelsea", "age": 2 }, { "name": "Carol", "age": 24 }]
  我们的工作是筛选名单,找出姓名以"C"开头、年龄在30岁以上的所有人。
  低效率示范:
  有两个条件都需要满足:
  名字以"C"开头年龄≥30岁
  我们可以这样写代码。
  高效率示范:
  前面示例中的代码没有任何错误。然而在这个虚构的例子中,只有"Chris"的年龄超过30岁。
  因此如果我们先写出检查名字的条件,则满足了3个名字(Chris, Chelsea, Carol)。然后检查这三个人的年龄是否满足第二个条件。
  但是由于短路逻辑,如果我们先写年龄条件,只有Chris的年龄在30岁以上,我们会再次检查他的名字是否以"C"开头。
  在这种情况下,它几乎快了100%。
  如果可以使用for循环,就不要使用while循环
  Python使用大量C语言来提高性能,即CPython。在循环语句方面,与while循环相比,Python中的for循环有相对较少的步骤,而更多的步骤是作为C代码运行的。
  因此当我们可以在Python中使用for循环时,尽量避免使用while循环。这不仅是因为在Python中for循环更优雅,而且性能更好。
  低效率示范:
  高效率示范:
  总结
  在本文中,我列出了6个可以使Python程序更快的技巧。但是我们也需要特别注意的是,我们不应该总是把性能放在第一位。有时可读性和简洁性也应该考虑在内,这一切最重要的是平衡。
  https://www.ixiera.com

北京房山,经典户外穿越路线,安静悠然的高山风光,值得尝试青杠尖作为一处自然风光无限的高海拔山峰,除了原生态的自然风景之外,古村古寺等遗迹也都是存在的,相比较于白草畔这成熟景区的魅力虽然是差一些,但是户外这种比较野的打卡地也都是户外人由衷密云水库南线路入选十大最美农村路交通运输部近日公布了2021年度全国十大最美农村路名单,密云水库南线路上榜,成为北京唯一入选道路。资料图和冠欣摄图文无关密云水库南线路起点位于密云区溪翁庄镇中心街,经穆家峪镇,终点世界野生动植物日新疆珍稀野生动物图鉴3月3日,是第9个世界野生动植物日。新疆丰富的地理环境资源,孕育了丰富的野生动物种类。目前新疆有国家重点保护野生动物178种。在这个特殊的日子,我们一起去认识部分新疆特有的珍稀野生白天鹅落脚九里湖生态改善频引珍禽春天的九里湖,水光潋滟。随着天气逐渐转暖,这里近日迎来了一群白色的精灵,让九里湖更显生机和活力。早春的九里湖,20余只天鹅或在湖心水面上嬉戏,或翩然翱翔于天空。在蓝天碧水的映衬下,菲律宾人在中国哪个部门可以办理结婚证?在哪个国家结婚,就要遵守哪个国家的法律规定,所以菲律宾人去中国结婚需要的资料都要按照中国的婚姻规定来准备。而涉外婚姻所准备的资料要比国内公民结婚准备的资料要更多,那么我们带菲律宾太中国寺庙界的清流,把少林寺比下去了,网友这是真正的修行我国寺庙众多,形成了五里一小庙,百里一大寺的景观,现代人充斥着许多的欲望,所以有事没事都喜欢去到寺庙祈求佛祖的保佑。这也让各地的寺庙都有香火鼎盛的时候,一般初一十五是香客去到寺庙供穷游网宣布停止销售大象骑乘与老虎合影等动物娱乐产品北京商报讯(记者关子辰张怡然)3月3日,北京商报记者从穷游网获悉,日前穷游网正式签署世界动物保护协会野生动物友好型旅游承诺,宣布旗下所有旅游品牌均不再推广销售野生动物娱乐产品,例如注意了,浦江郊野公园奇迹花园区临时闭园浦江郊野公园日前发布消息称,浦江郊野公园奇迹花园区将于2022年3月5日至7月24日举办春季花展活动,届时将采取购票入园的方式。但在此之前为保障2022年春季花展顺利平稳进行,确保乌克兰首都基辅的战争前后对比战争太残酷基辅(Kiev)是乌克兰首都,经济文化中心。位于第聂伯河中游两岸,及其最大支流普里皮亚季河与杰斯纳河汇合处附近。城市西部地势高亢,东部低平宽阔。属温和的大陆性气候。基辅市区有数十条免门票后的大唐芙蓉苑以前大唐芙蓉苑的门票120元,许多人说是人造景观没甚么看头。如今免门票,人们蜂拥而至,各处景点人气很旺。我下午七点出苑,看见进门处的人流长达百米。我在下午三点入苑,人很多,走过长桥想买特价机票,看这篇就会了你买机票是不是到处翻来翻去?是不是好奇别人买的那种9块9机票你咋买不着。仔细看完这篇攻略,你就全会了。什么时候买机票最便宜?1周几订最便宜?周二价格最便宜,周五最贵。2几点订最便宜
锁定直播圈那些被质疑过开挂的主播现在都怎么样了?最近游戏圈内关于外挂的风波可谓一波未平一波又起,在魔音糯米事件逐渐消沉的时候,PDD又被网友质疑开挂,网络上已然掀起了一场因吃鸡而引发的外挂大战。FPS游戏数据往往由本地上传至服务皮肤返场投票惹恼腾讯人民币玩家别让不是贵族的穷人们投票了热爱游戏,乐于分享!大家好,我是你们的老朋友小饼干。随着王者荣耀限定皮肤返场结束的时候越来越近。所以现在的投票结果可以说已经是大局已定。虽然是玩家投票决定选出。但是这个投票结果却使蜗牛花这个数买猩球崛起3改编权打水漂怒而起诉福克斯蜗牛本周在美国加州法庭起诉福克斯娱乐集团未能履约,并最终导致蜗牛开发的猩球崛起3终极之战改编手游流产,让蜗牛失去了非常重要的市场机会。蜗牛要求福克斯退回合同款,并赔偿蜗牛的损失。蜗王者荣耀拥有一万钻石该怎么花,抽韩信最浪费王者荣耀以目前来说消费一般需要三样东西,分别是金币钻石和点券,其中最容易积攒的东西就是钻石了,因为钻石系统总是会赠送一些,金币一般都是会选择买英雄,点券都是用来买皮肤,只有钻石不知王者荣耀两年过去了,天美悄悄让英雄们长大了,变老了热爱游戏,乐于分享!大家好,我是你们的老朋友小饼干。王者荣耀快两周年了真的没想到,就这样火了两年。下面这个图,其实就是一周年的大合照。和现在的英雄们相比,有没有发现他们好像都老了呢被喷也要讨论一波,三天两败,AG的锅到底该谁来背?AG超玩会已经在同一条河流里跌倒无数次了仙阁无痕的关羽每次打超玩会都能爆发超玩会都不记得了吗?这两场比赛从选人到比赛内容就是搞笑的,最后一局全场131站位,对面中路一直四个人,花木绝地求生成为20年难一遇,道歉次数最多的游戏!热爱游戏,乐于分享!大家好我是你们的老朋友小饼干。今天,我们要聊的一个枪战游戏,它叫绝地求生之大逃杀!这是一款以生存为卖点的火爆端游,很符合弱肉强食的社会现象,很多人都喜欢它的游戏王者荣耀法术型射手?新的女射手英雄公孙离10月19日新赛季登场热爱游戏,乐于分享!大家好我是你们的老朋友小饼干。通过官方的预告,大家都已经知道了,10月19日就是新赛季开启的时间,还没上王者的同学就要抓紧时间咯!官方的预告中我们也得知了将会有王者荣耀势力分布,十二奇迹区域新发现!热爱游戏,乐于分享!大家好,我是你们的老朋友小饼干。话说,180万年前的地球,由于发展得太快,需要转移阵地发展。然而方舟飞船出事,然后回到了另外一个古代星球。经过了地球时代,湮灭时腾讯4亿购入绝地求生大逃杀开发商股份,吃鸡国服有望据韩国媒体报道,有投行人士透露,腾讯已购买了绝地求生开发商蓝洞公司价值约700亿韩元(约4。06亿元人民币)的股份,目前持股不到5。在绝地求生火爆后,曾有腾讯收购蓝洞的流言传出,但腾讯无奈只能自食其果,王者荣耀与snk的那些事王者荣耀的玩家们一定知道王者荣耀中有这么一类英雄,登场率人气都很高,但无论是金币钻石还是点券都买不到的,即使是点券钻石夺宝都抽不到的英雄,属于非卖类英雄。没错,想必大家都猜到了,就