python docoment 给出了标准的解决办法:
- >>> def report(when=None):
- ... if when is None:
- ... when = time.time()
- ... return when
- ...
- >>> report()
- 1500113446.746997
- >>> report()
- 1500113448.552873
第二: x += y vs x = x + y
一般来说,二者是等价的,至少看起来是等价的(这也是陷阱的定义 — 看起来都OK,但不必定精确)。
- >>> x=1;x += 1;print x
- 2
- >>> x=1;x = x+1;print x
- 2
- >>> x=[1];x+=[2];print x
- [1, 2]
- >>> x=[1];x=x+[2];print x
- [1, 2]
呃,被光速打脸了?
前者x指向一个新的对象,后者x在本来的对象是修改,当然,那种效不雅是精确的取决于应用处景。至少,得知道,二者有时刻并不一样
- A way around this is to use None as the default, and explicitly test for it in the body of the function
第三,神奇的小括号–()
小括号(parenthese)在各类编程说话中都有广泛的应用,python中,小括号还能表示元组(tuple)这一数据类型, 元组是immutable的序列。
- >>> a = (1, 2)
- >>> type(a)
- <type 'tuple'>
- >>> type(())
- <type 'tuple'>
但如不雅只有一个元素呢
- >>> a=(1)
- >>> type(a)
- <type 'int'>
神奇不神奇,如不雅要表示只有一个元素的元组,精确的姿势是:
- >>> a=(1,)
- >>> type(a)
- <type 'tuple'>
第四:生成一个元素是列表的列表
这个有点像二维数组,当然生成一个元素是字典的列表也是可以的,更通俗的说,生成一个元素是可变对象的序列
很简单嘛:
- >>> a= [[]] * 10
- >>> a
- [[], [], [], [], [], [], [], [], [], []]
- >>> a[0].append(10)
- >>> a[0]
- [10]
看起来很不错,简单清楚明了,but
推荐阅读
本文的目标是懂得容器开辟在目标情况中安排的端到端流程,并列出这些操作所需的 Docker 敕令。1. 介绍全部流程包含应用代码、依附软件和设备来开辟容器映像,在开辟情况中运行和测试容器,将容器映像宣>>>详细阅读
地址:http://www.17bianji.com/lsqh/37834.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示