zoukankan      html  css  js  c++  java
  • 18式优雅你的Python

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

     

    一,优雅你的Jupyter

     

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

     

    平凡方法:

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

     

     

    优雅方法:

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

     

    F:

    cd F:我的坚果云PythonFiles

    jupyter notebook

    pause

     

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

     

    img

     

    2,获取函数帮助

     

    平凡方法:

    help()。

    img

    优雅方法:

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

     

    img

     

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

     

    平凡方法:

    逐个修改。

     

    优雅方法:

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

    img

     

    二,优雅你的赋值语句

     

    4,为多个变量赋值

     

    平凡方法:

    逐一赋值。

     

    img

     

    优雅方法:

    使用元组语法同时赋值。

     

    img

     

    5,序列解包

     

    平凡方法:

    使用下标访问逐一赋值。

     

    img

     

    优雅方法:

    序列自动解包。

    img

     

     

    6,对象方法的嵌套

     

    平凡方法:

    定义中间变量,不嵌套。

     

    img

     

    优雅方法:

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

     

    img

     

    三,优雅你的判断语句

     

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

     

    平凡方法:

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

     

    img

    优雅方法:

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

     

    img

    8,区间判断

     

    平凡方法:

    使用and连接两次判断。

     

    img

     

    优雅方法:

    使用链式判断。

    img

     

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

     

    平凡方法:

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

     

    img

     

     

    优雅方法:

    使用关键字in

     

    img

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

     

    平凡方法:

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

     

    img

     

    优雅方法:

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

     

    img

     

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

     

    平凡方法:

    使用or连接多次判断。

     

    img

     

    优雅方法:

    使用any函数。

     

    img

     

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

     

    平凡方法:

    使用and连接多次判断。

     

    img

     

    优雅方法:

    使用all函数。

     

    img

    四,优雅你的循环语句

     

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

     

    平凡方法:

    使用普通for循环。

     

    img

    优雅方法:

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

     

    img

     

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

     

    平凡方法:

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

     

    img

    优雅方法:

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

     

    img

     

    15,显示循环进度

     

    平凡方法:

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

     

    img

     

    优雅方法:

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

     

    img

     

    优雅方法加强版:

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

     

    img

    五,优雅你的函数

     

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

    平凡方法:

    使用def关键字定义函数。

     

    img

     

    优雅方法:

    使用lambda匿名函数。

     

    img

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

     

    平凡方法:

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

     

    img

     

     

    优雅方法:

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

     

    img

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

     

    平凡方法:

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

     

    img

     

    优雅方法:

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

     

    img

     

     

    img

     

  • 相关阅读:
    Web Components 是什么
    HAL_RTC_MspInit Msp指代什么?
    C 枚举 相同的值
    EntityFramework Core并发深挖详解,一纸长文,你准备好看完了吗?
    ASP.NET Core MVC之ViewComponents(视图组件)知多少?
    .NET Core 1.1日期解析无APi、SQL Server数据转换JSON
    SQL Server-字字珠玑,一纸详文,完全理解SERIALIZABLE最高隔离级别(基础系列收尾篇)
    SQL Server-聚焦NOLOCK、UPDLOCK、HOLDLOCK、READPAST你弄懂多少?(三十四)
    SQL Server-聚焦深入理解死锁以及避免死锁建议(三十三)
    ASP.NET Core MVC上传、导入、导出知多少
  • 原文地址:https://www.cnblogs.com/amou/p/9530932.html
Copyright © 2011-2022 走看看