本文来自读者梁云同学的投稿,公众号: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,使用装饰器给函数添加插入日志,性能测试等非核心功能

平凡方法:

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

优雅方法:

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

最新文章

  1. iOS开发之窥探UICollectionViewController(二) --详解CollectionView各种回调
  2. 慎用Assembly.LoadFile()和Assembly.LoadFrom()
  3. 【LoadRunner】OSGI性能测试实例
  4. VS VA助手补丁覆盖目录
  5. Iron man
  6. Windows下将程序打包为安装包(最为简易的方式)
  7. java生成验证码图片
  8. So many good projects for studying C programming lanuage.
  9. [转]Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
  10. Lightmapping
  11. oracle internal: VIEW: X$KCBKPFS - PreFetch Statistics - (9.0)
  12. C++析构函数为什么要为虚函数
  13. Android实例-利用WebBrowser实现浏览器(XE8+小米2)
  14. Android性能分析工具介绍
  15. zookeeper 集群 Cannot open channel to X at election address Error contacting service. It is probably not running.
  16. Android系统开发(2)——GDB调试工具
  17. effective java读书小记(一)创建和销毁对象
  18. javaScript基础的基础
  19. javascrip实现:若选中TreeView的父节点checkbox,则其子节点全部选中;子节点全部没选中,则父节点也会没选中。
  20. Java与算法之(12) - 老鼠再闯迷宫(广度优先算法)

热门文章

  1. Android设置TextView的行间距,EditText下划线
  2. Android studio 安装与配置【Android学习入门】
  3. 被遗忘的设计模式——空对象模式(Null Object Pattern)
  4. Java线程堆栈分析
  5. MySQL的prompt不生效的问题
  6. redis笔记(一)
  7. 使用python做最简单的爬虫
  8. C语言头文件怎么写?(转载)
  9. QR分解与最小二乘(转载自AndyJee)
  10. php5.3 yum安装升级版本到 php5.6