Python 的隐藏特性 [英] Hidden features of Python
本文介绍了Python 的隐藏特性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Python 编程语言有哪些鲜为人知但有用的特性?
- 尽量限制对 Python 核心的回答.
- 每个答案一个功能.
- 提供该功能的示例和简短描述,而不仅仅是文档链接.
- 使用标题作为第一行来标记特征.
答案的快速链接:
- 参数解包
- 大括号
- 链接比较运算符
- 装饰器
- 默认参数陷阱/可变默认参数的危险
- 描述符
- 字典默认
.get
值 - 文档字符串测试
- 省略号切片语法
- 枚举
- For/else
- 作为 iter() 参数的函数
- 生成器表达式
导入这个
- 就地价值交换
- 列表步进
__missing__
项目- 多行正则表达式
- 命名字符串格式
- 嵌套列表/生成器推导式
- 运行时的新类型
.pth
文件- ROT13 编码
- 正则表达式调试
- 发送给生成器
- 交互式解释器中的制表符补全
- 三元表达式
try/except/else
- 解包+
print()
函数 with
声明
解决方案
链式比较运算符:
<预><代码>>>>x = 5>>>1 <×<10真的>>>10<×<20错误的>>>×<10如果你认为它在做 1 <x
,结果为 True
,然后比较 True <10
,这也是True
,那么不,那真的不是发生的事情(见最后一个例子.)它真的翻译成1 <x 和 x <10
和 x <10 和 10 <x * 10 和 x * 10 <100
,但输入较少,每个术语只计算一次.
What are the lesser-known but useful features of the Python programming language?
- Try to limit answers to Python core.
- One feature per answer.
- Give an example and short description of the feature, not just a link to documentation.
- Label the feature using a title as the first line.
Quick links to answers:
- Argument Unpacking
- Braces
- Chaining Comparison Operators
- Decorators
- Default Argument Gotchas / Dangers of Mutable Default arguments
- Descriptors
- Dictionary default
.get
value - Docstring Tests
- Ellipsis Slicing Syntax
- Enumeration
- For/else
- Function as iter() argument
- Generator expressions
import this
- In Place Value Swapping
- List stepping
__missing__
items- Multi-line Regex
- Named string formatting
- Nested list/generator comprehensions
- New types at runtime
.pth
files- ROT13 Encoding
- Regex Debugging
- Sending to Generators
- Tab Completion in Interactive Interpreter
- Ternary Expression
try/except/else
- Unpacking+
print()
function with
statement
解决方案
Chaining comparison operators:
>>> x = 5
>>> 1 < x < 10
True
>>> 10 < x < 20
False
>>> x < 10 < x*10 < 100
True
>>> 10 > x <= 9
True
>>> 5 == x > 4
True
In case you're thinking it's doing 1 < x
, which comes out as True
, and then comparing True < 10
, which is also True
, then no, that's really not what happens (see the last example.) It's really translating into 1 < x and x < 10
, and x < 10 and 10 < x * 10 and x*10 < 100
, but with less typing and each term is only evaluated once.
这篇关于Python 的隐藏特性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文