让你的python代码更加pythonic(简练、明确、优雅)

这篇文章主要介绍了让你的python代码更加pythonic(简练、明确、优雅),本文讲解的是一种让代码更加清晰、简练、明确、优雅的书写方法,需要的朋友可以参考下

何为pythonic?

pythonic如果翻译成中文的话就是很python。很+名词结构的用法在中国不少,比如:很娘,很国足,很CCTV等等。

我的理解为,很+名词表达了一种特殊和强调的意味。所以很python可以理解为:只有python能做到的,区别于其他语言的写法,其实就是python的惯用和特有写法。

置换两个变量的值。

很python的写法:

复制代码 代码如下:

a,b = b,a

不python的写法:

复制代码 代码如下:

temp = a
a = b
b = temp

上面的例子通过了元组的pack和unpack完成了对a,b的互换,避免了使用临时变量temp,而且只用了一行代码。

以下为了简略,我们用P表示pythonic的写法,NP表示non-pythonic的写法,当然此P-NP非彼P-NP。

为什么要追求pythonic?

相比于NP,P的写法简练,明确,优雅,绝大部分时候执行效率高,代码越少也就越不容易出错。我认为好的程序员在写代码时,应该追求代码的正确性,简洁性和可读性,这恰恰就是pythonic的精神所在。

对于具有其他编程语言经验而初涉Python的程序员(比如我自己)来说,在写Python代码时,认识到pythonic的写法,会带来更多的便利和高效,而本文的主要读者也将是这群程序员。

以下将给出P和NP的n种示例,供读者和自己参考,查阅。

本文最后会列出参考资料,这些参考资料在我看来都极具价值。

P vs. NP的示例

链式比较

P:

复制代码 代码如下:

a = 3
b = 1
 
1 <= b <= a <10  #True

NP:

复制代码 代码如下:

b >= 1 and b <= a and a <10 #true

P是小学生都能看懂的语法,简单直接省代码~

真值测试

P:

复制代码 代码如下:

name = 'Tim'
langs = ['AS3', 'Lua', 'C']
info = {'name': 'Tim', 'sex': 'Male', 'age':23 }   
 
if name and langs and info:
    print('All True!')  #All True!

以上就是让你的python代码更加pythonic(简练、明确、优雅)的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Lua