设为首页 加入收藏

TOP

流畅的python和cookbook学习笔记(二)
2017-09-30 15:35:01 】 浏览:892
Tags:流畅 python cookbook 学习 笔记

1.元组拆包和解压序列赋值

  任何的序列 (或者是可迭代对象) 可以通过一个简单的赋值语句解压并赋值给多个 变量。唯一的前提就是变量的数量必须跟序列元素的数量是一样的。

  1.平行赋值:

>>> x = (1, 2) 
>>> a, b = x  # 元组拆包 
>>> a
1
>>> b
2

  2.以用 * 运算符把一个可迭代对象拆开作为函数的参数:

>>> divmod(20, 8)  # 20求8的余,2 * 8 + 4 == 20
(2, 4) 
>>> t = (20, 8)
>>> divmod(*t) 
(2, 4) 
>>> quotient, remainder = divmod(*t) 
>>> quotient, remainder   # 商和余数
(2, 4)

  3.函数中用 *args 来获取不确定数量的参数:

>>> a, b, *rest = range(5)
>>> a, b, rest 
(0, 1, [2, 3, 4]) 
>>> a, b, *rest = range(3)
>>> a, b, rest
(0, 1, [2]) 
>>> a, b, *rest = range(2) 
>>> a, b, rest
(0, 1, [])

  4.在平行赋值中,* 前缀只能用在一个变量名前面,但是这个变量可以出现在赋值表达式的任意位置:

>>> a, *body, c, d = range(5) 
>>> a, body, c, d 
(0, [1, 2], 3, 4) 
>>> *head, b, c, d = range(5) 
>>> head, b, c, d 
([0, 1], 2, 3, 4)

.

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇使用virtualenv Django 创建应用.. 下一篇31、互斥锁与进程间通信(队列)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目