码迷,mamicode.com
首页 > 编程语言 > 详细

18式优雅你的Python

时间:2018-08-24 17:13:18      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:qos   gcd   ovf   换行   aix   oam   image   cbo   DDM   


本文来自读者梁云同学的投稿,公众号:Python与算法之美


一,优雅你的Jupyter


1,更改Jupyter Notebook初始工作路径


平凡方法:

在cmd中输入jupyter notebook --generate-config,然后找到生成的配置文件jupyter_notebook_config.py,在其中加入一条语句:


c.NotebookApp.notebook_dir =

 ‘F:\我的坚果云\PythonFiles‘ 


优雅方法:

新建文本文件,在其中输入以下内容:


F:

cd F:\我的坚果云\PythonFiles

jupyter notebook

pause


保存后将文件重命名为jupyter.cmd,双击该文件即可。


技术分享图片


2,获取函数帮助


平凡方法:

help()。

技术分享图片

优雅方法:

光标移动至函数名右侧(或选中函数名),按住Shift + Tab键弹出帮助文本框。


技术分享图片


3,修改多处的同一标识符名字


平凡方法:

逐个修改。


优雅方法:

按住Ctrl鼠标移动光标同时选中多处编辑位置,启动多行编辑。


技术分享图片



二,优雅你的赋值语句


4,为多个变量赋值


平凡方法:

逐一赋值。


技术分享图片


优雅方法:

使用元组语法同时赋值。


技术分享图片


5,序列解包


平凡方法:

使用下标访问逐一赋值。


技术分享图片


优雅方法:

序列自动解包。

技术分享图片



6,对象方法的嵌套


平凡方法:

定义中间变量,不嵌套。


技术分享图片


优雅方法:

使用对象方法嵌套,减少中间变量。


技术分享图片


三,优雅你的判断语句


7,单行if语句:if...else...三目运算符


平凡方法:

使用普通需要换行的if...else...语句。


技术分享图片

优雅方法:

使用单行if语句:if...else...三目运算符。


技术分享图片

8,区间判断


平凡方法:

使用and连接两次判断。


技术分享图片


优雅方法:

使用链式判断。

技术分享图片

9,判断是否为多个取值之一


平凡方法:

使用or连接多次相等判断。


技术分享图片



优雅方法:

使用关键字in


技术分享图片


10,判断是否为空列表,空字典,空字符串


平凡方法:

使用len函数判断长度是否大于0。


技术分享图片


优雅方法:

利用隐含类型转换直接判断


技术分享图片


11,判断诸多条件是否至少有一个成立


平凡方法:

使用or连接多次判断。


技术分享图片


优雅方法:

使用any函数。


技术分享图片


12,判断诸多条件是否全部成立


平凡方法:

使用and连接多次判断。


技术分享图片


优雅方法:

使用all函数。


技术分享图片


四,优雅你的循环语句


13,单行循环语句:推导式


平凡方法:

使用普通for循环。


技术分享图片

优雅方法:

使用推导式:[... for .... in ... if ... ]。


技术分享图片


14,同时遍历序列的元素和元素下标


平凡方法:

遍历下标,并用下标访问元素。


技术分享图片

优雅方法:

使用enumerate函数生成下标和元素对。


技术分享图片


15,显示循环进度


平凡方法:

直接不断print下标。该方法容易导致输出刷屏。


技术分享图片


优雅方法:

print下标后设置不换行并使用‘\r’回车到行首以避免输出刷屏。


技术分享图片


优雅方法加强版:

定义progress_bar函数,直观显示进度条。


技术分享图片



五,优雅你的函数


16,使用lambda匿名函数实现简单的函数


平凡方法:

使用def关键字定义函数。


技术分享图片


优雅方法:

使用lambda匿名函数。


技术分享图片


17,使用yield生成器收集系列值


平凡方法:

在函数中直接用列表收集系列值。


技术分享图片



优雅方法:

使用yield生成器收集系列值。生成器具有惰性计算特点,被迭代才逐个计算输出值。


技术分享图片


18,使用装饰器给函数添加插入日志,性能测试等非核心功能


平凡方法:

将插入日志,性能测试等非核心功能直接内嵌到函数定义中。


技术分享图片


优雅方法:

使用装饰器扩展函数的非核心功能。装饰器函数可以一次定义,到处装饰。


技术分享图片

技术分享图片
关注公众号,提高Python

18式优雅你的Python

标签:qos   gcd   ovf   换行   aix   oam   image   cbo   DDM   

原文地址:https://www.cnblogs.com/amou/p/9530643.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!