当前位置: 首页 > news >正文

电子公司网站源码沈阳定制网红小熊花的地方

电子公司网站源码,沈阳定制网红小熊花的地方,商城app下载,wordpress账号邮箱Python是一个很酷的语言#xff0c;因为你可以在很短的时间内利用很少的代码做很多事情。不仅如此#xff0c;它还能轻松地支持多任务#xff0c;比如多进程等。Python批评者有时会说Python执行缓慢。本文将尝试介绍6个技巧#xff0c;可加速你的Python应用程序。 1.让关键…Python是一个很酷的语言因为你可以在很短的时间内利用很少的代码做很多事情。不仅如此它还能轻松地支持多任务比如多进程等。Python批评者有时会说Python执行缓慢。本文将尝试介绍6个技巧可加速你的Python应用程序。 1.让关键代码依赖于外部包 虽然Python让许多编程任务变得容易但它可能并不总能为紧急的任务提供最佳性能。你可以为紧急的任务使用C、C或机器语言编写的外部包这样可以提高应用程序的性能。这些包都是不能跨平台的这意味着你需要根据你正在使用的平台寻找合适的包。简而言之这个方案放弃了一些应用程序的可移植性以换取只有在特定主机上直接编程才能获得的程序性能。这里有一些你应该考虑加入到你的“性能兵工厂”的包 这些包以不同的方式提高性能。例如Pyrex能够扩展Python所能做的事情例如使用C的数据类型来让内存任务更加有效或直接。PyInIne让你在Python应用程序中直接使用C代码。程序中的内联代码单独编译但它在利用C语言所能提供的效率的同时也让所有的代码都在同一个地方。 2.排序时使用键key 有很多老的Python排序代码它们在你创建一个自定义的排序时花费你的时间但在运行时确实能加速执行排序过程。元素排序的最好方法是尽可能使用键key和默认的sort()排序方法。例如考虑下面的代码 1 2 3 4 5 6 7 8 9 10 11 import operator somelist [(1,5,8), (6,2,4), (9,7,5)] somelist.sort(keyoperator.itemgetter(0)) somelist #Output [(1, 5, 8), (6, 2, 4), (9, 7, 5)] somelist.sort(keyoperator.itemgetter(1)) somelist #Output [(6, 2, 4), (1, 5, 8), (9, 7, 5)] somelist.sort(keyoperator.itemgetter(2)) somelist #Output [(6, 2, 4), (9, 7, 5), (1, 5, 8)], 每一个实例中根据你选择的作为key参数部分的索引数组进行了排序。类似于利用数字进行排序这种方法同样适用于利用字符串排序。 3.优化循环 每种编程语言都会强调需要优化循环。当使用Python的时候你可以依靠大量的技巧使得循环运行得更快。然而开发者经常漏掉的一个方法是避免在一个循环中使用点操作。例如考虑下面的代码 1 2 3 4 5 6 7 8 lowerlist [this,is,lowercase] upper str.upper upperlist [] append upperlist.append for wordin lowerlist: append(upper(word)) print(upperlist) #Output [THIS, IS, LOWERCASE] 每一次你调用方法str.upperPython都会求该方法的值。然而如果你用一个变量代替求得的值值就变成了已知的Python就可以更快地执行任务。优化循环的关键是要减少Python在循环内部执行的工作量因为Python原生的解释器在那种情况下真的会减缓执行的速度。 注意优化循环的方法有很多这只是其中的一个。例如许多程序员都会说列表推导是在循环中提高执行速度的最好方式。这里的关键是优化循环是程序取得更高的执行速度的更好方式之一。 4.使用较新版本的Python 在网上搜索Python信息都会发现无数人在问从Python一个版本迁移到另一个版本的问题的信息。一般来说Python的每一个版本都包含了能让其比上个版本运行更快的优化。版本迁移的限制因素是你喜欢的那些库是否已经迁移到Python的较新版本。相比于询问是否应该进行版本迁移关键问题是确定一个新版本什么时候有足够的支持以保证迁移的可行性。 你需要验证你的代码仍然运行。你需要在Python的新版本下使用你获得的新库然后检查你的应用程序是否需要重大改变。只有在你作出必要的更正之后你才会注意到版本之间的差别。然而如果你正好确保你的应用程序能在新版本下运行而不需要任何改变你可能会错过那些版本升级带来的新特性。一旦你进行了迁移你应该为你的新版本下的应用程序写一个说明检查有问题的地方并且优先考虑利用新版本的特性去更新那些地方。这样用户将会在升级的过程中更早的看到一个更大的性能提升。 5.尝试多种编码方法 如果每次你创建一个应用程序都是用相同的编码方法几乎肯定会导致一些你的应用程序比它能够达到的运行效率慢的情况。作为分析过程的一部分你可以尝试一些实验。例如在一个字典中管理一些元素你可以采用安全的方法确定元素是否已经存在并更新或者你可以直接添加元素然后作为异常处理该元素不存在情况。考虑第一个编码的例子 1 2 3 4 5 6 7 8 n 16 myDict {} for iin range(0, n): char abcd[i%4] if charnot in myDict: myDict[char] 0 myDict[char] 1 print(myDict) 这段代码通常会在myDict开始为空时运行得更快。然而当mydict通常被数据填充或者至少大部分被充填时另一种方法效果更好。 1 2 3 4 5 6 7 8 9 n 16 myDict {} for iin range(0, n): char abcd[i%4] try: myDict[char] 1 except KeyError: myDict[char] 1 print(myDict) 两种情况下具有相同的输出{‘d: 4, ‘c: 4, ‘b: 4, ‘a: 4}。唯一的不同是这个输出是如何得到的。跳出固定的思维模式创造新的编码技巧能够帮助你利用你的应用程序获得更快的结果。 6.交叉编译应用程序 开发者有时会忘记电脑实际上是不懂任何用于创建现代应用程序的语言电脑所能懂得是机器代码。为了能在电脑上运行应用程序你使用一个应用将人类可读的代码你转换成计算机能理解的。有时候用一种语言比如Python写一个应用并用另一种语言比如C运行它从性能的角度来看是有意义的。这取决于你想要应用程序去做什么以及主机系统可以提供的资源。 一个有趣的交叉编译器Nuitka可以将你的Python代码转换为C代码。这么做的结果是你可以在原生模式下执行应用程序而不是依靠解释器。根据平台和任务你可以看到一个显著的性能提升。 注意Nuitka目前还处于测试阶段所以用它来产品程序时需要小心。实际上目前最好将其用于实验。现在也有一些关于交叉编译是否是得到更好性能的最佳方式的讨论。开发者已经利用交叉编译好几年了目的是实现特定的目标比如更好的应用程序的速度。记住每一个解决方案都会有得有失你应该在将一个解决方案用于生产环境之前就好好考虑一下得失情况。 在使用一个交叉编译器时要确保它支持你使用的Python的版本。Nuitka支持Python2.6、2.7、3.2和3.3。想让这个方案发挥作用你需要一个Python解释器和一个C编译器。Nuitka支持多种C编译器包括Microsoft Visual Studio、MinGW 和 Clang/LLVM。 交叉编译也可能带来一些严重的负面影响。例如当利用Nuitka工作时你会发现即使一个小程序也能消耗很大的硬盘空间这是因为Nuitka使用大量的动态链接库DLLs实现Python的功能。所以当你面对一个资源有限的系统时这个方案可能不会很好的起作用。 总结 这六个技巧中的任意一个都可以帮助你创造更快的Python程序。但任何技巧都不是万能的不能每次都起作用。有些技巧在Python的特定版本下比其他技巧的更有效——甚至系统平台也能影响它们的效果。你需要配置你的应用确定哪个地方让其运行缓慢然后尝试似乎能最好的解决这些问题的一些技巧。
http://www.zqtcl.cn/news/74424/

相关文章:

  • 论坛的网站开发项目备案网站域名和主机关系
  • 如何提高网站pr值湖州服装网站建设
  • 四川移动端网站建设人才网站app建设建议
  • 建设网站后申请什么类型专利wordpress评论框加
  • 网站开发与维护考察试题ios wordpress连接站点
  • 网站关键词排名忽然wordpress文件读取漏洞
  • app展示网站模板南岗红旗大街网站建设
  • 合肥高新区建设发展局网站网站开发公司东莞
  • 腾讯云ADM怎么做网站代写软文
  • 怎么使网站降权知名网站定制公司电话
  • 餐饮酒店网站建设wordpress ftp 失败
  • 快速做网站服务好wordpress 自定义页面列表
  • 微信做明天展现网站要多少钱优化流程
  • 电子商务网站建设调查问卷中国平面设计公司
  • 济南市建设工程招标投标协会网站ps做网站页面步骤
  • 网站建设加排名要多少贵阳建设职业技术学院招聘信息网站
  • 高大上强企业网站怎么制作网页投票软件
  • 浙江平安建设网站做美团网站需要多少钱
  • 毕设做购物网站中国建设银行网上银行网站
  • p2p理财网站建设网站抬头怎么做
  • 企业网站的作用和目的昌大建设原名叫什么
  • 铁门关网站建设wordpress 默认主题
  • 我在学校志愿队做网站的经历在哪些网站做收录比较快
  • 网站推广策划方案免备案wordpress主机
  • 网站建设品牌有哪些wordpress使用
  • 东莞网站开发技术公司电话潘家园做网站的公司
  • 自己架设网站备案公司做两个网站有影响吗
  • 高端网站建设的流程是什么郑州网站关键
  • 网站建设方案书原件网站制作换下面友情连接
  • 阿里云 网站托管汕头论坛