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进阶教程之异常处理
Aug 30 Python
python将图片文件转换成base64编码的方法
Mar 14 Python
Python读取键盘输入的2种方法
Jun 16 Python
Python算法应用实战之栈详解
Feb 04 Python
Python OpenCV实现图片上输出中文
Jan 22 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
Jul 27 Python
pycharm恢复默认设置或者是替换pycharm的解释器实例
Oct 29 Python
浅谈python脚本设置运行参数的方法
Dec 03 Python
python使用pdfminer解析pdf文件的方法示例
Dec 20 Python
如何给Python代码进行加密
Jan 10 Python
解决Pycharm 中遇到Unresolved reference 'sklearn'的问题
Jul 13 Python
PyTorch安装与基本使用详解
Aug 31 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基础教程 php内置函数实例教程
2012/08/21 PHP
通过缓存数据库结果提高PHP性能的原理介绍
2012/09/05 PHP
纯Javascript实现ping功能的方法
2015/03/20 Javascript
jQuery on()方法示例及jquery on()方法的优点
2015/08/27 Javascript
举例讲解JavaScript中将数组元素转换为字符串的方法
2015/10/25 Javascript
js中遍历Map对象的方法
2016/07/27 Javascript
原生js实现瀑布流布局
2017/03/08 Javascript
Bootstrap Table使用整理(一)
2017/06/09 Javascript
jQuery制作全屏宽度固定高度轮播图(实例讲解)
2017/07/08 jQuery
Vue的轮播图组件实现方法
2018/03/03 Javascript
Vue 去除路径中的#号
2018/04/19 Javascript
checkbox在vue中的用法小结
2018/11/13 Javascript
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
用Python的Tornado框架结合memcached页面改善博客性能
2015/04/24 Python
Python读大数据txt
2016/03/28 Python
浅析Python中的多条件排序实现
2016/06/07 Python
Python爬虫实战:分析《战狼2》豆瓣影评
2018/03/26 Python
python实现excel读写数据
2021/03/02 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
2018/05/08 Python
python使用thrift教程的方法示例
2019/03/21 Python
python 使用pygame工具包实现贪吃蛇游戏(多彩版)
2019/10/30 Python
python tornado使用流生成图片的例子
2019/11/18 Python
python多进程重复加载的解决方式
2019/12/13 Python
tensorflow对图像进行拼接的例子
2020/02/05 Python
使用Keras 实现查看model weights .h5 文件的内容
2020/06/09 Python
Python爬取股票信息,并可视化数据的示例
2020/09/26 Python
使用python对excel表格处理的一些小功能
2021/01/25 Python
利用HTML5 Canvas制作一个简单的打飞机游戏
2015/05/11 HTML / CSS
成人教育自我鉴定
2013/11/01 职场文书
餐饮业经理竞聘演讲稿
2014/01/14 职场文书
货车司机岗位职责
2014/03/18 职场文书
体育口号大全
2014/06/18 职场文书
艺术设计专业毕业生推荐信
2014/07/08 职场文书
遗嘱范文
2015/08/07 职场文书
爱国教育主题班会
2015/08/14 职场文书
学校2016年九九重阳节活动总结
2016/04/01 职场文书