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 相关文章推荐
github配置使用指南
Nov 18 Python
Python读取图片为16进制表示简单代码
Jan 19 Python
python3+PyQt5泛型委托详解
Apr 24 Python
详解Python3中ceil()函数用法
Feb 19 Python
Python绘制堆叠柱状图的实例
Jul 09 Python
pandas 空数据处理方法详解
Nov 02 Python
Python matplotlib以日期为x轴作图代码实例
Nov 22 Python
解决pycharm 安装numpy失败的问题
Dec 05 Python
tensorflow 重置/清除计算图的实现
Jan 19 Python
python如何通过闭包实现计算器的功能
Feb 22 Python
python xlwt模块的使用解析
Apr 13 Python
Python实现制作销售数据可视化看板详解
Nov 27 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
咖啡知识 咖啡养豆要养多久 排气又是什么
2021/03/06 新手入门
php的access操作类
2008/04/09 PHP
队列在编程中的实际应用(php)
2010/09/04 PHP
如何用php获取文件名后缀
2013/06/09 PHP
php获取301跳转URL简单实例
2013/12/16 PHP
php的lavarel框架中join和orWhere的用法
2020/12/28 PHP
关于javascript 回调函数中变量作用域的讨论
2009/09/11 Javascript
js数组依据下标删除元素
2015/04/14 Javascript
AngularJS directive返回对象属性详解
2016/03/28 Javascript
Vue.js第四天学习笔记
2016/12/02 Javascript
nodejs入门教程六:express模块用法示例
2017/04/24 NodeJs
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
AngularJs导出数据到Excel的示例代码
2017/08/11 Javascript
JS forEach跳出循环2种实现方法
2020/06/24 Javascript
js节流防抖应用场景,以及在vue中节流防抖的具体实现操作
2020/09/21 Javascript
python pdb调试方法分享
2014/01/21 Python
Python import自定义模块方法
2015/02/12 Python
python实现中文分词FMM算法实例
2015/07/10 Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
2017/05/08 Python
Python使用pickle模块存储数据报错解决示例代码
2018/01/26 Python
通过cmd进入python的实例操作
2019/06/26 Python
Python 中如何实现参数化测试的方法示例
2019/12/10 Python
Python tkinter三种布局实例详解
2020/01/06 Python
python实现飞船大战
2020/04/24 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
2020/08/17 Python
pytorch加载语音类自定义数据集的方法教程
2020/11/10 Python
Pyqt助手安装PyQt5帮助文档过程图解
2020/11/20 Python
Django如何重置migration的几种情景
2021/02/24 Python
HTML5 HTMLCollection和NodeList的区别详解
2020/04/29 HTML / CSS
台湾深度自由行旅游平台:Tripbaa趣吧
2017/10/10 全球购物
L’Artisan Parfumeur官网:法国香水品牌
2020/08/11 全球购物
应届大学生自荐信
2013/12/05 职场文书
主题党日活动总结
2014/07/08 职场文书
房屋买卖授权委托书
2014/09/27 职场文书
2015年组织部工作总结
2015/04/03 职场文书
采购部2015年度工作总结
2015/07/24 职场文书