首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

让你的 Python 代码优雅又地道

学Python最简单的方法是什么?推荐阅读:Python开发工程师成长魔法 译序 如果说优雅也有缺点的话,那就是你需要艰巨的工作才能得到它,需要良好的教育才能欣赏它。...—— Edsger Wybe Dijkstra 在Python社区文化的浇灌下,演化出了一种独特的代码风格,去指导如何正确地使用Python,这就是常说的pythonic。...一般说地道(idiomatic)的python代码,就是指这份代码很pythonic。Python的语法和标准库设计,处处契合着pythonic的思想。...然而什么是pythonic,就像什么是地道的汉语一样,切实存在但标准模糊。import this可以看到Tim Peters提出的Python之禅,它提供了指导思想。...注意:如果在Python 3里迭代一个字典你得显示地写:list(d.keys()),因为d.keys()返回的是一个“字典视图”(一个提供字典key的动态视图的迭代器)。详情请看文档。

1K100

让你的 Python 代码优雅又地道

—— Edsger Wybe Dijkstra 在Python社区文化的浇灌下,演化出了一种独特的代码风格,去指导如何正确地使用Python,这就是常说的pythonic。...一般说地道(idiomatic)的python代码,就是指这份代码很pythonic。Python的语法和标准库设计,处处契合着pythonic的思想。...然而什么是pythonic,就像什么是地道的汉语一样,切实存在但标准模糊。import this可以看到Tim Peters提出的Python之禅,它提供了指导思想。...注意:在Python 3中,izip改名为zip,并替换了原来的zip成为内置函数。...注意:如果在Python 3里迭代一个字典你得显示地写:list(d.keys()),因为d.keys()返回的是一个“字典视图”(一个提供字典key的动态视图的迭代器)。详情请看文档。

64500
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    让你的 Python 代码优雅又地道

    在Python社区文化的浇灌下,演化出了一种独特的代码风格,去指导如何正确地使用Python,这就是常说的pythonic。...一般说地道(idiomatic)的python代码,就是指这份代码很pythonic。Python的语法和标准库设计,处处契合着pythonic的思想。...然而什么是pythonic,就像什么是地道的汉语一样,切实存在但标准模糊。import this可以看到Tim Peters提出的Python之禅,它提供了指导思想。...注意:在Python 3中,izip改名为zip,并替换了原来的zip成为内置函数。...注意:如果在Python 3里迭代一个字典你得显示地写:list(d.keys()),因为d.keys()返回的是一个“字典视图”(一个提供字典key的动态视图的迭代器)。详情请看文档。

    2.1K50

    让你的 Python 代码优雅又地道

    —— Edsger Wybe Dijkstra 在Python社区文化的浇灌下,演化出了一种独特的代码风格,去指导如何正确地使用Python,这就是常说的pythonic。...一般说地道(idiomatic)的python代码,就是指这份代码很pythonic。Python的语法和标准库设计,处处契合着pythonic的思想。...然而什么是pythonic,就像什么是地道的汉语一样,切实存在但标准模糊。import this可以看到Tim Peters提出的Python之禅,它提供了指导思想。...注意:在Python 3中,izip改名为zip,并替换了原来的zip成为内置函数。...注意:如果在Python 3里迭代一个字典你得显示地写:list(d.keys()),因为d.keys()返回的是一个“字典视图”(一个提供字典key的动态视图的迭代器)。详情请看文档。

    79620

    如何写出优雅又地道的Python代码?

    —— Edsger Wybe Dijkstra 在Python社区文化的浇灌下,演化出了一种独特的代码风格,去指导如何正确地使用Python,这就是常说的pythonic。...一般说地道(idiomatic)的python代码,就是指这份代码很pythonic。Python的语法和标准库设计,处处契合着pythonic的思想。...然而什么是pythonic,就像什么是地道的汉语一样,切实存在但标准模糊。import this可以看到Tim Peters提出的Python之禅,它提供了指导思想。...注意:在Python 3中,izip改名为zip,并替换了原来的zip成为内置函数。...注意:如果在Python 3里迭代一个字典你得显示地写:list(d.keys()),因为d.keys()返回的是一个“字典视图”(一个提供字典key的动态视图的迭代器)。详情请看文档。

    1.1K100

    编写地道的Go代码

    作者:iCaptain 链接:https://www.jianshu.com/p/29543b642485 來源:简书 共 3264 字,阅读需 8 分钟 最地道的Go代码就是Go的标准库的代码,有空的时候可以多看看...Google的工程师是如何实现的。...*/或者//增加注释, //之后应该有个空格 如果想在每个文件的头部加上注释,需要在版权注释和Package前面加一个空行,否则版权注释会作为package的注释 // Copyright 2009 The...注:注释应该用一个完整的句子,注释的第一个单词应该是要注释的指示符,以便在godoc中容易查找; 注释应该以 . 结尾; 2....而不是写成: fmt.Errorf("Failed to write data") 因为,这些字符串可能和其他字符串相连接,组合后的字符串如果中间有大写字母开头的单词很突兀,除非这些首字母大写单词是固定使用的单词

    46930

    Python 工匠:编写地道循环的两个建议

    在循环语法方面,Python 表现的即传统又不传统。...在这篇文章里,我们将探讨什么是“地道”的循环代码,以及如何编写它们。 什么是“地道”的循环? “地道”这个词,通常被用来形容某人做某件事情时,非常符合当地传统,做的非常好。...既然“地道”这个词形容的经常是口音、做菜的口味这类实实在在的东西,那“地道”的循环代码又是什么意思呢?让我拿一个经典的例子来解释一下。...一个拥有三年 Python 开发经验的人会说,代码应该这么写: for i, name in enumerate(names): print(i, name) enumerate() 是 Python...但有时针对某类需求,似乎一定得写多层嵌套循环才行。

    56110

    Python 工匠:编写地道循环的两个建议

    今天分享的文章是“Python工匠”系列的第七篇,在循环的用法上,本文提出了几个非常有用的建议,推荐大家一读。...虽然循环的语法很简单,但是要写好它确并不容易。在这篇文章里,我们将探讨什么是“地道”的循环代码,以及如何编写它们。 什么是“地道”的循环?...那你可以对她说:“您的北京话说的真地道”。 既然“地道”这个词形容的经常是口音、做菜的口味这类实实在在的东西,那“地道”的循环代码又是什么意思呢?让我拿一个经典的例子来解释一下。...一个拥有三年 Python 开发经验的人会说,代码应该这么写: for i, name in enumerate(names): print(i, name) enumerate() 是 Python...但有时针对某类需求,似乎一定得写多层嵌套循环才行。

    79251

    Python 工匠:编写地道循环的两个建议

    在这篇文章里,我们将探讨什么是“地道”的循环代码,以及如何编写它们。---什么是“地道”的循环?“地道”这个词,通常被用来形容某人做某件事情时,非常符合当地传统,做的非常好。...既然“地道”这个词形容的经常是口音、做菜的口味这类实实在在的东西,那“地道”的循环代码又是什么意思呢?让我拿一个经典的例子来解释一下。...如果你去问一位刚学习 Python 一个月的人:“如何在遍历一个列表的同时获取当前下标?”。他可能会交出这样的代码:图片上面的循环虽然没错,但它确一点都不“地道”。...一个拥有三年 Python 开发经验的人会说,代码应该这么写:图片enumerate() 是 Python 的一个内置函数,它接收一个“可迭代”对象作为参数,然后返回一个不断生成 (当前下标,当前元素)...我会通过一些常见的代码场景,来详细解释它是如何改善循环代码的。1. 使用 product 扁平化多层嵌套循环虽然我们都知道“扁平的代码比嵌套的好”。但有时针对某类需求,似乎一定得写多层嵌套循环才行。

    1.1K10

    编写地道的Go代码

    最地道的Go代码就是Go的标准库的代码,有空的时候可以多看看Google的工程师是如何实现的。 1. 注释 可以通过/* ......*/或者//增加注释, //之后应该有个空格 如果想在每个文件的头部加上注释,需要在版权注释和Package前面加一个空行,否则版权注释会作为package的注释 // Copyright 2009 The...注:注释应该用一个完整的句子,注释的第一个单词应该是要注释的指示符,以便在godoc中容易查找; 注释应该以 . 结尾; 2....而不是写成: fmt.Errorf("Failed to write data") 因为,这些字符串可能和其他字符串相连接,组合后的字符串如果中间有大写字母开头的单词很突兀,除非这些首字母大写单词是固定使用的单词...一些名称 包名应该使用单数形式,比如util,model,而不是utils,models; Receiver的名称应该缩写,一般使用一个或两个字符作为Receiver的名称,如: func (f foo

    89460

    我是,地地道道农民的孩子。。。

    给他们讲了我父母的故事,上台讲的第一句话就是:我是地地道道农村的娃。。。 因为,我知道农村父母和其它父母一样,并不差甚至更艰辛!...现在国家对当兵的待遇也很好,退伍之后也会有很多福利政策,但是覆盖的人群只是很小的一部分。 最重要的是很难谈得上改变命运,只能说可以通过这个途径,变相的走向家乡体制内的生活。...3 仍然是最好的选择 虽然这些事实都是客观存在,但我仍然想说: 目前来讲,读书仍然是改变命运的最公平最好的方式,没有之一,特别特别对于农村的孩子来讲。...并不是大学能够学到什么知识,最重要的是让我们开阔了视野,知道人生还有那么多的选择。 因为在农村,就根本没有什么选择权。 不会笑曾经说过一句话,你的发展水平,就是你身边最亲近的 5 个人的平均值。...读书打开了我们的世界,有了选择的权利,知道世界有那么多的可能性,也就容易让我们设定好自己的目标。 人一旦有了目标,就不容易走偏,也容易走到终点。 4 改变命运 结合我自己的经历。

    28220

    Python if 和 for 的多种写

    a:b】这个写法,python只能常规的空行,缩进吗? 人生苦短,我用python,下面介绍几种if的方便的方法。...二维列表 c = [b,a][a>b] ········································································ 还有for 循环的...用list解析的 [对(x)的操作 for x in 集合 if 条件] [对(x,y)的操作 for x in 集合1 for y in 集合2 if 条件] 举一个简单的例子: x=[1,2,3,4...] y=[5,6,7,8] 我想让着两个list中的偶数分别相加,应该结果是2+6,4+6,2+8,4+8 下面用一句话来写 [a + b for a in x for b in y if a%2 =...= 0 and b%2 ==0] 之前的博客里用到的 import os from os.path import join, getsize def getdirsize(dir): size

    94040

    Python写的Python解释器(三)

    编译自:http://www.aosabook.org/en/500L/a-python-interpreter-written-in-python.html 作者:Taavi Burns 翻译:鸿 如有翻译问题或建议...变量需要一条指令来存储变量的值,STORE_NAME; 一条检索它的指令,LOAD_NAME; 以及变量名称到值的映射。 目前,先忽略命名空间和范围,将变量映射存储在解释器对象本身上。...现在指令中的参数意味着两个不同的东西了:既是“数字”列表的索引,也可以是“名称”列表的索引。 解释器通过检查正在执行的指令知道它应该是哪个索引。 实现这种逻辑(指令和参数的映射关系)。...这时可以利用Python的动态方法查找进行简化。 定义一个名为FOO的方法来执行名为FOO的指令,所以我们可以使用Python的getattr函数来实现方法查找,而不是使用大量的if语句。

    54630

    Python写的Python解释器(四)

    ,请公众号留言 真正的Python字节码 现在让进入真正的Python字节码中,从一个简单的函数开始: >>> def cond(): ......__code__.co_code是其对应的字节码。平时在编写Python代码时,这些属性几乎没有任何用处,但是现在就能发挥用途了。 >>> cond....通过使用Python标准库中的dis模块(dis是一个字节码反汇编工具,可以翻译低级代码,例如汇编代码或字节码,并以人类可读的方式进行打印出来。)...以第一条指令LOAD_CONST为例,第一列中的2给出的是Python源代码中的行号。第二列是字节码的索引,表示LOAD_CONST指令出现在零位。 第三列是指令本身,映射成人类可读的名称。...(Python的LOAD_CONST与之前玩具解释器的LOAD_VALUE相同,LOAD_FAST与LOAD_NAME功能相同。)因此,这六个字节代表第一行代码,x = 3。

    59830

    Python写的Python解释器(二)

    编译自:http://www.aosabook.org/en/500L/a-python-interpreter-written-in-python.html 作者:Taavi Burns 翻译:鸿 如有翻译问题或建议...("ADD_TWO_VALUES", None), ("PRINT_ANSWER", None)], "numbers": [7, 5] } Python...所以我们的指令集分为两部分:指令本身,以及指令需要的常量列表。现在让我们开始写解释器本身。解释器对象拥有一个列表来表示堆栈。该对象还具有描述执行每条指令的方法。...尽管这个解释器功能非常有限,但展现的数字相加的过程几乎就是真正的Python解释器所实现的。不过在这个小例子中,也有几件事需要注意。首先,部分指令需要参数。...在真正的Python字节码中,大约一半的指令有参数。参数与指令紧密结合。但是请注意,指令的参数不同于调用方法的参数。其次,注意ADD_TWO_VALUES指令不需要任何参数。

    65220
    领券