• Python的10个编程技巧,你不一定都知道


    文末有Python资料下载

    1. 原地交换两个数字

    Python 提供了一个直观的在一行代码中赋值与交换(变量值)的方法,请参见下面的示例:

    赋值的右侧形成了一个新的元组,左侧立即解析(unpack)那个(未被引用的)元组到变量和。

    一旦赋值完成,新的元组变成了未被引用状态并且被标记为可被垃圾回收,最终也完成了变量的交换。

    2. 链状比较操作符

    比较操作符的聚合是另一个有时很方便的技巧:

     

    3. 使用三元操作符来进行条件赋值

    三元操作符是 if-else 语句也就是条件操作符的一个快捷方式:

    [表达式为真的返回值] if [表达式] else [表达式为假的返回值]

    这里给出几个你可以用来使代码紧凑简洁的例子。下面的语句是说“如果 y 是 9,给 x 赋值 10,不然赋值为 20”。如果需要的话我们也可以延长这条操作链。

    x = 10 if (y == 9) else 20

    同样地,我们可以对类做这种操作:

    x = (classA if y == 1 else classB)(param1, param2)

    在上面的例子里 classA 与 classB 是两个类,其中一个类的构造函数会被调用。

    下面是另一个多个条件表达式链接起来用以计算最小值的例子:

    我们甚至可以在列表推导中使用三元运算符:

    4. 多行字符串

    基本的方式是使用源于 C 语言的反斜杠:

    另一个技巧是使用三引号:

    上面方法共有的问题是缺少合适的缩进,如果我们尝试缩进会在字符串中插入空格。所以最后的解决方案是将字符串分为多行并且将整个字符串包含在括号中:

    5. 存储列表元素到新的变量中

    我们可以使用列表来初始化多个变量,在解析列表时,变量的数目不应该超过列表中的元素个数:【译者注:元素个数与列表长度应该严格相同,不然会报错】

    6. 打印引入模块的文件路径

    如果你想知道引用到代码中模块的绝对路径,可以使用下面的技巧:

    7. 交互环境下的 “_” 操作符

    这是一个我们大多数人不知道的有用特性,在 Python 控制台,不论何时我们测试一个表达式或者调用一个方法,结果都会分配给一个临时变量: _(一个下划线)。

     

    “_” 是上一个执行的表达式的输出。

    8. 字典/集合推导

    与我们使用的列表推导相似,我们也可以使用字典/集合推导,它们使用起来简单且有效,下面是一个例子:

    注:两个语句中只有一个 <:> 的不同,另,在 Python3 中运行上述代码时,将 改为 。

    9. 调试脚本

    我们可以在 模块的帮助下在 Python 脚本中设置断点,下面是一个例子:

    import pdbpdb.set_trace()

    我们可以在脚本中任何位置指定 并且在那里设置一个断点,相当简便。

    10. 开启文件分享

    Python 允许运行一个 HTTP 服务器来从根路径共享文件,下面是开启服务器的命令:

    # Python 2

    python -m SimpleHTTPServer

    # Python 3

    python3 -m http.server

    上面的命令会在默认端口也就是 8000 开启一个服务器,你可以将一个自定义的端口号以最后一个参数的方式传递到上面的命令中。

    写在最后

    这个参考资料是pdf格式,手机也能看,文件已经打包好了,小编还整理了一些有深度的Python教程和参考资料,从入门到高级的都有,正在学习Python的同学可以下载学习学习。

     学子仔料腾讯文档-在线文档https://docs.qq.com/doc/DRnBCTnd2VWlWeEFu

  • 相关阅读:
    数据结构与算法(C语言版)P6---队列
    《C++程序设计原理与实践》笔记 第2章 Hello, World!
    【PyG】文档总结以及项目经验(持续更新
    Continual Pre-Training of Large Language Models: How to (re)warm your model?
    Uniapp小程序 时间段选择限制(开始时间 结束时间相互限制)
    基于Java的微小企业人事管理系统的设计与实现 毕业设计-附源码231012
    42、Spring AMQP DirectExchange
    毛胚房需要验收吗
    25、MySQL 导出数据
    Selenium+dddocr轻松解决Web自动化验证码识别
  • 原文地址:https://blog.csdn.net/nnn0245/article/details/128103815