龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > python编程 >

跟老齐学Python之赋值,简单也不简单(2)

时间:2014-09-25 02:43来源:网络整理 作者:网络 点击:
分享到:
复制代码 代码如下: [name,site] = ["qiwsir","qiwsir.github.io"] name 'qiwsir' site 'qiwsir.github.io' name,site = ("qiwsir","qiwsir.github.io") name 'qiwsir' site 'qiwsir.github.io' 这样也行呀

复制代码 代码如下:

>>> [name,site] = ["qiwsir","qiwsir.github.io"]
>>> name
'qiwsir'
>>> site
'qiwsir.github.io'
>>> name,site = ("qiwsir","qiwsir.github.io")
>>> name
'qiwsir'
>>> site
'qiwsir.github.io'

 这样也行呀。

其实,赋值的样式不少,核心就是将变量和某对象对应起来。对象,可以用上面的方式,也许是这样的

复制代码 代码如下:

>>> site = "qiwsir.github.io"
>>> name, main = site.split(".")[0], site.split(".")[1]   #还记得str.split(<sep>)这个东东吗?忘记了,google一下吧。
>>> name
'qiwsir'
>>> main
'github'

 增强赋值

这个东西听名字就是比赋值强的。

在python中,将下列的方式称为增强赋值:

增强赋值语句 等价于语句
x+=y x = x+y
x-=y x = x-y
x*=y x = x*y
x/=y x = x/y

其它类似结构:x&=y  x|=y  x^=y  x%=y  x>>=y x<<=y  x**=y  x//=y

看下面的例子,有一个list,想得到另外一个列表,其中每个数比原来list中的大2。可以用下面方式实现:

复制代码 代码如下:

>>> number
[1, 2, 3, 4, 5]
>>> number2 = []
>>> for i in number:
...     i = i+2
...     number2.append(i)
...
>>> number2
[3, 4, 5, 6, 7]

 如果用上面的增强赋值,i = i+2可以写成 i +=2,试一试吧:

复制代码 代码如下:

>>> number
[1, 2, 3, 4, 5]
>>> number2 = []
>>> for i in number:
...     i +=2
...     number2.append(i)
...
>>> number2
[3, 4, 5, 6, 7]

 这就是增强赋值。为什么用增强赋值?因为i +=2,比i = i+2计算更快,后者右边还要拷贝一个i。

上面的例子还能修改,别忘记了list解析的强大功能呀。

复制代码 代码如下:

>>> [i+2 for i in number]
[3, 4, 5, 6, 7]

精彩图集

赞助商链接