python 提高开发效率的5个小技巧


Posted in Python onOctober 19, 2020

很多时候学习是一种难者不会,会者不难的事情。

下面的5个python技巧是性价比极高的知识点,一学就会,不难但是相当管用。

使用交互模式

使用python -i xxxx.py可以直接进入python的交互模式,可以很方便的调用xxxx.py中定义的方法和函数,特别适合调试没有main()方法的文件,强力推荐。

使用pdb进行调试

很多从c++/java转到python的同学可能对python没有断点功能相当失望。

其实python自带的pdb库就可以解决这个问题。

看这个例子。

def sum(a, b):
  return a + b

a,b = 1, 2
import pdb
pdb.set_trace()
sum(a, b)

运行这个文件,这时候就会进入调试模式,按n运行下一行,按pp打印出任何你想打印的变量和值,按q退出。

-> sum(a, b)
(Pdb) pp a
1
(Pdb) pp b
2
(Pdb) n
--Return--
> pdb_example.py(7)<module>()->None
-> sum(a, b)
(Pdb) q
Traceback (most recent call last):
 File "pdb_example.py", line 7, in <module>
  sum(a, b)
 File "D:\dev\python3\lib\bdb.py", line 52, in trace_dispatch
  return self.dispatch_return(frame, arg)
 File "D:\dev\python3\lib\bdb.py", line 96, in dispatch_return
  if self.quitting: raise BdbQuit
bdb.BdbQuit

过程如上面所示,所以简单记住想调试的时候用下面这两行代码

import pdb
pdb.set_trace()

这应该比pycharm香吧。

使用pyenv

pyenv可以创建隔离的python开发环境,你可以实现在本机同时安装多个版本的三方库功能。

比如你可以在本机同时安装django0.1/django0.2诸如此类的版本,互不干扰。

详细的就不说明了,资料很多,大家可以去搜索一下。

列表/字典表达式

这是python里相当实用的一个功能。

比如下面这段代码

l = [1, 3, 5, 7, 9, 11]

res = []
for item in l:
  res.append(item + 1)
print(res)

这里我们把列表l里的每个数都加了1。当然这样写是没错的了,不过有更简单的办法。

print([i + 1 for i in l])

一行搞定,成熟老练。

我们甚至可以在列表表达式里增加条件判断,比如只把10以下的数加1并打印出来

print([i + 1 for i in l if i < 10])

相关资料也很多,强烈推荐去学习一下。

lambda

python里的匿名函数功能,熟悉js的同学应该感到亲切,特别适合用来做回调。

比如我们要过滤列表中所有的奇数

l = [i for i in range(1, 100)]
print(l)

def is_odd(num):
  return num % 2 != 0

print([i for i in filter(is_odd, l)])

这样定义了一个is_odd函数就显得??铝耍?蝗缡褂?ambda这样来。

print([i for i in filter(lambda x: x % 2 != 0, l)])

是不是看上去好多了?

总结

这里5个小技巧能极大的提升大家python的开发效率,如果有其他特多技巧,欢迎留言讨论。

以上就是python 提高开发效率的5个小技巧的详细内容,更多关于python 提高开发效率技巧的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python赋值操作方法分享
Mar 23 Python
Python实现提取文章摘要的方法
Apr 21 Python
python函数装饰器用法实例详解
Jun 04 Python
关于django 数据库迁移(migrate)应该知道的一些事
May 27 Python
Python双向循环链表实现方法分析
Jul 30 Python
python pandas模块基础学习详解
Jul 03 Python
Python Matplotlib 基于networkx画关系网络图
Jul 10 Python
python实现扫雷游戏的示例
Oct 20 Python
Python监听键盘和鼠标事件的示例代码
Nov 18 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
Jan 28 Python
Python 处理表格进行成绩排序的操作代码
Jul 26 Python
Python可视化学习之matplotlib内置单颜色
Feb 24 Python
python 利用toapi库自动生成api
Oct 19 #Python
协程Python 中实现多任务耗资源最小的方式
Oct 19 #Python
python爬取音频下载的示例代码
Oct 19 #Python
Python爬虫教程知识点总结
Oct 19 #Python
自定义Django_rest_framework_jwt登陆错误返回的解决
Oct 18 #Python
如何利用python读取micaps文件详解
Oct 18 #Python
Python中Yield的基本用法
Oct 18 #Python
You might like
php下删除字符串中HTML标签的函数
2008/08/27 PHP
简单的方法让你的后台登录更加安全(php中加session验证)
2012/08/22 PHP
php将图片保存入mysql数据库失败的解决方法
2014/12/27 PHP
THINKPHP在添加数据的时候获取主键id的值方法
2017/04/03 PHP
CI框架附属类用法分析
2018/12/26 PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
2019/12/03 PHP
JavaScript的Function详细
2006/11/14 Javascript
获取网站跟路径的javascript代码(站点及虚拟目录)
2009/10/20 Javascript
javascript利用初始化数据装配模版的实现代码
2010/11/17 Javascript
js jquery数组介绍
2012/07/15 Javascript
js时间比较示例分享(日期比较)
2014/03/05 Javascript
jquery动态更换设置背景图的方法
2014/03/25 Javascript
教你如何使用PHP输出中文JSON字符串
2014/05/22 Javascript
js实现进度条的方法
2015/02/13 Javascript
浅谈vue中慎用style的scoped属性
2017/11/28 Javascript
JS对象和字符串之间互换操作实例分析
2019/02/02 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
2019/07/10 Javascript
[02:00]最后,我终于出了辉耀
2018/03/27 DOTA
Python的dict字典结构操作方法学习笔记
2016/05/07 Python
总结用Pdb库调试Python的方式及常用的命令
2016/08/18 Python
Python基于identicon库创建类似Github上用的头像功能
2017/09/25 Python
用Python将结果保存为xlsx的方法
2019/01/28 Python
树莓派极简安装OpenCv的方法步骤
2019/10/10 Python
Pycharm新手使用教程(图文详解)
2020/09/17 Python
白俄罗斯在线大型超市:e-dostavka.by
2019/07/25 全球购物
时尚孕妇装:HATCH Collection
2019/09/24 全球购物
自荐信不宜过于夸大
2013/11/06 职场文书
岗位职责的定义
2013/11/10 职场文书
入党积极分子自我鉴定范文
2014/03/25 职场文书
医学专业大学生求职信
2014/07/12 职场文书
教师暑期培训感言
2014/08/15 职场文书
批评与自我批评发言稿
2014/10/15 职场文书
2014年客服工作总结范文
2014/11/13 职场文书
违反学校规则制度检讨书
2015/01/01 职场文书
管理人员岗位职责
2015/02/14 职场文书
Django数据库(SQlite)基本入门使用教程
2022/07/07 Python