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的Twisted框架编写非阻塞程序的代码示例
May 25 Python
完美解决Python 2.7不能正常使用pip install的问题
Jun 12 Python
python版本单链表实现代码
Sep 28 Python
python爬虫简单的添加代理进行访问的实现代码
Apr 04 Python
cProfile Python性能分析工具使用详解
Jul 22 Python
opencv3/C++图像像素操作详解
Dec 10 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
Jan 13 Python
python多项式拟合之np.polyfit 和 np.polyld详解
Feb 18 Python
pytorch 使用加载训练好的模型做inference
Feb 20 Python
Python装饰器的应用场景代码总结
Apr 10 Python
python实现监听键盘
Apr 26 Python
教你怎么用python selenium实现自动化测试
May 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
PHP连接access数据库
2008/03/27 PHP
探讨php中header的用法详解
2013/06/07 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
2017/03/06 PHP
thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
2019/08/13 PHP
thinkphp 框架数据库切换实现方法分析
2020/05/18 PHP
JS 拼图游戏 面向对象,注释完整。
2009/06/18 Javascript
jquery统计复选框选中示例
2013/11/05 Javascript
angularJS 中input示例分享
2015/02/09 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
2017/07/04 Javascript
Node.js中sequelize时区的配置方法
2017/12/10 Javascript
Vue+SpringBoot开发V部落博客管理平台
2017/12/27 Javascript
简单的Vue SSR的示例代码
2018/01/12 Javascript
vue插件实现v-model功能
2018/09/10 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
typescript nodejs 依赖注入实现方法代码详解
2019/07/21 NodeJs
解决layer图标icon不加载的问题
2019/09/04 Javascript
vue实现防抖的实例代码
2021/01/11 Vue.js
Python中os和shutil模块实用方法集锦
2014/05/13 Python
通过实例浅析Python对比C语言的编程思想差异
2015/08/30 Python
python使用Apriori算法进行关联性解析
2017/12/21 Python
Python简单读写Xls格式文档的方法示例
2018/08/17 Python
Python3.5文件修改操作实例分析
2019/05/01 Python
Python的垃圾回收机制详解
2019/08/28 Python
Python3通过chmod修改目录或文件权限的方法示例
2020/06/08 Python
python按照list中字典的某key去重的示例代码
2020/10/13 Python
Python3爬虫ChromeDriver的安装实例
2021/02/06 Python
美国女鞋品牌:naturalizer(娜然)
2016/08/01 全球购物
英国复古和经典球衣网站:Vintage Football Shirts
2018/10/05 全球购物
中兴通讯全球官方网站:ZTE
2020/12/26 全球购物
同事打架检讨书
2014/02/04 职场文书
少先队入队活动方案
2014/02/08 职场文书
2014年元旦促销活动方案
2014/02/22 职场文书
国窖1573广告词
2014/03/21 职场文书
租赁协议书范本
2014/04/22 职场文书
公司担保书范文
2014/05/21 职场文书
2014年入党积极分子学习三中全会思想汇报
2014/09/13 职场文书