18式优雅你的Python
本文来自读者梁云同学的投稿,公众号: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,使用装饰器给函数添加插入日志,性能测试等非核心功能
平凡方法:
将插入日志,性能测试等非核心功能直接内嵌到函数定义中。
优雅方法:
使用装饰器扩展函数的非核心功能。装饰器函数可以一次定义,到处装饰。
18式优雅你的Python的更多相关文章
- 飞跃式发展的后现代 Python 世界
飞跃式发展的后现代Python世界 如果现代Python有一个标志性特性,那么简单说来便是Python对自身定义的越来越模糊.在过去的几年的许多项目都极大拓展了Python,并重建了“Python”本 ...
- 优雅的使用Python之软件管理
上篇<优雅的使用python之环境管理>http://dwz.cn/wTsOr,如何管理python环境,有了一个干净的python环境之后,就不可避免的安装python软件包(pytho ...
- 优雅的使用python之环境管理
优雅的使用python之环境管理 缘起 情景1:不同python版本的管理 同一电脑上的多个python版本之前的管理,为了突出问题的普遍存在,下面是有人在segmentfault上提的问题. 摘自: ...
- 如何优雅地退出python程序
如何优雅地退出python程序 一个单模的python程序,启动之后要能够优雅地关闭.即当用户按Ctrl+C或者kill pid的时候,程序都能从容关闭.实现起来非常简单. is_running = ...
- Unbuntu 18.04 LTS 环境下Python安装GDAL组件
Unbuntu 18.04 LTS 环境下Python安装GDAL组件 // 非必要 sudo add-apt-repository ppa:ubuntugis/ppa sudo apt-get up ...
- 程序员式优雅表白,教你用python代码画爱心
还能用python代码画爱心?还有这种操作?这是什么原理? 不相信python代码可以画爱心?先来一张效果图来看看效果吧! 用python代码画爱心的思路是怎样的? 1.怎么画心形曲线 2.怎么填满心 ...
- 如何优雅地实现Python通用多线程/进程并行模块
当单线程性能不足时,我们通常会使用多线程/多进程去加速运行.而这些代码往往多得令人绝望,需要考虑: 如何创建线程执行的函数? 如何收集结果?若希望结果从子线程返回主线程,则还要使用队列 如何取消执行? ...
- python编程【环境篇】- 如何优雅的管理python的版本
简介 之前的文章(Python2还是python3 )中我们提到,建议现在大家都采用python3,因为python2在今年年底将不在维护.但在实际的开发和使用python过程中,我们避免不了还得用到 ...
- 如何优雅的使用python中的代码注释
在编写代码时,确保您的代码易于被其他人理解时很重要的,给变量,函数起合适的名字以及合理的组织代码都是很好的方法. 使用代码注释时增加代码可读性的另一种方便简单且重要的方法! 1.为什么代码注释如此重要 ...
随机推荐
- C++基础--sizeof和strlen的区别
首先,来运行一段程序: #include "stdafx.h" #include <stdio.h> #include <string.h> int mai ...
- Struts2_模块包含
<include file="login.xml"/> 包含其他的模块. 项目开发中,分模块协调开发有用. 链接: http://pan.baidu.com/s/1bo ...
- 当你的域名是数字开头时如何命名java包路径
例如:域名是1001y.net 理想的包路径是net.1001y,但由于java命名规范的问题,首字母不能为数字,这时我们只有两种选择: 1,net.$1001y 使用$符号作为首字母. 2,net. ...
- Sundy_Android开发深入浅出和高级开发视频教程
Sundy_Android开发深入浅出和高级开发视频教程 放于播音员的网盘中又名:android零基础到高级软件开发工程师培训课程全集(400多讲) 1.课程介绍 2.java重点难点 3.版本控制- ...
- outlook添加邮箱账户时,测试成功,下一步显示请求失败
今天在给公司同事添加邮箱账户时,全部设置正常,测试也成功了,但是点击下一步时,出现了请求失败的提示. 1. 看到这个提示,我首先重启了一下outlook,发现进去添加还是不行 2.重启了电 ...
- May 03rd 2017 Week 18th Wednesday
Truth needs no colour; beauty, no pencil. 真理不需要色彩,美丽不需要涂饰. There is no absoulte truth and everlastin ...
- 使用ABAP Push Channel(APC)开发的乒乓球游戏,可双打
url: https://:/sap/bc/apc_test/ping_pong/game 或者事务码SICF, 输入ping_pong, 按F8: 选中搜索结果,点右键选择Test,即可打开url. ...
- DOM笔记(十一):JavaScript对象的基本认识和创建
一.什么是对象? 面 向对象(Object-Oriented,OO)的语言有一个标志,那就是都有类的概念,例如C++.Java等:但是ECMAScript没有类的概 念.ECMAScript-262把 ...
- MPMoviePlayerViewController和MPMoviePlayerController的使用
ios播放视频文件一般使用 MPMoviePlayerViewController 和 MPMoviePlayerController.前者是一个view,后者是个Controller.差别就是MPM ...
- 【转】普及一下ARM和X86的区别,鉴于ATOM已经入驻手机,AMD也会…
这里简单来谈一下,ARM和X86之间为什么不太具有可比性的问题.要搞清楚这个问题首先要明白什么是架构,之前也有很多人提到了架构不同,但架构是什么意思?它是一个比较抽象的概念,不太容易用几句话就解释清楚 ...