Python 你会考虑什么样的实践?蟒蛇的;?
如果你在谷歌上搜索“pythonic”,你会发现很多。这里有很多关于stackoverflow的问题,询问如何以pythonoic的方式来实现这一点和那一点,所以收集一些不错的pythonoic代码示例就很好了 正如我在 是对最惯用代码的描述。这不仅意味着代码对其他程序员来说很容易理解,而且通常也是使用Python最有效的方法 “Pythonic”只是指遵循常见的Python习惯用法 只需遵循Python的禅宗:Python 你会考虑什么样的实践?蟒蛇的;?,python,Python,如果你在谷歌上搜索“pythonic”,你会发现很多。这里有很多关于stackoverflow的问题,询问如何以pythonoic的方式来实现这一点和那一点,所以收集一些不错的pythonoic代码示例就很好了 正如我在 是对最惯用代码的描述。这不仅意味着代码对其他程序员来说很容易理解,而且通常也是使用Python最有效的方法 “Pythonic”只是指遵循常见的Python习惯用法 只需遵循Python的禅宗: 美胜于丑 显式比隐式好 简单总比复杂好 复杂总比复杂好 平的比嵌套的好 稀疏比密
- 美胜于丑
- 显式比隐式好
- 简单总比复杂好
- 复杂总比复杂好
- 平的比嵌套的好
- 稀疏比密集好
- 可读性很重要
- 特殊情况不足以违反规则
- 虽然实用胜过纯洁
- 错误永远不应该悄无声息地过去
- 除非明确沉默
- 面对模棱两可的情况,拒绝猜测的诱惑
- 应该有一个——最好只有一个——显而易见的方法来做到这一点
- 虽然这种方式一开始可能并不明显,除非你是荷兰人
- 现在总比没有好
- 虽然永远不会比现在更好
- 如果实现很难解释,那就不是个好主意
- 如果实现很容易解释,这可能是一个好主意
- 名称空间是一个非常好的主意——让我们做更多的工作吧李>
*
和**
:
使用解包运算符进行换位*
解包操作符是一个非常强大的工具,它允许我们“解包”列表。我不知道其他语言中是否有类似的语言
此运算符可以有非常有趣和有用的应用程序:
a = [[1,2],[3,4]]
a_transpose = zip(*a)
使用元组解包运算符的词汇连接**
再说一次,我不知道其他语言中有任何等价物。与上面一样,我们可以将此运算符用于许多事情,包括词汇连接:
a = {1:2,2:2}
b = {2:37,3:42}
a = dict(a,**b) # a is now {1:2,2:37,3:42}
投票结束:这里没有真正的问题。如果它可读并产生预期的输出,那么它就是Pythonic。
a = {1:2,2:2}
b = {2:37,3:42}
a = dict(a,**b) # a is now {1:2,2:37,3:42}