python使用建议与技巧分享(二)


Posted in Python onAugust 17, 2020

这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。

1 如何在if语句中检测多个条件

不推荐方式

flag1 = 1
flag2 = 0
flag3 = 0

if flag1 == 1 or flag2 == 1 or flag3 == 1:
print 'ok'

推荐方式

flag1 = 1
flag2 = 0
flag3 = 0

if 1 in (flag1, flag2, flag3):
print 'ok'

可以看到,前一种方式重复代码太多,不推荐。后一种写法更简洁、易读。另外,其实也可以通过any函数实现,如下:

if any((flag1, flag2, flag3)):
print 'ok'

2 如何从list中随机采样元素

import random


all_data = [num for num in range(100)]
sample_data = random.sample(all_data, 20)
print sample_data
# [71, 25, 58, 79, 70, 69, 93, 29, 11, 30, 40, 81, 12, 48, 91, 21, 83, 42, 38, 31]

这里是从100个元素中,随机采样20个元素。可以看到,借助random模块的sample函数可以很轻易实现采样功能。python的random模块很有意思,大家感兴趣可以看看,能实现很多有趣的功能。比如可以轻易实现“洗牌”功能:

import random


order_list = range(10)
print order_list
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
random.shuffle(order_list)
print order_list
# [3, 5, 9, 0, 8, 7, 1, 2, 6, 4]

3 如何测试函数运行时间

不推荐方式

import time


def func1():
time.sleep(2)


begin_time = time.time()
func1()
passed_time = time.time() - begin_time
print passed_time
# 2.00099992752

推荐方式

import time
from timeit import timeit


def func1():
time.sleep(2)


print timeit(stmt="func1()",
setup="from __main__ import func1",
number=1)
# 2.00122451254

借助python的timeit模块,可以很轻易的测试出函数运行时间。在不知道timeit模块之前,我就是用前一种方式测试函数运行时间的,别笑。

以上就是python使用建议与技巧分享(二)的详细内容,更多关于python建议与技巧的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python实现文件分组复制到不同目录的例子
Jun 04 Python
python通过pil模块获得图片exif信息的方法
Mar 16 Python
Python基于动态规划算法计算单词距离
Jul 25 Python
Python脚本实现自动将数据库备份到 Dropbox
Feb 06 Python
Python实现利用163邮箱远程关电脑脚本
Feb 22 Python
Python  unittest单元测试框架的使用
Sep 08 Python
Python字符串通过'+'和join函数拼接新字符串的性能测试比较
Mar 05 Python
Python 调用 Outlook 发送邮件过程解析
Aug 08 Python
Python 装饰器原理、定义与用法详解
Dec 07 Python
Jupyter notebook如何修改平台字体
May 13 Python
python 装饰器的基本使用
Jan 13 Python
Python pygame实现中国象棋单机版源码
Jun 20 Python
详解python方法之绑定方法与非绑定方法
Aug 17 #Python
如何利用python之wxpy模块玩转微信
Aug 17 #Python
深入了解Python 方法之类方法 & 静态方法
Aug 17 #Python
详解如何在PyCharm控制台中输出彩色文字和背景
Aug 17 #Python
python如何操作mysql
Aug 17 #Python
详解python 内存优化
Aug 17 #Python
浅谈如何使用python抓取网页中的动态数据实现
Aug 17 #Python
You might like
PHP与javascript的两种交互方式
2006/10/09 PHP
详解PHP归并排序的实现
2016/10/18 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
2017/07/09 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
JavaScript在IE中“意外地调用了方法或属性访问”
2008/11/19 Javascript
jQuery解决iframe高度自适应代码
2009/12/20 Javascript
强大的jquery插件jqeuryUI做网页对话框效果!简单
2011/04/14 Javascript
ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)
2012/01/13 Javascript
调试Javascript代码(浏览器F12及VS中debugger关键字)
2013/01/25 Javascript
jquery中的$(document).ready()使用小结
2014/02/14 Javascript
jQuery EasyUI datagrid实现本地分页的方法
2015/02/13 Javascript
JavaScript数组对象实现增加一个返回随机元素的方法
2015/07/27 Javascript
详解AngularJS中的filter过滤器用法
2016/01/04 Javascript
jQuery实现ToolTip元素定位显示功能示例
2016/11/23 Javascript
jQuery实现二维码扫描功能
2017/01/09 Javascript
Bootstrap Table从零开始
2017/06/30 Javascript
vue-router history模式下的微信分享小结
2018/07/05 Javascript
Jquery和CSS实现选择框重置按钮功能
2018/11/08 jQuery
深入理解令牌认证机制(token)
2019/08/22 Javascript
mapboxgl实现带箭头轨迹线的代码
2021/01/04 Javascript
Python入门篇之编程习惯与特点
2014/10/17 Python
python基于xmlrpc实现二进制文件传输的方法
2015/06/02 Python
Python3.5 Json与pickle实现数据序列化与反序列化操作示例
2019/04/29 Python
Python3.8中使用f-strings调试
2019/05/22 Python
Python基于Tensor FLow的图像处理操作详解
2020/01/15 Python
python 非线性规划方式(scipy.optimize.minimize)
2020/02/11 Python
Pandas对每个分组应用apply函数的实现
2020/12/13 Python
利用Python如何画一颗心、小人发射爱心
2021/02/21 Python
HomeAway澳大利亚:预订你的度假屋,公寓、度假村、别墅等
2019/02/20 全球购物
护理专业的自荐信
2013/10/22 职场文书
拾金不昧表扬信范文
2014/01/11 职场文书
春季防火方案
2014/05/10 职场文书
办公用房租赁协议书
2014/11/29 职场文书
Python绘制分类图的方法
2021/04/20 Python
Nginx实现负载均衡的项目实践
2022/03/18 Servers
请求模块urllib之PYTHON爬虫的基本使用
2022/04/08 Python