Python编程语言的鲜为人知的但有用的功能是什么?
尝试限制Python核心的答案。
每个答案一个功能。
给出一个示例和功能的简短描述,而不仅仅是文档的链接。
作为第一行使用标题标记该功能。
快速链接到答案:
参数拆包
背带
链接比较运算符
装饰
默认参数陷阱/可变默认参数的危险
叙
字典默认.get值
文档字符串测试
省略切片语法
列举
对于/其他
函数作为iter()参数
生成器表达式
import this
就地价值交换
列出步进
__missing__项
多行正则表达式
命名的字符串格式
嵌套列表/发生器理解
运行时的新类型
.pth文件
ROT13编码
正则表达式调试
发送给发电机
交互式解释器中的选项卡完成
三元表达
try/except/else
解包+ print()功能
with声明
负面回合
round()函数将浮点数round()为以十进制数字给出的精度,但精度可能为负数:>>> str(round(1234.5678, -2))
'1200.0'
>>> str(round(1234.5678, 2))
'1234.57'
注意: round()总是返回上面例子中使用的float, str() ,因为浮点数学是不精确的,在2.x下,第二个例子可以打印为1234.5700000000001 。 另请参阅decimal模块。
乘以一个布尔值
我一直在web开发中做的一件事是可选地打印HTML参数。 我们都看过其他语言的代码:class=''
在Python中,你可以乘以一个布尔值,它完全符合你的期望:class=''
这是因为乘法操作会将布尔值强制为一个整数(0表示False,1表示True),而python将字符串乘以int将重复N次。
Python的高级切片操作有一个几乎不知道的语法元素,省略号:>>> class C(object):
... def __getitem__(self, item):
... return item
...
>>> C()[1:2, ..., 3]
(slice(1, 2, None), Ellipsis, 3)
不幸的是,它仅仅是有用的,因为只有在涉及元组时才支持省略号。
链接地址: http://www.djcxy.com/p/7411.html