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中尾递归用法实例详解
Apr 28 Python
将Django框架和遗留的Web应用集成的方法
Jul 24 Python
python如何实现excel数据添加到mongodb
Jul 30 Python
kaggle+mnist实现手写字体识别
Jul 26 Python
Python爬虫PyQuery库基本用法入门教程
Aug 04 Python
在Python中,不用while和for循环遍历列表的实例
Feb 20 Python
python处理excel绘制雷达图
Oct 18 Python
Python input函数使用实例解析
Nov 22 Python
python实现智能语音天气预报
Dec 02 Python
python shutil文件操作工具使用实例分析
Dec 25 Python
使用python的pyplot绘制函数实例
Feb 13 Python
PHP基于phpqrcode类库生成二维码过程解析
May 28 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
NOD32 v2.70.32 简体中文封装版 提供下载了
2007/02/27 PHP
redirect_uri参数错误的解决方法(必看)
2017/02/16 PHP
基于jQuery的计算文本框字数的代码
2012/06/06 Javascript
Jquery实现列表(隔行换色,全选,鼠标滑过当前行)效果实例
2013/06/09 Javascript
js实现不提交表单获取单选按钮值的方法
2015/08/21 Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
2016/02/25 Javascript
JS验证 只能输入小数点,数字,负数的实现方法
2016/10/07 Javascript
js 判断附件后缀的简单实现方法
2016/10/11 Javascript
JavaScript简单生成 N~M 之间随机数的方法
2017/01/13 Javascript
基于jquery实现左右上下移动效果
2018/05/02 jQuery
AngularJS中的作用域实例分析
2018/05/16 Javascript
vue2中引用及使用 better-scroll的方法详解
2018/11/15 Javascript
Vue加载json文件的方法简单示例
2019/01/28 Javascript
浅谈express.js框架中间件(middleware)
2019/04/07 Javascript
Vuex的实战使用详解
2019/10/31 Javascript
Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求
2020/09/01 Javascript
Django中的“惰性翻译”方法的相关使用
2015/07/27 Python
python中print()函数的“,”与java中System.out.print()函数中的“+”功能详解
2017/11/24 Python
通过Pandas读取大文件的实例
2018/06/07 Python
python3实现爬取淘宝美食代码分享
2018/09/23 Python
python中pika模块问题的深入探究
2018/10/13 Python
戴尔英国官网:Dell英国
2017/05/27 全球购物
会计专业推荐信
2013/10/29 职场文书
心理健康教育心得体会
2013/12/29 职场文书
个性与发展自我评价
2014/02/11 职场文书
禁毒宣传工作方案
2014/05/23 职场文书
体育节口号
2014/06/19 职场文书
基层党员对照检查材料
2014/08/25 职场文书
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
学校拾金不昧表扬信
2015/01/16 职场文书
2015年五一劳动节活动总结
2015/02/09 职场文书
2015年政府采购工作总结
2015/05/21 职场文书
李强为自己工作观后感
2015/06/11 职场文书
军训通讯稿范文
2015/07/18 职场文书
创业计划书之便利店
2019/09/05 职场文书
MySQL系列之十三 MySQL的复制
2021/07/02 MySQL