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模拟新浪微博登陆功能(新浪微博爬虫)
Dec 24 Python
Python tempfile模块学习笔记(临时文件)
May 25 Python
Python列表(list)常用操作方法小结
Feb 02 Python
Python isinstance函数介绍
Apr 14 Python
python实现在windows服务中新建进程的方法
Jun 30 Python
Python中 传递值 和 传递引用 的区别解析
Feb 22 Python
python使用matplotlib库生成随机漫步图
Aug 27 Python
Python API 自动化实战详解(纯代码)
Jun 11 Python
详解Django模版中加载静态文件配置方法
Jul 21 Python
Django多进程滚动日志问题解决方案
Dec 17 Python
如何清空python的变量
Jul 05 Python
python中如何打包用户自定义模块
Sep 23 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 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
2010/05/16 PHP
zend framework配置操作数据库实例分析
2012/12/06 PHP
简单谈谈php延迟静态绑定
2016/01/26 PHP
php日期操作技巧小结
2016/06/25 PHP
工作中常用到的JS表单验证代码(包括例子)
2010/11/11 Javascript
改变文件域的样式实现思路同时兼容ie、firefox
2013/10/23 Javascript
jQuery中ajax的load()方法用法实例
2014/12/26 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
JavaScript使用RegExp进行正则匹配的方法
2015/07/11 Javascript
jQuery Ajax 上传文件处理方式介绍(推荐)
2016/06/30 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
2017/01/19 Javascript
jquery ui sortable拖拽后保存位置
2017/04/27 jQuery
vue如何获取自定义元素属性参数值的方法
2019/05/14 Javascript
ionic2.0双击返回键退出应用
2019/09/17 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
2020/08/31 Javascript
[41:52]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第二场 2月22日
2021/03/11 DOTA
python中enumerate函数遍历元素用法分析
2016/03/11 Python
python爬虫中get和post方法介绍以及cookie作用
2018/02/08 Python
python表格存取的方法
2018/03/07 Python
使用TensorFlow对图像进行随机旋转的实现示例
2020/01/20 Python
Python爬虫分析微博热搜关键词的实现代码
2021/02/22 Python
5分钟让你掌握css3阴影、倒影、渐变小技巧(小编推荐)
2016/08/15 HTML / CSS
法国隐形眼镜网站:VisionDirect.fr
2020/03/03 全球购物
路由表示做什么用的?在linux环境中怎么来配置一条默认路由?
2013/06/07 面试题
Servlet如何得到服务器的信息
2015/12/22 面试题
人事主管岗位职责范本
2013/12/04 职场文书
超市营业员岗位职责
2013/12/20 职场文书
伊索寓言教学反思
2014/05/01 职场文书
社区党建工作方案
2014/06/10 职场文书
教师党员学习群众路线心得体会
2014/11/04 职场文书
工程移交协议书
2016/03/24 职场文书
财务年终工作总结大全
2019/06/20 职场文书
如何使用PyCharm及常用配置详解
2021/06/03 Python
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android
Python日志模块logging用法
2022/06/05 Python