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获取Linux系统的各种信息
Jul 10 Python
python开发之list操作实例分析
Feb 22 Python
python Socket之客户端和服务端握手详解
Sep 18 Python
python导出hive数据表的schema实例代码
Jan 22 Python
Python Series从0开始索引的方法
Nov 06 Python
pygame游戏之旅 如何制作游戏障碍
Nov 20 Python
python3爬虫怎样构建请求header
Dec 23 Python
在python中将字符串转为json对象并取值的方法
Dec 31 Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
Jan 10 Python
浅谈django 重载str 方法
May 19 Python
Keras 使用 Lambda层详解
Jun 10 Python
Lombok插件安装(IDEA)及配置jar包使用详解
Nov 04 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
Ajax+PHP边学边练 之五 图片处理
2009/12/03 PHP
Thinkphp使用mongodb数据库实现多条件查询方法
2014/06/26 PHP
Laravel 5 学习笔记
2015/03/06 PHP
thinkphp3.x中session方法的用法分析
2016/05/20 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
2020/08/11 PHP
Code:findPosX 和 findPosY
2006/12/20 Javascript
js history对象简单实现返回和前进
2013/10/30 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
JS实现简单的顶部定时关闭层效果
2014/06/15 Javascript
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7
2014/06/16 Javascript
js canvas实现擦除动画
2016/07/16 Javascript
在线引用最新jquery文件的实现方法
2016/08/26 Javascript
Vue-Router实现页面正在加载特效方法示例
2017/02/12 Javascript
AngularJS之页面跳转Route实例代码
2017/03/10 Javascript
JS给按钮添加跳转功能类似a标签
2017/05/30 Javascript
bootstrap multiselect 多选功能实现方法
2017/06/05 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
2018/03/07 Javascript
详解Puppeteer 入门教程
2018/05/09 Javascript
axios的拦截请求与响应方法
2018/08/11 Javascript
vue实现打印功能的两种方法
2018/09/07 Javascript
layer更改皮肤的实现方法
2019/09/11 Javascript
vue实现带过渡效果的下拉菜单功能
2020/02/19 Javascript
JavaScript实现动态留言板
2020/03/16 Javascript
arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)
2021/01/28 Javascript
[01:25]DOTA2自定义游戏灵园鬼域等你踏足
2015/10/30 DOTA
Python实现抓取百度搜索结果页的网站标题信息
2015/01/22 Python
Python中用format函数格式化字符串的用法
2015/04/08 Python
python实现按任意键继续执行程序
2016/12/30 Python
对Django 转发和重定向的实例详解
2019/08/06 Python
Volcom法国官网:美国冲浪滑板品牌
2017/05/25 全球购物
ParcelABC西班牙:包裹运送和快递服务
2019/12/24 全球购物
一个C/C++编程面试题
2013/11/10 面试题
成龙霸王洗发水广告词
2014/03/14 职场文书
SQL Server基本使用和简单的CRUD操作
2021/04/05 SQL Server
MySQL读取JSON转换的方式
2022/03/18 MySQL
Android自定义scrollview实现回弹效果
2022/04/01 Java/Android