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 相关文章推荐
详细介绍Ruby中的正则表达式
Apr 10 Python
Python合并两个字典的常用方法与效率比较
Jun 17 Python
python 3.5下xadmin的使用及修复源码bug
May 10 Python
Python爬虫DNS解析缓存方法实例分析
Jun 02 Python
python实现字符串加密 生成唯一固定长度字符串
Mar 22 Python
python自带tkinter库实现棋盘覆盖图形界面
Jul 17 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
Mar 10 Python
tensorflow实现将ckpt转pb文件的方法
Apr 22 Python
Python gevent协程切换实现详解
Sep 14 Python
python实现简单区块链结构
Apr 25 Python
详解Python如何批量采集京东商品数据流程
Jan 22 Python
Python绘制散点图之可视化神器pyecharts
Jul 07 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
通达OA公共代码 php常用检测函数
2011/12/14 PHP
解析PHP正则提取或替换img标记属性
2013/06/26 PHP
php基于curl主动推送最新内容给百度收录的方法
2016/10/14 PHP
利用php_imagick实现复古效果的方法
2016/10/18 PHP
php菜单/评论数据递归分级算法的实现方法
2019/08/01 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
JavaScript中使用typeof运算符需要注意的几个坑
2014/11/08 Javascript
Javascript验证方法大全
2015/09/21 Javascript
学习JavaScript设计模式之责任链模式
2016/01/18 Javascript
灵活的理解JavaScript中的this指向
2016/02/25 Javascript
BootStrap Tooltip插件源码解析
2016/12/27 Javascript
简单实现js鼠标跟随效果
2020/08/02 Javascript
vue.js移动数组位置,同时更新视图的方法
2018/03/08 Javascript
vue 不使用select实现下拉框功能(推荐)
2018/05/17 Javascript
nuxt中使用路由守卫的方法步骤
2019/01/27 Javascript
[00:36]TI7不朽珍藏III——斯温不朽展示
2017/07/15 DOTA
[44:58]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第二场
2018/04/06 DOTA
Python 遍历列表里面序号和值的方法(三种)
2017/02/17 Python
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
Python3使用PyQt5制作简单的画板/手写板实例
2017/10/19 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
jupyter notebook 使用过程中python莫名崩溃的原因及解决方式
2020/04/10 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
2020/05/19 Python
python为什么会环境变量设置不成功
2020/06/23 Python
CSS中的字体大小设置属性总结
2016/05/24 HTML / CSS
html5的新增的标签和废除的标签简要概述
2013/02/20 HTML / CSS
新加坡第一大健康与美容零售商:屈臣氏新加坡(Watsons Singapore)
2020/12/11 全球购物
如何提高JDBC的性能
2013/04/30 面试题
ShellScript面试题一则-ShellScript编程
2014/06/24 面试题
Java程序员综合测试题
2014/04/25 面试题
聘任书模板
2014/03/29 职场文书
小学关爱留守儿童活动方案
2014/08/25 职场文书
警察群众路线整改措施
2014/09/26 职场文书
政府四风问题整改措施
2014/10/04 职场文书
班主任先进事迹材料
2014/12/17 职场文书
紫日观后感
2015/06/05 职场文书