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 相关文章推荐
使用wxPython获取系统剪贴板中的数据的教程
May 06 Python
Python编程之字符串模板(Template)用法实例分析
Jul 22 Python
python3实现钉钉消息推送的方法示例
Mar 14 Python
20行python代码实现人脸识别
May 05 Python
详解Python中打乱列表顺序random.shuffle()的使用方法
Nov 11 Python
pytorch ImageFolder的覆写实例
Feb 20 Python
python使用梯度下降算法实现一个多线性回归
Mar 24 Python
python 画图 图例自由定义方式
Apr 17 Python
python如何输出反斜杠
Jun 18 Python
python实现邮件循环自动发件功能
Sep 11 Python
python 调用API接口 获取和解析 Json数据
Sep 28 Python
基于Python爬取素材网站音频文件
Oct 21 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 的 __FILE__ 常量
2007/01/15 PHP
PHP生成指定长度随机数最简洁的方法
2014/07/14 PHP
反射调用private方法实践(php、java)
2015/12/21 PHP
PHP运行模式汇总
2016/11/06 PHP
js脚本学习 比较实用的基础
2006/09/07 Javascript
jquery form表单提交插件asp.net后台中文解码
2010/06/12 Javascript
关于javascript DOM事件模型的两件事
2010/07/22 Javascript
js获取url参数代码实例分享(JS操作URL)
2013/12/13 Javascript
JavaScript数组方法总结分析
2016/05/06 Javascript
全面接触神奇的Bootstrap导航条实战篇
2016/08/01 Javascript
js中的DOM模拟购物车功能
2017/03/22 Javascript
JS实现分页浏览横向图片(类轮播)实例代码
2017/11/06 Javascript
详解Vue CLI3配置解析之css.extract
2018/09/14 Javascript
js new Date()实例测试
2019/10/31 Javascript
Vue+Java 通过websocket实现服务器与客户端双向通信操作
2020/09/22 Javascript
python之import机制详解
2014/07/03 Python
跟老齐学Python之模块的加载
2014/10/24 Python
零基础写python爬虫之神器正则表达式
2014/11/06 Python
理解Python中函数的参数
2015/04/27 Python
Python模拟用户登录验证
2017/09/11 Python
Django框架基础模板标签与filter使用方法详解
2019/07/23 Python
pytorch 图像预处理之减去均值,除以方差的实例
2020/01/02 Python
python3 Scrapy爬虫框架ip代理配置的方法
2020/01/17 Python
python+opencv3生成一个自定义纯色图教程
2020/02/19 Python
使用jupyter notebook直接打开.md格式的文件
2020/04/10 Python
Python turtle库的画笔控制说明
2020/06/28 Python
瑞典首都斯德哥尔摩的多元奢侈时尚品牌:Acne Studios
2017/07/09 全球购物
海滩咖啡馆:Beach Cafe
2018/02/02 全球购物
大课间活动制度
2014/01/18 职场文书
鼓励运动员的广播稿
2014/02/08 职场文书
护理目标管理责任书
2014/07/25 职场文书
优秀党员申报材料
2014/12/18 职场文书
教师节联欢会主持词
2015/07/04 职场文书
python b站视频下载的五种版本
2021/05/27 Python
Windows环境下实现批量执行Sql文件
2021/10/05 SQL Server
使用Docker容器部署rocketmq单机的全过程
2022/04/03 Servers