热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python编程实用技巧与优化方法

本文介绍了Python编程中的一些实用技巧和优化方法。首先,讨论了如何高效地交换两个变量的值,例如`a`和`b`可以通过`a,b=b,a`来实现。此外,文章还提供了在进行数值比较时的简洁写法,如使用`3.14`进行精确匹配。这些技巧不仅提高了代码的可读性,还能提升程序的运行效率。

1、交换两个变量

  a = 1  b = 2   a,b=b,a

2、在作比较时你可以这样写: 3.143.14 and pi<3.15)是一样的&#xff0c;在大多数其他语言里&#xff0c;你都不能用这么自然的语法了。

  if(3.14      print &#39;1&#39;
  else:
      print &#39;0&#39;

3、Int类型不会在超过31bit或32bit后溢出&#xff0c;它们会变成long型。在
python里&#xff0c;long并非就是64位&#xff0c;他就是"长"类型,(python的长类型可以容纳数万位大的整数)&#xff0c;效率会降低一点。在python 3000中&#xff0c;甚至连int与long的区别都没有了。

4、默认值只会在编译时被赋值一次&#xff0c;而非运行时。试试这个: def func
(a[]): a.append(42); 返回值a会随调用不断加入42. python的教程里有更多相关的讨论。

5、连接多个字符串时&#xff0c;"".join(list)会比 for x in list: s&#43;&#61;x快得多。实际上 join调用复杂度是o(n),而&#43;&#61;是o(n2).有很多人要求使这个调用更快&#xff0c;而且python2.5里似乎也应该变得更快了&#xff0c;但我的测试结果

6、语法 print >>file里&#xff0c;仅数值被写入文件中&#xff0c;而print的格式化功能不起作用。我很高兴听到他们说在python 3000总&#xff0c;print会变成一个函数&#xff0c;而且带有了更多高级的特性。

7、你可以通过(x,)来创建只有一个元素的tuple,通常你只能建立如
(x,y,z)那样的tuple,如果你想通过(x)来建立一个tuple,得到的只是x

8、如果你想看看整数类的帮助文档&#xff0c;你可以写(5).__str__; 你不能简化成5.__str__&#xff0c;因为解释器会把5.认作是浮点数&#xff0c;然后出错了。

9、你可以使用属性而不是getter或setter函数。例如serial. baudrate&#61;192000 可以设置serial._baud,跟你调用其它调用的效果一样。

10、一个紧跟在for循环后的else语句只有在循环不通过break退出时才会被调用。这对查找循环很有用处&#xff0c;通常这样的循环都会需要在退出后作
额外的检查判断

转:https://www.cnblogs.com/smile-ls/archive/2013/05/26/3100299.html



推荐阅读
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • JUnit下的测试和suite
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 洛谷 P4009 汽车加油行驶问题 解析
    探讨了经典算法题目——汽车加油行驶问题,通过网络流和费用流的视角,深入解析了该问题的解决方案。本文将详细阐述如何利用最短路径算法解决这一问题,并提供详细的代码实现。 ... [详细]
  • Requests库的基本使用方法
    本文介绍了Python中Requests库的基础用法,包括如何安装、GET和POST请求的实现、如何处理Cookies和Headers,以及如何解析JSON响应。相比urllib库,Requests库提供了更为简洁高效的接口来处理HTTP请求。 ... [详细]
  • 深入探讨前端代码优化策略
    本文深入讨论了前端开发中代码优化的关键技术,包括JavaScript、HTML和CSS的优化方法,旨在提升网页加载速度和用户体验。 ... [详细]
  • 数据类型--char一、char1.1char占用2个字节char取值范围:【0~65535】char采用unicode编码方式char类型的字面量用单引号括起来char可以存储一 ... [详细]
  • 在OpenCV 3.1.0中实现SIFT与SURF特征检测
    本文介绍如何在OpenCV 3.1.0版本中通过Python 2.7环境使用SIFT和SURF算法进行图像特征点检测。由于这些高级功能在OpenCV 3.0.0及更高版本中被移至额外的contrib模块,因此需要特别处理才能正常使用。 ... [详细]
  • Jenkins API当前未直接提供获取任务构建队列长度的功能,因此需要通过解析HTML页面来间接实现这一需求。 ... [详细]
  • 本文介绍了一种方法,通过使用Python的ctypes库来调用C++代码。具体实例为实现一个简单的加法器,并详细说明了从编写C++代码到编译及最终在Python中调用的全过程。 ... [详细]
  • 本题要求计算一组正整数的最小公倍数(LCM)。输入包括多组测试数据,每组数据首先给出一个正整数n,随后是n个正整数。 ... [详细]
  • protobuf 使用心得:解析与编码陷阱
    本文记录了一次在广告系统中使用protobuf进行数据交换时遇到的问题及其解决过程。通过这次经历,我们将探讨protobuf的特性和编码机制,帮助开发者避免类似的陷阱。 ... [详细]
  • Bootstrap Paginator 分页插件详解与应用
    本文深入探讨了Bootstrap Paginator这款流行的JavaScript分页插件,提供了详细的使用指南和示例代码,旨在帮助开发者更好地理解和利用该工具进行高效的数据展示。 ... [详细]
  • 一、Advice执行顺序二、Advice在同一个Aspect中三、Advice在不同的Aspect中一、Advice执行顺序如果多个Advice和同一个JointPoint连接& ... [详细]
author-avatar
lobtao
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有