Python论坛  - 讨论区

标题:[python-chinese] 今天的一点收获.

2005年07月08日 星期五 17:31

guqi guqi at oasisnet.com.cn
Fri Jul 8 17:31:45 HKT 2005

a=3
b=1

a,b=b,a

谁可以解释一下原理,为什么a,b数值可以交互,系统层面是如何做到的.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050708/f380cd55/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年07月08日 星期五 17:35

limodou limodou at gmail.com
Fri Jul 8 17:35:45 HKT 2005

这是python的一个特性。
应该是先生成了一个tuple (b,a),然后再将其赋给a,b,经过了对象的转换。

还有象

if 1<9:
这样的写法。还有许多有趣的地方。

在 05-7-8,guqi<guqi at oasisnet.com.cn> 写道:
>  
> a=3 
> b=1 
>   
> a,b=b,a 
>   
> 谁可以解释一下原理,为什么a,b数值可以交互,系统层面是如何做到的. 
>   
>   
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> 
> 


-- 
I like python! 
My Donews Blog: http://www.donews.net/limodou
New Google Maillist: http://groups-beta.google.com/group/python-cn

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年07月08日 星期五 17:39

jason jason_learn at yahoo.com.cn
Fri Jul 8 17:39:56 HKT 2005

guqi,您好! 

  

======== 2005-07-08 17:31:45 您在来信中写道: ========

a=3
b=1

a,b=b,a

谁可以解释一下原理,为什么a,b数值可以交互,系统层面是如何做到的.



a,b=b,a  这种赋值方法属于元组赋值,右边的b,a,会先保存在一个元组里,然后a,b=b,a 就相当于a,b=1,3,这样就交换了a,b 的值。
元组可以这样赋值
t=(1,2,3,4) or t=1,2,3,4
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050708/618ea129/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年07月08日 星期五 17:40

cpunion cpunion at 263.net
Fri Jul 8 17:40:05 HKT 2005

guqi 写道:
> a=3
> b=1
>  
> a,b=b,a
>  
> 谁可以解释一下原理,为什么a,b数值可以交互,系统层面是如何做到的.

tmp = (b,a)
a, b = tmp
合并起来就是了。

所以:
a,b = b,a
和
a,b = (b,a)
是等价的

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年07月08日 星期五 17:41

jason jason_learn at yahoo.com.cn
Fri Jul 8 17:41:18 HKT 2005

guqi,您好! 

  

======== 2005-07-08 17:29:40 您在来信中写道: ========

例如:
定义时func(a,b,c)

调用时func(a)或func(a,b)呢.

= = = = = = = = = = = = = = = = = = = = = = 
这是函数参数,和刚才那个a,b=b,a 没有关系。
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050708/577a68d3/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号