Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > ASP.NET > Python 笔记2:Tuple with automated packing/unpacking
【标  题】:Python 笔记2:Tuple with automated packing/unpacking
【关键字】:Python,Tuple,with,automated,packing/unpacking
【来  源】:http://blog.csdn.net/wuliaoshengji/archive/2006/02/11/597010.aspx

Python 笔记2:Tuple with automated packing/unpacking

Your Ad Here

Tuple是Python基本数据结构之一,其思想十分简单,就是用一个单一的量来代表一堆任意数据松散的集合,其显而易见的一个用处就是在一次函数调用中返回多个值;

在非单根结构,强类型的语言如C++中,是很难实现能够容纳任意多元素的Tuple的,标准库提供了一个退化的Tuple,std::pair<F,S>,只能容纳两个元素,boost和loki提供了能够容纳最多两位数元素的Tuple,绝大多数情况下也够用了;

或曰:在像Java这样的单根语言中,Tuple不就是Object[]吗?是的,如果Tuple仅限于容纳多个元素,它就是只读的Object[];

然而,Python为Tuple配备了Automated Tuple Packing & Automated Sequence Unpacking (自动化的打包/拆包),使Tuple获得了及其方便和强大的表达能力

 

1,自动打包带来的表达能力举例:

函数调用传递任意的参数个数,不需要你显式的把多个参数像其它语言那样弄到一个数组或集合里,你只需要把多个参数一个接一个的传递给函数即可,解释器会将参数自动打包为Tuple

C++的可变参数在这种以强类型著称的语言中显得那样格格不如,在各种Effective条款中被推荐避免使用

JavaSE 5.0 开始提供了类似的功能,虚拟机会将参数打包为数组

 

2, 自动拆包带来的表达能力举例:

同时获得Dictionary的Key和Value:for key, value in dict.iteritems(): 你不再需要像其它语言那样在循环体里再分别获得key和value

 

3, 自动打包结合自动拆包带来的表达能力举例:

不使用临时变量交换两个变量的值:a, b = b, a

[z]access数据库的安全性:【上一篇】
Python 笔记1:String Literal:【下一篇】
【相关文章】
  • Ironpython 0.96 中文支持
  • How to install and configure PHP5 with IIS6
  • [收藏]Remote scripting with IFRAME
  • AOSD (Aspect-Oriented Software Development with Use Cases) 随想
  • Requirements Analysis with 'pseud-Formal' Method
  • Requirements Analysis with 'pseud-Formal' Method
  • 重构-代替类型代码几中方式的比较(Replace type code with ...)
  • How import COM component with strong name?
  • How To Install On Debian with Several Codecs
  • C++之python函数调用
  • 【随机文章】
  • 用FLASH动态控制浏览器的位置
  • PDM,从说到做(下)
  • 什么是原子操作
  • 46家公司面试笔试题
  • FreeBSD handbook中文版 10 安全
  • 100M多模光纤收发器NW-MC101M
  • FireWork 烟花控件源码
  • 今天终于成功安装了gdb,过程写下来
  • 潜伏在Windows默认设置中的陷阱
  • 按钮制作<4>
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.