Python拾遗:如何利用这些特性编写更简洁、易读或高效的代码?

2026-05-28 15:350阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计5090个文字,预计阅读时间需要21分钟。

Python拾遗:如何利用这些特性编写更简洁、易读或高效的代码?

本章将带领大家回顾那些被遗忘的地方。Python提供了许多功能,虽然并非全部都是必需的(不使用它们也能写出优秀的代码),但有时利用这些功能可以写出更简洁、更易读或更高效的代码。


本章我会带领大家回顾那些遗漏的地方。Python提供了不少并不是完全必需的功能(不用它们也能写出好代码),但有时候,使用这些功能可以写出更简洁、更可读或者更高效的代码,甚至有时候三者兼得。

19.1 条件表达式

我们在5.4节中见过条件语句。条件语句通常用来从两个值中选择一个。例如:

if x > 0:
  y = math.log(x)
else:
  y = float('nan')

这条语句检查x是否为正数。如果为正数,则计算math.log;如果为负数,math.log会抛出ValueError异常。为了避免程序停止,我们直接生成一个“NaN”,一个特殊的浮点数,代表“不是数”(Not A Number)。

我们可以用条件表达式来更简洁地写出这条语句:

y = math.log(x) if x > 0 else float('nan')

这条语句几乎可以用英语直接读出来:“y gets log-x if x is greater than 0; otherwise it gets NaN”(Y的值在x大于0时是math.log(x),否则是NaN)。

递归函数有时候可以用条件表达式重写。

阅读全文

本文共计5090个文字,预计阅读时间需要21分钟。

Python拾遗:如何利用这些特性编写更简洁、易读或高效的代码?

本章将带领大家回顾那些被遗忘的地方。Python提供了许多功能,虽然并非全部都是必需的(不使用它们也能写出优秀的代码),但有时利用这些功能可以写出更简洁、更易读或更高效的代码。


本章我会带领大家回顾那些遗漏的地方。Python提供了不少并不是完全必需的功能(不用它们也能写出好代码),但有时候,使用这些功能可以写出更简洁、更可读或者更高效的代码,甚至有时候三者兼得。

19.1 条件表达式

我们在5.4节中见过条件语句。条件语句通常用来从两个值中选择一个。例如:

if x > 0:
  y = math.log(x)
else:
  y = float('nan')

这条语句检查x是否为正数。如果为正数,则计算math.log;如果为负数,math.log会抛出ValueError异常。为了避免程序停止,我们直接生成一个“NaN”,一个特殊的浮点数,代表“不是数”(Not A Number)。

我们可以用条件表达式来更简洁地写出这条语句:

y = math.log(x) if x > 0 else float('nan')

这条语句几乎可以用英语直接读出来:“y gets log-x if x is greater than 0; otherwise it gets NaN”(Y的值在x大于0时是math.log(x),否则是NaN)。

递归函数有时候可以用条件表达式重写。

阅读全文