Python论坛  - 讨论区

标题:[python-chinese] ¹ØÓÚÏàͬÁбíÓë×Ö·û´®µÄidÖµÎÊÌâ

2004年08月08日 星期日 07:49

zhou hunter zhou_hunter2000 at yahoo.com.cn
Sun Aug 8 07:49:55 HKT 2004

wish you a good day:
          在整理笔记中有一个问题,举例子如下:
>>> a="time"
>>> b="time"
>>> id(a)
12616688
>>> id(b)
12616688#id值可以看出a,b指向且都指向“time"
>>> a=['time']
>>> b=['time']
>>> id(a)
15300640
>>> id(b)
15300680#可以看除a,b 指向了 “【"time"】”但两个time却不同。
1,id是对数据的唯一标识符,"time"与"time"是同一数据,而列表的却截然不同
2,数据应是储存在内存的,那么“time"与'time'是同一位置,而列表的却不是。
我想请问到底为什么一旦列表,即使相同表的实际指向却是不同的,而不列表却相同?(我正在搜索这些资料,希望可以找到)
 
        谢谢
                zhou_hunter



---------------------------------
Do You Yahoo!?
150万曲MP3疯狂搜,带您闯入音乐殿堂
美女明星应有尽有,搜遍美图、艳图和酷图
1G就是1000兆,雅虎电邮自助扩容!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20040808/163fc22c/attachment.htm

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

2004年08月08日 星期日 08:00

zhou hunter zhou_hunter2000 at yahoo.com.cn
Sun Aug 8 08:00:54 HKT 2004

wish you a good day:
      补充:如果我是让a=["time"],然后,a=b的话,他们的id值就相同,我并没有因为这样而更加清晰,请赐教!希望不是因为版本问题,我用的是最新版的activepython,谢谢!

zhou hunter <zhou_hunter2000 at yahoo.com.cn> wrote:
wish you a good day:
          在整理笔记中有一个问题,举例子如下:
>>> a="time"
>>> b="time"
>>> id(a)
12616688
>>> id(b)
12616688#id值可以看出a,b指向且都指向“time"
>>> a=['time']
>>> b=['time']
>>> id(a)
15300640
>>> id(b)
15300680#可以看除a,b 指向了 “【"time"】”但两个time却不同。
1,id是对数据的唯一标识符,"time"与"time"是同一数据,而列表的却截然不同
2,数据应是储存在内存的,那么“time"与'time'是同一位置,而列表的却不是。
我想请问到底为什么一旦列表,即使相同表的实际指向却是不同的,而不列表却相同?(我正在搜索这些资料,希望可以找到)
 
        谢谢
                zhou_hunter



---------------------------------
Do You Yahoo!?
150万曲MP3疯狂搜,带您闯入音乐殿堂
美女明星应有尽有,搜遍美图、艳图和酷图
1G就是1000兆,雅虎电邮自助扩容!_______________________________________________
python-chinese list
python-chinese at lists.python.cn
http://python.cn/mailman/listinfo/python-chinese



---------------------------------
Do You Yahoo!?
150万曲MP3疯狂搜,带您闯入音乐殿堂
美女明星应有尽有,搜遍美图、艳图和酷图
1G就是1000兆,雅虎电邮自助扩容!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20040808/bc1e2258/attachment.html

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

2004年08月08日 星期日 08:09

mike gaul zopemaillistcn at yahoo.com.cn
Sun Aug 8 08:09:11 HKT 2004

老兄学的真细啊!我都没有注意这些问题。
我倒是不明白,我什么a='time';b='time的时候会相同。
你看我这样理解对不对,'time'事实上一个一个常量,因此,
他在内存中有一个地址。那个,把一个常量赋给两个不同的变
量,其id应该是相同的。
而对于list来说,list应该是变量,因此创建的时候,地址应该
是不相同的。这两个['time']因此在内存重视两个东西。他要准
备你随时对其进行更改。例如你更改了其中一个list,那么不可
能让另一个list也更改吧。
另外,id这个东西是不是应该和c中的指针差不多阿。


 --- zhou hunter <zhou_hunter2000 at yahoo.com.cn>
的正文:
> wish you a good day:
>      
>
补充:如果我是让a=["time"],然后,a=b的话,他们的id值就相同,我并没有因为这样而更加清晰,请赐教!希望不是因为版本问题,我用的是最新版的activepython,谢谢!
> 
> zhou hunter <zhou_hunter2000 at yahoo.com.cn> wrote:
> wish you a good day:
>           在整理笔记中有一个问题,举例子如下:
> >>> a="time"
> >>> b="time"
> >>> id(a)
> 12616688
> >>> id(b)
> 12616688#id值可以看出a,b指向且都指向“time"
> >>> a=['time']
> >>> b=['time']
> >>> id(a)
> 15300640
> >>> id(b)
> 15300680#可以看除a,b 指向了
> “【"time"】”但两个time却不同。
>
1,id是对数据的唯一标识符,"time"与"time"是同一数据,而列表的却截然不同
>
2,数据应是储存在内存的,那么“time"与'time'是同一位置,而列表的却不是。
>
我想请问到底为什么一旦列表,即使相同表的实际指向却是不同的,而不列表却相同?(我正在搜索这些资料,希望可以找到)
>  
>         谢谢
>                 zhou_hunter
> 
> 
> 
> ---------------------------------
> Do You Yahoo!?
> 150万曲MP3疯狂搜,带您闯入音乐殿堂
> 美女明星应有尽有,搜遍美图、艳图和酷图
>
1G就是1000兆,雅虎电邮自助扩容!_______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> 
> 
> ---------------------------------
> Do You Yahoo!?
> 150万曲MP3疯狂搜,带您闯入音乐殿堂
> 美女明星应有尽有,搜遍美图、艳图和酷图
> 1G就是1000兆,雅虎电邮自助扩容!>
_______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
>  

_________________________________________________________
Do You Yahoo!?
150万曲MP3疯狂搜,带您闯入音乐殿堂
http://music.yisou.com/
美女明星应有尽有,搜遍美图、艳图和酷图
http://image.yisou.com
1G就是1000兆,雅虎电邮自助扩容!
http://cn.rd.yahoo.com/mail_cn/tag/1g/*http://cn.mail.yahoo.com/event/mail_1g/


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

2004年08月08日 星期日 08:36

zhou hunter zhou_hunter2000 at yahoo.com.cn
Sun Aug 8 08:36:54 HKT 2004

wish you a good day:
        刚学python,我希望把注意到的问题解决,谢谢。
1,我的资料强调了变量的一个“指向性”的问题,那么我是一直注意指向的问题。
2,你的第一个解释认为:当变量指向(赋值)给常量的时候,因为常量是唯一的,所以指向同一常量的变量应该具有相同的内存位置。我理解并比较认同这一点,非常感谢。
3,至于第二点我还需要思考一下,首先你认为列表是变量,所以创建的地址不同,然后你推出所以给变量赋值变量的话,指向性也产生差异。
4,因为我的基础还是欠佳,所以我需要在想或查一下,谢谢你的指教。因为有朋友告诉我熟悉底层的机理对学习编程是有益的,所以我问了,非常感谢!我希望再看看其它朋友的意见。
   wish you a good day!

mike gaul <zopemaillistcn at yahoo.com.cn> wrote:
老兄学的真细啊!我都没有注意这些问题。
我倒是不明白,我什么a='time';b='time的时候会相同。
你看我这样理解对不对,'time'事实上一个一个常量,因此,
他在内存中有一个地址。那个,把一个常量赋给两个不同的变
量,其id应该是相同的。
而对于list来说,list应该是变量,因此创建的时候,地址应该
是不相同的。这两个['time']因此在内存重视两个东西。他要准
备你随时对其进行更改。例如你更改了其中一个list,那么不可
能让另一个list也更改吧。
另外,id这个东西是不是应该和c中的指针差不多阿。


--- zhou hunter 
的正文:
> wish you a good day:
> 
>
补充:如果我是让a=["time"],然后,a=b的话,他们的id值就相同,我并没有因为这样而更加清晰,请赐教!希望不是因为版本问题,我用的是最新版的activepython,谢谢!
> 
> zhou hunter wrote:
> wish you a good day:
> 在整理笔记中有一个问题,举例子如下:
> >>> a="time"
> >>> b="time"
> >>> id(a)
> 12616688
> >>> id(b)
> 12616688#id值可以看出a,b指向且都指向“time"
> >>> a=['time']
> >>> b=['time']
> >>> id(a)
> 15300640
> >>> id(b)
> 15300680#可以看除a,b 指向了
> “【"time"】”但两个time却不同。
>
1,id是对数据的唯一标识符,"time"与"time"是同一数据,而列表的却截然不同
>
2,数据应是储存在内存的,那么“time"与'time'是同一位置,而列表的却不是。
>
我想请问到底为什么一旦列表,即使相同表的实际指向却是不同的,而不列表却相同?(我正在搜索这些资料,希望可以找到)
> 
> 谢谢
> zhou_hunter
> 
> 
> 
> ---------------------------------
> Do You Yahoo!?
> 150万曲MP3疯狂搜,带您闯入音乐殿堂
> 美女明星应有尽有,搜遍美图、艳图和酷图
>
1G就是1000兆,雅虎电邮自助扩容!_______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> 
> 
> ---------------------------------
> Do You Yahoo!?
> 150万曲MP3疯狂搜,带您闯入音乐殿堂
> 美女明星应有尽有,搜遍美图、艳图和酷图
> 1G就是1000兆,雅虎电邮自助扩容!>
_______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 

_________________________________________________________
Do You Yahoo!?
150万曲MP3疯狂搜,带您闯入音乐殿堂
http://music.yisou.com/
美女明星应有尽有,搜遍美图、艳图和酷图
http://image.yisou.com
1G就是1000兆,雅虎电邮自助扩容!
http://cn.rd.yahoo.com/mail_cn/tag/1g/*http://cn.mail.yahoo.com/event/mail_1g/
_______________________________________________
python-chinese list
python-chinese at lists.python.cn
http://python.cn/mailman/listinfo/python-chinese



---------------------------------
Do You Yahoo!?
150万曲MP3疯狂搜,带您闯入音乐殿堂
美女明星应有尽有,搜遍美图、艳图和酷图
1G就是1000兆,雅虎电邮自助扩容!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20040808/59d820c3/attachment.htm

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

2004年08月08日 星期日 12:53

hoxide hoxide_dirac at yahoo.com.cn
Sun Aug 8 12:53:09 HKT 2004

zhou hunter,您好! 
     可以参考http://blog.csdn.net/jrgao/archive/2004/03/04/22248.aspx <>,另外文章有点小错误,这里是天成的更正:http://blog.csdn.net/dreamingk/archive/2004/07/26/51658.aspx 
  

======== 2004-08-08 08:36:54 您在来信中写道: ========

wish you a good day:
        刚学python,我希望把注意到的问题解决,谢谢。
1,我的资料强调了变量的一个“指向性”的问题,那么我是一直注意指向的问题。
2,你的第一个解释认为:当变量指向(赋值)给常量的时候,因为常量是唯一的,所以指向同一常量的变量应该具有相同的内存位置。我理解并比较认同这一点,非常感谢。
3,至于第二点我还需要思考一下,首先你认为列表是变量,所以创建的地址不同,然后你推出所以给变量赋值变量的话,指向性也产生差异。
4,因为我的基础还是欠佳,所以我需要在想或查一下,谢谢你的指教。因为有朋友告诉我熟悉底层的机理对学习编程是有益的,所以我问了,非常感谢!我希望再看看其它朋友的意见。
   wish you a good day!

mike gaul <zopemaillistcn at yahoo.com.cn> wrote:
老兄学的真细啊!我都没有注意这些问题。
我倒是不明白,我什么a='time';b='time的时候会相同。
你看我这样理解对不对,'time'事实上一个一个常量,因此,
他在内存中有一个地址。那个,把一个常量赋给两个不同的变
量,其id应该是相同的。
而对于list来说,list应该是变量,因此创建的时候,地址应该
是不相同的。这两个['time']因此在内存重视两个东西。他要准
备你随时对其进行更改。例如你更改了其中一个list,那么不可
能让另一个list也更改吧。
另外,id这个东西是不是应该和c中的指针差不多阿。


--- zhou hunter 
的正文:
> wish you a good day:
> 
>
补充:如果我是让a=["time"],然后,a=b的话,他们的id值就相同,我并没有因为这样而更加清晰,请赐教!希望不是因为版本问题,我用的是最新版的activepython,谢谢!
> 
> zhou hunter wrote:
> wish you a good day:
> 在整理笔记中有一个问题,举例子如下:
> >>> a="time"
> >>> b="time"
> >>> id(a)
> 12616688
> >>> id(b)
> 12616688#id值可以看出a,b指向且都指向“time"
> >>> a=['time']
> >>> b=['time']
> >>> id(a)
> 15300640
> >>> id(b)
> 15300680#可以看除a,b 指向了
> “【"time"】”但两个time却不同。
>
1,id是对数据的唯一标识符,"time"与"time"是同一数据,而列表的却截然不同
>
2,数据应是储存在内存的,那么“time"与'time'是同一位置,而列表的却不是。
>
我想请问到底为什么一旦列表,即使相同表的实际指向却是不同的,而不列表却相同?(我正在搜索这些资料,希望可以找到)
> 
> 谢谢
> zhou_hunter
> 
> 
> 
> ---------------------------------
> Do You Yahoo!?
> 150万曲MP3疯狂搜,带您闯入音乐殿堂
> 美女明星应有尽有,搜遍美图、艳图和酷图
>
1G就是1000兆,雅虎电邮自助扩容!_______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> 
> 
> ---------------------------------
> Do You Yahoo!?
> 150万曲MP3疯狂搜,带您闯入音乐殿堂
> 美女明星应有尽有,搜遍美图、艳图和酷图
> 1G就是1000兆,雅虎电邮自助扩容!>
_______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 

_________________________________________________________
Do You Yahoo!?
150万曲MP3疯狂搜,带您闯入音乐殿堂
http://music.yisou.com/
美女明星应有尽有,搜遍美图、艳图和酷图
http://image.yisou.com
1G就是1000兆,雅虎电邮自助扩容!
http://cn.rd.yahoo.com/mail_cn/tag/1g/*http://cn.mail.yahoo.com/event/mail_1g/
_______________________________________________
python-chinese list
python-chinese at lists.python.cn
http://python.cn/mailman/listinfo/python-chinese





Do You Yahoo!?
150万曲MP3疯狂搜,带您闯入音乐殿堂
美女明星应有尽有,搜遍美图、艳图和酷图
1G就是1000兆,雅虎电邮自助扩容! 

= = = = = = = = = = = = = = = = = = = = = = 
        致
礼!

              hoxide
              hoxide_dirac at yahoo.com.cn
               2004-08-08

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

2004年08月08日 星期日 13:05

Zoom.Quiet zoomq at itcase.com
Sun Aug 8 13:05:27 HKT 2004

Hollo zhou:

  FT£¡

ѧµÄ¹ýϸÁËЩ£¿Äã¿´µÄÊÇʲô×ÊÁÏ£¿
ÔÚÏÂÈëÃŵÄÊÇ Learning Python 
Mark ºÍDavidдµÄ£¬·Ç³£µÄeasy ºÍÃ÷Îú£¡

˵°×ÁË ÔÚ Python ÖÐÒ»Çж¼ÊǶÔÏó£¬
"time" ÊÇÒ»¸ö×Ö´®³£Á¿£¬ËùÓÐÒýÓÃÖ®µÄ£¬µ±È»ÊÇͬһID£»
["time"]ÊÇ´´½¨Ò»¸öÓÐÒ»¸ö"time"×Ö´®ÔªËصÄÁбí¶ÔÏó;
ÿ´Î´´½¨Ò»¸öеÄÁбí¶ÔÏó,µ±È»ID ²»Í¬ÊÇÒ²ºõ!?!?

ºÜµ×²ãµÄÀí½â,Ö»ÓÐÔڷdz£¸ß¶ËµÄ³ÌÐòÒªÇóʱ²ÅÓõĵ½,
ÏÈ¿ìËÙÆ·³¢Ò»ÏÂ×ÓPython µÄõrÃÀÌØÐÔ°É!

ÆäËüµÄ×ÔÈ»»áÔÚÒÔºóÀí½âµÄ;

²»¹ý
"ѧ´ÓÄÑ´¦Ñ§,ÓôÓÒ×´¦ÓÃ!"

ѧϰ̬¶ÈÕýÈ·ÊÇÒ²ºõ....

^___^


/******** [2004-08-08]12:59:26 ; zhou wrote:

zhou hunter> wish you a good day:
zhou hunter>         ¸Õѧpython£¬ÎÒÏ£Íû°Ñ×¢Òâµ½µÄÎÊÌâ½â¾ö£¬Ð»Ð»¡£
zhou hunter> 1£¬ÎÒµÄ×ÊÁÏÇ¿µ÷Á˱äÁ¿µÄÒ»¸ö¡°Ö¸ÏòÐÔ¡±µÄÎÊÌ⣬ÄÇôÎÒÊÇÒ»Ö±×¢ÒâÖ¸ÏòµÄÎÊÌâ¡£
zhou hunter> 2£¬ÄãµÄµÚÒ»¸ö½âÊÍÈÏΪ:µ±±äÁ¿Ö¸Ïò£¨¸³Öµ£©¸ø³£Á¿µÄʱºò£¬ÒòΪ³£Á¿ÊÇΨһµÄ£¬ËùÒÔÖ¸Ïòͬһ³£Á¿µÄ±äÁ¿Ó¦¸Ã¾ßÓÐÏàͬµÄÄÚ´æλÖá£ÎÒÀí½â²¢±È½ÏÈÏͬÕâÒ»µã£¬·Ç³£¸Ðл¡£
zhou hunter> 3£¬ÖÁÓÚµÚ¶þµãÎÒ»¹ÐèҪ˼¿¼Ò»Ï£¬Ê×ÏÈÄãÈÏΪÁбíÊDZäÁ¿£¬ËùÒÔ´´½¨µÄµØÖ·²»Í¬£¬È»ºóÄãÍƳöËùÒÔ¸ø±äÁ¿¸³Öµ±äÁ¿µÄ»°£¬Ö¸ÏòÐÔÒ²²úÉú²îÒì¡£
zhou hunter> 4£¬ÒòΪÎҵĻù´¡»¹ÊÇÇ·¼Ñ£¬ËùÒÔÎÒÐèÒªÔÚÏë»ò²éһϣ¬Ð»Ð»ÄãµÄÖ¸½Ì¡£ÒòΪÓÐÅóÓѸæËßÎÒÊìϤµ×²ãµÄ»úÀí¶Ôѧϰ±à³ÌÊÇÓÐÒæµÄ£¬ËùÒÔÎÒÎÊÁË£¬·Ç³£¸Ðл£¡ÎÒÏ£ÍûÔÙ¿´¿´ÆäËüÅóÓѵÄÒâ¼û¡£
zhou hunter>    wish you a good day!

zhou hunter> mike gaul <zopemaillistcn at yahoo.com.cn> wrote:
zhou hunter> ÀÏÐÖѧµÄÕæϸ°¡£¡ÎÒ¶¼Ã»ÓÐ×¢ÒâÕâЩÎÊÌâ¡£
zhou hunter> ÎÒµ¹ÊDz»Ã÷°×£¬ÎÒʲôa='time';b='timeµÄʱºò»áÏàͬ¡£
zhou hunter> Äã¿´ÎÒÕâÑùÀí½â¶Ô²»¶Ô£¬'time'ÊÂʵÉÏÒ»¸öÒ»¸ö³£Á¿£¬Òò´Ë£¬
zhou hunter> ËûÔÚÄÚ´æÖÐÓÐÒ»¸öµØÖ·¡£ÄǸö£¬°ÑÒ»¸ö³£Á¿¸³¸øÁ½¸ö²»Í¬µÄ±ä
zhou hunter> Á¿£¬ÆäidÓ¦¸ÃÊÇÏàͬµÄ¡£
zhou hunter> ¶ø¶ÔÓÚlistÀ´Ëµ£¬listÓ¦¸ÃÊDZäÁ¿£¬Òò´Ë´´½¨µÄʱºò£¬µØÖ·Ó¦¸Ã
zhou hunter> ÊDz»ÏàͬµÄ¡£ÕâÁ½¸ö['time']Òò´ËÔÚÄÚ´æÖØÊÓÁ½¸ö¶«Î÷¡£ËûҪ׼
zhou hunter> ±¸ÄãËæʱ¶ÔÆä½øÐиü¸Ä¡£ÀýÈçÄã¸ü¸ÄÁËÆäÖÐÒ»¸ölist£¬ÄÇô²»¿É
zhou hunter> ÄÜÈÃÁíÒ»¸ölistÒ²¸ü¸Ä°É¡£
zhou hunter> ÁíÍ⣬idÕâ¸ö¶«Î÷ÊDz»ÊÇÓ¦¸ÃºÍcÖеÄÖ¸Õë²î²»¶à°¢¡£


zhou hunter> --- zhou hunter 
zhou hunter> µÄÕýÎÄ£º
>> wish you a good day:
>> 
>>
zhou hunter> ²¹³ä£ºÈç¹ûÎÒÊÇÈÃa=["time"],È»ºó£¬a=bµÄ»°£¬ËûÃǵÄidÖµ¾ÍÏàͬ£¬ÎÒ²¢Ã»ÓÐÒòΪÕâÑù¶ø¸ü¼ÓÇåÎú£¬Çë´Í½Ì£¡Ï£Íû²»ÊÇÒòΪ°æ±¾ÎÊÌ⣬ÎÒÓõÄÊÇ×îаæµÄactivepython,лл£¡
>> 
>> zhou hunter wrote:
>> wish you a good day:
>> ÔÚÕûÀí±Ê¼ÇÖÐÓÐÒ»¸öÎÊÌ⣬¾ÙÀý×ÓÈçÏ£º
>> >>> a="time"
>> >>> b="time"
>> >>> id(a)
>> 12616688
>> >>> id(b)
>> 12616688££idÖµ¿ÉÒÔ¿´³öa,bÖ¸ÏòÇÒ¶¼Ö¸Ïò¡°time"
>> >>> a=['time']
>> >>> b=['time']
>> >>> id(a)
>> 15300640
>> >>> id(b)
>> 15300680#¿ÉÒÔ¿´³ýa,b Ö¸ÏòÁË
>> ¡°¡¾"time"¡¿¡±µ«Á½¸ötimeÈ´²»Í¬¡£
>>
zhou hunter> 1£¬idÊǶÔÊý¾ÝµÄΨһ±êʶ·û£¬"time"Óë"time"ÊÇͬһÊý¾Ý£¬¶øÁбíµÄÈ´½ØÈ»²»Í¬
>>
zhou hunter> 2£¬Êý¾ÝÓ¦ÊÇ´¢´æÔÚÄÚ´æµÄ£¬ÄÇô¡°time"Óë'time'ÊÇͬһλÖ㬶øÁбíµÄÈ´²»ÊÇ¡£
>>
zhou hunter> ÎÒÏëÇëÎʵ½µ×Ϊʲôһµ©ÁÐ±í£¬¼´Ê¹Ïàͬ±íµÄʵ¼ÊÖ¸ÏòÈ´ÊDz»Í¬µÄ£¬¶ø²»ÁбíÈ´Ïàͬ£¿£¨ÎÒÕýÔÚËÑË÷ÕâЩ×ÊÁÏ£¬Ï£Íû¿ÉÒÔÕÒµ½£©
>> 
>> лл
>> zhou_hunter
>> 
>> 
>> 
>> ---------------------------------
>> Do You Yahoo!?
>> 150ÍòÇúMP3·è¿ñËÑ£¬´øÄú´³ÈëÒôÀÖµîÌÃ
>> ÃÀÅ®Ã÷ÐÇÓ¦Óо¡ÓУ¬ËѱéÃÀͼ¡¢ÑÞͼºÍ¿áͼ
>>
zhou hunter> 1G¾ÍÊÇ1000Õ×£¬ÑÅ»¢µçÓÊ×ÔÖúÀ©ÈÝ£¡_______________________________________________
>> python-chinese list
>> python-chinese at lists.python.cn
>> http://python.cn/mailman/listinfo/python-chinese
>> 
>> 
>> 
>> ---------------------------------
>> Do You Yahoo!?
>> 150ÍòÇúMP3·è¿ñËÑ£¬´øÄú´³ÈëÒôÀÖµîÌÃ
>> ÃÀÅ®Ã÷ÐÇÓ¦Óо¡ÓУ¬ËѱéÃÀͼ¡¢ÑÞͼºÍ¿áͼ
>> 1G¾ÍÊÇ1000Õ×£¬ÑÅ»¢µçÓÊ×ÔÖúÀ©ÈÝ£¡>
zhou hunter> _______________________________________________
>> python-chinese list
>> python-chinese at lists.python.cn
>> http://python.cn/mailman/listinfo/python-chinese
>> 

zhou hunter> _________________________________________________________
zhou hunter> Do You Yahoo!?
zhou hunter> 150ÍòÇúMP3·è¿ñËÑ£¬´øÄú´³ÈëÒôÀÖµîÌÃ
zhou hunter> http://music.yisou.com/
zhou hunter> ÃÀÅ®Ã÷ÐÇÓ¦Óо¡ÓУ¬ËѱéÃÀͼ¡¢ÑÞͼºÍ¿áͼ
zhou hunter> http://image.yisou.com
zhou hunter> 1G¾ÍÊÇ1000Õ×£¬ÑÅ»¢µçÓÊ×ÔÖúÀ©ÈÝ£¡
zhou hunter> http://cn.rd.yahoo.com/mail_cn/tag/1g/*http://cn.mail.yahoo.com/event/mail_1g/
zhou hunter> _______________________________________________
zhou hunter> python-chinese list
zhou hunter> python-chinese at lists.python.cn
zhou hunter> http://python.cn/mailman/listinfo/python-chinese



zhou hunter> ---------------------------------
zhou hunter> Do You Yahoo!?
zhou hunter> 150ÍòÇúMP3·è¿ñËÑ£¬´øÄú´³ÈëÒôÀÖµîÌÃ
zhou hunter> ÃÀÅ®Ã÷ÐÇÓ¦Óо¡ÓУ¬ËѱéÃÀͼ¡¢ÑÞͼºÍ¿áͼ
zhou hunter> 1G¾ÍÊÇ1000Õ×£¬ÑÅ»¢µçÓÊ×ÔÖúÀ©ÈÝ£¡


********************************************/

-- 
Free as in Freedom

 Zoom.Quiet                           

#=========================================#
]Time is unimportant, only life important![
#=========================================#

sender is the Bat!2.12.00



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

2004年08月08日 星期日 13:10

limodou chatme at 263.net
Sun Aug 8 13:10:14 HKT 2004

zhou hunter,您好!

	可以这么理解。在Python中一切东西都是对象,每个对象的使用都是引用来实现的。象你的第一个例子:

'time'是一个对象,a='time'是对'time'的一个引用,a指向'time'的地址,这样'time'的对象计数加1.
b='time'是对'time'又一次引用,'time'的对象计数再加1。因为都是引用,所以a,b的指向值是一样的。

   list是一个对象的数组。
  a=['time']得到的是list的引用,而不是'time'的引用。a[0]才是对'time'的引用。
   b=['time']得到的是另一个list的引用,同样不是'time'的引用,但b[0]还是对'time'的引用。

也许你会问为什么a与b不使用同一个引用呢?我想是因为在Python中有可变对象与不可变对象。可变对象是指在运行过程中,对象的值(不是对象本身的地址)是可以改变的,象list你可以增加它的元素。不可变对象是指在运行过程中,对象的值不可以改变。象Python中的字符串,一旦生成就不可以改变。如果想生成新的值,只可以创建新的对象。因此,Python在处理这些不同种类的对象的策略是不同的。对于可变对象,简单的赋值可能只是增加对象的引用计数。但对于可变对象,Python可能会生成新的对象。当然,你的语法必须是对象的构造形式才有这种区别。如果是变量与变量的赋值,那么只是拷贝了一个对象引用。

对象的构造形式我是指:

a=['time']或a='time'
这种语法,因为Python的做法是先生成一个对象,然后再将对象的引用赋给变量a。而象
b=a这种语法则只是一个引用的赋值,不会生成新的对象。

象这种细微的差异,可能需要在平时的编程中多多测试可能才会更清楚。曾经在一些Blog中看到过有人对Python的这种语法有所抱怨。抱怨什么呢?他们说在Python中不分引用和对象的创建。的确,有时是先创建对象,再生成引用。有时只是生成引用。其实这种区别主要是存在不同的赋值语句的写法上,这些写法可能没有很明确地表明对象何时生成,何时被引用,但在一些教程中也有说明。希望在读书时多加注意。再加上自已的测试应该还容易理解。

象:

a=[1,2]
b=a
c=a[:]

b和c有什么区别,能说一说吗?

这里还有dreamingK写的一篇Blog可能对你的理解有帮助:http://blog.csdn.net/dreamingk/archive/2004/07/26/51658.aspx

======= 2004-08-08 08:36:54 您在来信中写道:=======

>wish you a good day:
>        刚学python,我希望把注意到的问题解决,谢谢。
>1,我的资料强调了变量的一个“指向性”的问题,那么我是一直注意指向的问题。
>2,你的第一个解释认为:当变量指向(赋值)给常量的时候,因为常量是唯一的,所以指向同一常量的变量应该具有相同的内存位置。我理解并比较认同这一点,非常感谢。
>3,至于第二点我还需要思考一下,首先你认为列表是变量,所以创建的地址不同,然后你推出所以给变量赋值变量的话,指向性也产生差异。
>4,因为我的基础还是欠佳,所以我需要在想或查一下,谢谢你的指教。因为有朋友告诉我熟悉底层的机理对学习编程是有益的,所以我问了,非常感谢!我希望再看看其它朋友的意见。
>   wish you a good day!
>
>mike gaul <zopemaillistcn at yahoo.com.cn> wrote:
>老兄学的真细啊!我都没有注意这些问题。
>我倒是不明白,我什么a='time';b='time的时候会相同。
>你看我这样理解对不对,'time'事实上一个一个常量,因此,
>他在内存中有一个地址。那个,把一个常量赋给两个不同的变
>量,其id应该是相同的。
>而对于list来说,list应该是变量,因此创建的时候,地址应该
>是不相同的。这两个['time']因此在内存重视两个东西。他要准
>备你随时对其进行更改。例如你更改了其中一个list,那么不可
>能让另一个list也更改吧。
>另外,id这个东西是不是应该和c中的指针差不多阿。
>
>
>--- zhou hunter 
>的正文:
>> wish you a good day:
>> 
>>
>补充:如果我是让a=["time"],然后,a=b的话,他们的id值就相同,我并没有因为这样而更加清晰,请赐教!希望不是因为版本问题,我用的是最新版的activepython,谢谢!
>> 
>> zhou hunter wrote:
>> wish you a good day:
>> 在整理笔记中有一个问题,举例子如下:
>> >>> a="time"
>> >>> b="time"
>> >>> id(a)
>> 12616688
>> >>> id(b)
>> 12616688#id值可以看出a,b指向且都指向“time"
>> >>> a=['time']
>> >>> b=['time']
>> >>> id(a)
>> 15300640
>> >>> id(b)
>> 15300680#可以看除a,b 指向了
>> “【"time"】”但两个time却不同。
>>
>1,id是对数据的唯一标识符,"time"与"time"是同一数据,而列表的却截然不同
>>
>2,数据应是储存在内存的,那么“time"与'time'是同一位置,而列表的却不是。
>>
>我想请问到底为什么一旦列表,即使相同表的实际指向却是不同的,而不列表却相同?(我正在搜索这些资料,希望可以找到)
>> 
>> 谢谢
>> zhou_hunter
>> 
>> 
>> 
>> ---------------------------------
>> Do You Yahoo!?
>> 150万曲MP3疯狂搜,带您闯入音乐殿堂
>> 美女明星应有尽有,搜遍美图、艳图和酷图
>>
>1G就是1000兆,雅虎电邮自助扩容!_______________________________________________
>> python-chinese list
>> python-chinese at lists.python.cn
>> http://python.cn/mailman/listinfo/python-chinese
>> 
>> 
>> 
>> ---------------------------------
>> Do You Yahoo!?
>> 150万曲MP3疯狂搜,带您闯入音乐殿堂
>> 美女明星应有尽有,搜遍美图、艳图和酷图
>> 1G就是1000兆,雅虎电邮自助扩容!>
>_______________________________________________
>> python-chinese list
>> python-chinese at lists.python.cn
>> http://python.cn/mailman/listinfo/python-chinese
>> 
>
>_________________________________________________________
>Do You Yahoo!?
>150万曲MP3疯狂搜,带您闯入音乐殿堂
>http://music.yisou.com/
>美女明星应有尽有,搜遍美图、艳图和酷图
>http://image.yisou.com
>1G就是1000兆,雅虎电邮自助扩容!
>http://cn.rd.yahoo.com/mail_cn/tag/1g/*http://cn.mail.yahoo.com/event/mail_1g/
>_______________________________________________
>python-chinese list
>python-chinese at lists.python.cn
>http://python.cn/mailman/listinfo/python-chinese
>
>
>
>---------------------------------
>Do You Yahoo!?
>150万曲MP3疯狂搜,带您闯入音乐殿堂
>美女明星应有尽有,搜遍美图、艳图和酷图
>1G就是1000兆,雅虎电邮自助扩容!
>_______________________________________________
>python-chinese list
>python-chinese at lists.python.cn
>http://python.cn/mailman/listinfo/python-chinese
>

= = = = = = = = = = = = = = = = = = = =
			

        致
礼!
 
				 
        limodou
        chatme at 263.net
          2004-08-08


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

2004年08月08日 星期日 13:17

limodou chatme at 263.net
Sun Aug 8 13:17:13 HKT 2004

Wm9vbS5RdWlldCzE+rrDo6ENCg0KCbXEyLeho9K7yc/AtLn9t9a12Ne3x/PPuL3atcS12Le9o6zK
sbzks6TBy7/JxNy74cq5xOO21FB5dGhvbsqnyKXQy8iktcSho9LyzqrV4tCpx/ix8NTautzJ2bXE
tdi3vbLF0OjSqr+8wseho8a9yrG63MnZ0OjSqr+8wsehow0KDQqhoaGhztK1xL2o0unKx8/I1ri7
+bG+tcRQeXRob27T77eo1cbO1aOo0rKyu8rHy7XL+dPQtrzVxs7Vo6mjrNPQ0Km+zcrHsrvVxs7V
ttTE48a9yrGx4LPMv8nE3NKyw7vT0Mqyw7TTsM/soaPP887S0rLKx9DttuC2q873wv3C/dGnxvDA
tKOs0ae1vdK7tqizzLbIo6zSu7e9w+bX1NLRu+HT0NKqx/PRp8+wuPy24LXEtqvO96Oswe3Su7e9
w+bS1Mew0ae5/bXEtqvO97/JxNzX1Mi7vs3D97DXwcuho7WxyLujrLK7t7S21LWx0/a1vc7KzOLK
saOs17e4+b6/tdejrNXi0fmyu7fFuf3Dv9K7uPayu8fls/61xLXYt73Kx7fHs6PIz9XmtcTRp8+w
zKy2yKGjztLWu8rHy7WjrLK70qq/zNLix/PPuL7Nv8nS1MHLoaPSu8fQy7PG5NfUyLuhow0KDQo9
PT09PT09IDIwMDQtMDgtMDggMTM6MDU6MjcgxPrU2sC00MXW0NC0tcCjuj09PT09PT0NCg0KPkhv
bGxvIHpob3U6DQo+DQo+ICBGVKOhDQo+DQo+0ae1xLn9z7jBy9Cpo7/E47+0tcTKx8qyw7TXysHP
o78NCj7U2s/CyOvDxbXEyscgTGVhcm5pbmcgUHl0aG9uIA0KPk1hcmsgus1EYXZpZNC0tcSjrLfH
s6O1xGVhc3kgus3D9876o6ENCj4NCj7LtbDXwcsg1NogUHl0aG9uINbQ0rvH0La8yse21M/zo6wN
Cj4idGltZSIgysfSu7j219a0rrOjwb+jrMv509DS/dPD1q61xKOstbHIu8rHzazSu0lEo7sNCj5b
InRpbWUiXcrHtLS9qNK7uPbT0NK7uPYidGltZSLX1rSu1KrL2LXEwdCx7bbUz/M7DQo+w7+0zrS0
vajSu7j20MK1xMHQse221M/zLLWxyLtJRCCyu82sysfSsrr1IT8hPw0KPg0KPrrctdey47XEwO29
4izWu9PQ1Nq3x7OjuN+2y7XEs8zQ8tKqx/PKsbLF08O1xLW9LA0KPs/Iv+zL2ca3s6LSu8/C19NQ
eXRob24gtcT1csPAzNjQ1LDJIQ0KPg0KPsbky/y1xNfUyLu74dTa0tS688DtveK1xDsNCj4NCj6y
u7n9DQo+ItGntNPE0bSm0acs08O009LXtKbTwyEiDQo+DQo+0afPsMystsjV/ci3ysfSsrr1Li4u
Lg0KPg0KPl5fX19eDQo+DQo+DQo+LyoqKioqKioqIFsyMDA0LTA4LTA4XTEyOjU5OjI2IDsgemhv
dSB3cm90ZToNCj4NCj56aG91IGh1bnRlcj4gd2lzaCB5b3UgYSBnb29kIGRheToNCj56aG91IGh1
bnRlcj4gICAgICAgICC41dGncHl0aG9uo6zO0s+jzfuw0dei0uK1vbXEzsrM4r3ivvajrNC70Luh
ow0KPnpob3UgaHVudGVyPiAxo6zO0rXE18rBz8e/tffBy7Hkwb+1xNK7uPahsNa4z/LQ1KGxtcTO
yszio6zEx8O0ztLKx9K71rHXotLi1rjP8rXEzsrM4qGjDQo+emhvdSBodW50ZXI+IDKjrMTjtcS1
2tK7uPa94srNyM/Oqjq1sbHkwb/WuM/yo6i4s9a1o6m4+LOjwb+1xMqxuvKjrNLyzqqzo8G/ysfO
qNK7tcSjrMv50tTWuM/yzazSu7Ojwb+1xLHkwb/TprjDvt/T0M/gzay1xMTatObOu9bDoaPO0sDt
veKyorHIvc/Iz82s1eLSu7Xjo6y3x7OjuNDQu6GjDQo+emhvdSBodW50ZXI+IDOjrNbB09q12rb+
tePO0ru50OjSqsu8v7zSu8/Co6zK18/IxOPIz86qwdCx7crHseTBv6Osy/nS1LS0vai1xLXY1rey
u82so6zIu7rzxOPNxrP2y/nS1Lj4seTBv7iz1rWx5MG/tcS7sKOs1rjP8tDU0rKy+sn6su7S7KGj
DQo+emhvdSBodW50ZXI+IDSjrNLyzqrO0rXEu/m0obu5ysfHt7zRo6zL+dLUztLQ6NKq1NrP67vy
sunSu8/Co6zQu9C7xOO1xNa4vcyho9LyzqrT0MXz09G45svfztLK7M+ktdey47XEu/rA7bbU0afP
sLHgs8zKx9PQ0ua1xKOsy/nS1M7SzsrBy6Ost8ezo7jQ0Lujoc7Sz6PN+9TZv7S/tMbky/zF89PR
tcTS4rz7oaMNCj56aG91IGh1bnRlcj4gICAgd2lzaCB5b3UgYSBnb29kIGRheSENCj4NCj56aG91
IGh1bnRlcj4gbWlrZSBnYXVsIDx6b3BlbWFpbGxpc3RjbkB5YWhvby5jb20uY24+IHdyb3RlOg0K
Pnpob3UgaHVudGVyPiDAz9DW0ae1xNXmz7iwoaOhztK2vMO709DXotLi1eLQqc7KzOKhow0KPnpo
b3UgaHVudGVyPiDO0rW5yseyu8P3sNejrM7SyrLDtGE9J3RpbWUnO2I9J3RpbWW1xMqxuvK74c/g
zayhow0KPnpob3UgaHVudGVyPiDE47+0ztLV4tH5wO294rbUsru21KOsJ3RpbWUnysLKtcnP0ru4
9tK7uPazo8G/o6zS8rTLo6wNCj56aG91IGh1bnRlcj4gy/vU2sTatObW0NPQ0ru49rXY1reho8TH
uPajrLDR0ru49rOjwb+4s7j4wb249rK7zay1xLHkDQo+emhvdSBodW50ZXI+IMG/o6zG5Glk06a4
w8rHz+DNrLXEoaMNCj56aG91IGh1bnRlcj4gtvi21NPabGlzdMC0y7WjrGxpc3TTprjDysex5MG/
o6zS8rTLtLS9qLXEyrG68qOstdjWt9OmuMMNCj56aG91IGh1bnRlcj4gyseyu8/gzay1xKGj1eLB
vbj2Wyd0aW1lJ13S8rTL1NrE2rTm1tjK08G9uPa2q873oaPL+9Kq17wNCj56aG91IGh1bnRlcj4g
sbjE48vmyrG21MbkvfjQ0Lj8uMSho8D9yOfE47j8uMTBy8bk1tDSu7j2bGlzdKOsxMfDtLK7v8kN
Cj56aG91IGh1bnRlcj4gxNzIw8Ht0ru49mxpc3TSsrj8uMSwyaGjDQo+emhvdSBodW50ZXI+IMHt
zeKjrGlk1eK49rarzvfKx7K7ysfTprjDus1j1tC1xNa41euy7rK7tuCwoqGjDQo+DQo+DQo+emhv
dSBodW50ZXI+IC0tLSB6aG91IGh1bnRlciANCj56aG91IGh1bnRlcj4gtcTV/c7Eo7oNCj4+PiB3
aXNoIHlvdSBhIGdvb2QgZGF5Og0KPj4+IA0KPj4+DQo+emhvdSBodW50ZXI+ILK5s+SjusjnufvO
0srHyMNhPVsidGltZSJdLMi7uvOjrGE9YrXEu7CjrMv7w8e1xGlk1rW+zc/gzayjrM7SsqLDu9PQ
0vLOqtXi0fm2+Lj8vNPH5c76o6zH67TNvcyjoc+jzfuyu8rH0vLOqrDmsb7Oyszio6zO0tPDtcTK
x9fu0MKw5rXEYWN0aXZlcHl0aG9uLNC70LujoQ0KPj4+IA0KPj4+IHpob3UgaHVudGVyIHdyb3Rl
Og0KPj4+IHdpc2ggeW91IGEgZ29vZCBkYXk6DQo+Pj4g1NrV+8Dtscq8x9bQ09DSu7j2zsrM4qOs
vtnA/dfTyOfPwqO6DQo+Pj4gPj4+IGE9InRpbWUiDQo+Pj4gPj4+IGI9InRpbWUiDQo+Pj4gPj4+
IGlkKGEpDQo+Pj4gMTI2MTY2ODgNCj4+PiA+Pj4gaWQoYikNCj4+PiAxMjYxNjY4OKOjaWTWtb/J
0tS/tLP2YSxi1rjP8sfStrzWuM/yobB0aW1lIg0KPj4+ID4+PiBhPVsndGltZSddDQo+Pj4gPj4+
IGI9Wyd0aW1lJ10NCj4+PiA+Pj4gaWQoYSkNCj4+PiAxNTMwMDY0MA0KPj4+ID4+PiBpZChiKQ0K
Pj4+IDE1MzAwNjgwI7/J0tS/tLP9YSxiINa4z/LByw0KPj4+IKGwob4idGltZSKhv6GxtavBvbj2
dGltZci0srvNrKGjDQo+Pj4NCj56aG91IGh1bnRlcj4gMaOsaWTKx7bUyv2+3bXEzqjSu7Hqyra3
+6OsInRpbWUi0+sidGltZSLKx82s0rvK/b7do6y2+MHQse21xMi0vdjIu7K7zawNCj4+Pg0KPnpo
b3UgaHVudGVyPiAyo6zK/b7d06bKx7SitObU2sTatOa1xKOsxMfDtKGwdGltZSLT6yd0aW1lJ8rH
zazSu8671sOjrLb4wdCx7bXEyLSyu8rHoaMNCj4+Pg0KPnpob3UgaHVudGVyPiDO0s/rx+vOyrW9
tdfOqsqyw7TSu7WpwdCx7aOsvLTKuc/gzayx7bXEyrW8yta4z/LItMrHsrvNrLXEo6y2+LK7wdCx
7ci0z+DNrKO/o6jO0tX91NrL0cv31eLQqdfKwc+jrM+jzfu/ydLU1dK1vaOpDQo+Pj4gDQo+Pj4g
0LvQuw0KPj4+IHpob3VfaHVudGVyDQo+Pj4gDQo+Pj4gDQo+Pj4gDQo+Pj4gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+Pj4gRG8gWW91IFlhaG9vIT8NCj4+PiAxNTDN8sf6TVAz
t+i/8cvRo6y0+MT6tLPI69L0wNa17szDDQo+Pj4gw8DFrsP30MfTptPQvqHT0KOsy9Gx6cPAzbyh
otHezby6zb/hzbwNCj4+Pg0KPnpob3UgaHVudGVyPiAxR77NyscxMDAw1dejrNHFu6K159PK19TW
+sCpyN2joV9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+
Pj4gcHl0aG9uLWNoaW5lc2UgbGlzdA0KPj4+IHB5dGhvbi1jaGluZXNlQGxpc3RzLnB5dGhvbi5j
bg0KPj4+IGh0dHA6Ly9weXRob24uY24vbWFpbG1hbi9saXN0aW5mby9weXRob24tY2hpbmVzZQ0K
Pj4+IA0KPj4+IA0KPj4+IA0KPj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K
Pj4+IERvIFlvdSBZYWhvbyE/DQo+Pj4gMTUwzfLH+k1QM7fov/HL0aOstPjE+rSzyOvS9MDWte7M
ww0KPj4+IMPAxa7D99DH06bT0L6h09CjrMvRsenDwM28oaLR3s28us2/4c28DQo+Pj4gMUe+zcrH
MTAwMNXXo6zRxbuitefTytfU1vrAqcjdo6E+DQo+emhvdSBodW50ZXI+IF9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+Pj4gcHl0aG9uLWNoaW5lc2UgbGlz
dA0KPj4+IHB5dGhvbi1jaGluZXNlQGxpc3RzLnB5dGhvbi5jbg0KPj4+IGh0dHA6Ly9weXRob24u
Y24vbWFpbG1hbi9saXN0aW5mby9weXRob24tY2hpbmVzZQ0KPj4+IA0KPg0KPnpob3UgaHVudGVy
PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18NCj56aG91IGh1bnRlcj4gRG8gWW91IFlhaG9vIT8NCj56aG91IGh1bnRlcj4gMTUwzfLH+k1Q
M7fov/HL0aOstPjE+rSzyOvS9MDWte7Mww0KPnpob3UgaHVudGVyPiBodHRwOi8vbXVzaWMueWlz
b3UuY29tLw0KPnpob3UgaHVudGVyPiDDwMWuw/fQx9Om09C+odPQo6zL0bHpw8DNvKGi0d7NvLrN
v+HNvA0KPnpob3UgaHVudGVyPiBodHRwOi8vaW1hZ2UueWlzb3UuY29tDQo+emhvdSBodW50ZXI+
IDFHvs3KxzEwMDDV16Os0cW7orXn08rX1Nb6wKnI3aOhDQo+emhvdSBodW50ZXI+IGh0dHA6Ly9j
bi5yZC55YWhvby5jb20vbWFpbF9jbi90YWcvMWcvKmh0dHA6Ly9jbi5tYWlsLnlhaG9vLmNvbS9l
dmVudC9tYWlsXzFnLw0KPnpob3UgaHVudGVyPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXw0KPnpob3UgaHVudGVyPiBweXRob24tY2hpbmVzZSBsaXN0DQo+
emhvdSBodW50ZXI+IHB5dGhvbi1jaGluZXNlQGxpc3RzLnB5dGhvbi5jbg0KPnpob3UgaHVudGVy
PiBodHRwOi8vcHl0aG9uLmNuL21haWxtYW4vbGlzdGluZm8vcHl0aG9uLWNoaW5lc2UNCj4NCj4N
Cj4NCj56aG91IGh1bnRlcj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+emhv
dSBodW50ZXI+IERvIFlvdSBZYWhvbyE/DQo+emhvdSBodW50ZXI+IDE1MM3yx/pNUDO36L/xy9Gj
rLT4xPq0s8jr0vTA1rXuzMMNCj56aG91IGh1bnRlcj4gw8DFrsP30MfTptPQvqHT0KOsy9Gx6cPA
zbyhotHezby6zb/hzbwNCj56aG91IGh1bnRlcj4gMUe+zcrHMTAwMNXXo6zRxbuitefTytfU1vrA
qcjdo6ENCj4NCj4NCj4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ki8NCj4NCj4tLSANCj5GcmVlIGFzIGluIEZyZWVkb20NCj4NCj4gWm9vbS5RdWlldCAgICAgICAg
ICAgICAgICAgICAgICAgICAgIA0KPg0KPiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PSMNCj5dVGltZSBpcyB1bmltcG9ydGFudCwgb25seSBsaWZlIGltcG9ydGFudCFb
DQo+Iz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Iw0KPg0KPnNlbmRl
ciBpcyB0aGUgQmF0ITIuMTIuMDANCj4NCj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXw0KPnB5dGhvbi1jaGluZXNlIGxpc3QNCj5weXRob24tY2hpbmVzZUBs
aXN0cy5weXRob24uY24NCj5odHRwOi8vcHl0aG9uLmNuL21haWxtYW4vbGlzdGluZm8vcHl0aG9u
LWNoaW5lc2UNCj4NCg0KPSA9ID0gPSA9ID0gPSA9ID0gPSA9ID0gPSA9ID0gPSA9ID0gPSA9DQoJ
CQkNCg0KoaGhoaGhoaGhoaGhoaGhodbCDQrA8aOhDQogDQoJCQkJIA0KoaGhoaGhoaGhoaGhoaGh
oWxpbW9kb3UNCqGhoaGhoaGhoaGhoaGhoaFjaGF0bWVAMjYzLm5ldA0KoaGhoaGhoaGhoaGhoaGh
oaGhoaEyMDA0LTA4LTA4DQoNCg==




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

2004年08月08日 星期日 14:08

Dreamingk(天成) dreamingk at tom.com
Sun Aug 8 14:08:17 HKT 2004

pythoner,您好!

	a=[1,2]
    b=a       
    c=a[:]   

b和c有什么区别,能说一说吗?
    
    这里的b和a引用的是同一对象,而c 却是a和b所引用的对象的一个copy!
    你可以用 id(a)   id(b)  id(c) 来互相比较一下证实!
    在当前的python 版本实现中,id就是此对象在内存中的地址!

======= 2004-08-08 13:10:14 您在来信中写道:=======

>zhou hunter,您好!
>
>	可以这么理解。在Python中一切东西都是对象,每个对象的使用都是引用来实现的。象你的第一个例子:
>
>'time'是一个对象,a='time'是对'time'的一个引用,a指向'time'的地址,这样'time'的对象计数加1.
>b='time'是对'time'又一次引用,'time'的对象计数再加1。因为都是引用,所以a,b的指向值是一样的。
>
>   list是一个对象的数组。
>  a=['time']得到的是list的引用,而不是'time'的引用。a[0]才是对'time'的引用。
>   b=['time']得到的是另一个list的引用,同样不是'time'的引用,但b[0]还是对'time'的引用。
>
>也许你会问为什么a与b不使用同一个引用呢?我想是因为在Python中有可变对象与不可变对象。可变对象是指在运行过程中,对象的值(不是对象本身的地址)是可以改变的,象list你可以增加它的元素。不可变对象是指在运行过程中,对象的值不可以改变。象Python中的字符串,一旦生成就不可以改变。如果想生成新的值,只可以创建新的对象。因此,Python在处理这些不同种类的对象的策略是不同的。对于可变对象,简单的赋值可能只是增加对象的引用计数。但对于可变对象,Python可能会生成新的对象。当然,你的语法必须是对象的构造形式才有这种区别。如果是变量与变量的赋值,那么只是拷贝了一个对象引用。
>
>对象的构造形式我是指:
>
>a=['time']或a='time'
>这种语法,因为Python的做法是先生成一个对象,然后再将对象的引用赋给变量a。而象
>b=a这种语法则只是一个引用的赋值,不会生成新的对象。
>
>象这种细微的差异,可能需要在平时的编程中多多测试可能才会更清楚。曾经在一些Blog中看到过有人对Python的这种语法有所抱怨。抱怨什么呢?他们说在Python中不分引用和对象的创建。的确,有时是先创建对象,再生成引用。有时只是生成引用。其实这种区别主要是存在不同的赋值语句的写法上,这些写法可能没有很明确地表明对象何时生成,何时被引用,但在一些教程中也有说明。希望在读书时多加注意。再加上自已的测试应该还容易理解。
>
>象:
>
>a=[1,2]
>b=a
>c=a[:]
>
>b和c有什么区别,能说一说吗?
>
>这里还有dreamingK写的一篇Blog可能对你的理解有帮助:http://blog.csdn.net/dreamingk/archive/2004/07/26/51658.aspx
>
>======= 2004-08-08 08:36:54 您在来信中写道:=======
>
>>wish you a good day:
>>        刚学python,我希望把注意到的问题解决,谢谢。
>>1,我的资料强调了变量的一个“指向性”的问题,那么我是一直注意指向的问题。
>>2,你的第一个解释认为:当变量指向(赋值)给常量的时候,因为常量是唯一的,所以指向同一常量的变量应该具有相同的内存位置。我理解并比较认同这一点,非常感谢。
>>3,至于第二点我还需要思考一下,首先你认为列表是变量,所以创建的地址不同,然后你推出所以给变量赋值变量的话,指向性也产生差异。
>>4,因为我的基础还是欠佳,所以我需要在想或查一下,谢谢你的指教。因为有朋友告诉我熟悉底层的机理对学习编程是有益的,所以我问了,非常感谢!我希望再看看其它朋友的意见。
>>   wish you a good day!
>>
>>mike gaul <zopemaillistcn at yahoo.com.cn> wrote:
>>老兄学的真细啊!我都没有注意这些问题。
>>我倒是不明白,我什么a='time';b='time的时候会相同。
>>你看我这样理解对不对,'time'事实上一个一个常量,因此,
>>他在内存中有一个地址。那个,把一个常量赋给两个不同的变
>>量,其id应该是相同的。
>>而对于list来说,list应该是变量,因此创建的时候,地址应该
>>是不相同的。这两个['time']因此在内存重视两个东西。他要准
>>备你随时对其进行更改。例如你更改了其中一个list,那么不可
>>能让另一个list也更改吧。
>>另外,id这个东西是不是应该和c中的指针差不多阿。
>>
>>
>>--- zhou hunter 
>>的正文:
>>> wish you a good day:
>>> 
>>>
>>补充:如果我是让a=["time"],然后,a=b的话,他们的id值就相同,我并没有因为这样而更加清晰,请赐教!希望不是因为版本问题,我用的是最新版的activepython,谢谢!
>>> 
>>> zhou hunter wrote:
>>> wish you a good day:
>>> 在整理笔记中有一个问题,举例子如下:
>>> >>> a="time"
>>> >>> b="time"
>>> >>> id(a)
>>> 12616688
>>> >>> id(b)
>>> 12616688#id值可以看出a,b指向且都指向“time"
>>> >>> a=['time']
>>> >>> b=['time']
>>> >>> id(a)
>>> 15300640
>>> >>> id(b)
>>> 15300680#可以看除a,b 指向了
>>> “【"time"】”但两个time却不同。
>>>
>>1,id是对数据的唯一标识符,"time"与"time"是同一数据,而列表的却截然不同
>>>
>>2,数据应是储存在内存的,那么“time"与'time'是同一位置,而列表的却不是。
>>>
>>我想请问到底为什么一旦列表,即使相同表的实际指向却是不同的,而不列表却相同?(我正在搜索这些资料,希望可以找到)
>>> 
>>> 谢谢
>>> zhou_hunter
>>> 
>>> 
>>> 
>>> ---------------------------------
>>> Do You Yahoo!?
>>> 150万曲MP3疯狂搜,带您闯入音乐殿堂
>>> 美女明星应有尽有,搜遍美图、艳图和酷图
>>>
>>1G就是1000兆,雅虎电邮自助扩容!_______________________________________________
>>> python-chinese list
>>> python-chinese at lists.python.cn
>>> http://python.cn/mailman/listinfo/python-chinese
>>> 
>>> 
>>> 
>>> ---------------------------------
>>> Do You Yahoo!?
>>> 150万曲MP3疯狂搜,带您闯入音乐殿堂
>>> 美女明星应有尽有,搜遍美图、艳图和酷图
>>> 1G就是1000兆,雅虎电邮自助扩容!>
>>_______________________________________________
>>> python-chinese list
>>> python-chinese at lists.python.cn
>>> http://python.cn/mailman/listinfo/python-chinese
>>> 
>>
>>_________________________________________________________
>>Do You Yahoo!?
>>150万曲MP3疯狂搜,带您闯入音乐殿堂
>>http://music.yisou.com/
>>美女明星应有尽有,搜遍美图、艳图和酷图
>>http://image.yisou.com
>>1G就是1000兆,雅虎电邮自助扩容!
>>http://cn.rd.yahoo.com/mail_cn/tag/1g/*http://cn.mail.yahoo.com/event/mail_1g/
>>_______________________________________________
>>python-chinese list
>>python-chinese at lists.python.cn
>>http://python.cn/mailman/listinfo/python-chinese
>>
>>
>>
>>---------------------------------
>>Do You Yahoo!?
>>150万曲MP3疯狂搜,带您闯入音乐殿堂
>>美女明星应有尽有,搜遍美图、艳图和酷图
>>1G就是1000兆,雅虎电邮自助扩容!
>>_______________________________________________
>>python-chinese list
>>python-chinese at lists.python.cn
>>http://python.cn/mailman/listinfo/python-chinese
>>
>
>= = = = = = = = = = = = = = = = = = = =
>			
>
>        致
>礼!
> 
>				 
>        limodou
>        chatme at 263.net
>          2004-08-08
>
>_______________________________________________
>python-chinese list
>python-chinese at lists.python.cn
>http://python.cn/mailman/listinfo/python-chinese
>

= = = = = = = = = = = = = = = = = = = =
			

        致
礼!
 
				 
        Dreamingk(天成)
        dreamingk at tom.com
          2004-08-08


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

2004年08月09日 星期一 10:19

Dirk Ye mailing at wandy.cn
Mon Aug 9 10:19:25 HKT 2004

我的理解:

    这里的问题不仅仅是引用这么简单,其实这是普遍的编译器(解释器也应该如此)针对性能的一种优化,具体分析如下:
    编译器/解释器为了节约系统资源以及提高本身的效率,面对常量值和变量值会区别对待:

    1、当解释器看到两个相同值的常量变量的时候,他们不会申请新的内存,只是增加第一个变量的地址引用数,所以你看到初始的a和b是相同的地址;但如果你要改变a或b的值以后,a和b的引用地址将不再相同,因为解释器会为修改的变量重新申请内存并修改相应的地址引用。
    2、当解释器遇到的是可变变量的时候,它认为用户会随时改变变量值,所以使用的是不同的地址。

    在Python中,字符串和元组是属于常量变量,他们符合第一种情况;而序列属于可变变量,符合第二种情况。

    验证如下:


>>> a = "time"
>>> b = "time"
>>> id(a)
16636288
>>> id(b)
16636288
>>> a += "s"
>>> id(a)
20165312
>>> id(b)
16636288
>>> m = ("time")
>>> n = ("time")
>>> id(m)
16636288
>>> id(n)
16636288
>>> s = ["time"]
>>> t = ["time"]
>>> id(s)
20361424
>>> id(t)
20515760
>>> 


请指正!!!

   


  ----- Original Message ----- 
  From: zhou hunter 
  To: python-chinese at lists.python.cn 
  Sent: Sunday, August 08, 2004 7:49 AM
  Subject: [python-chinese] 关于相同列表与字符串的id值问题


  wish you a good day:
            在整理笔记中有一个问题,举例子如下:
  >>> a="time"
  >>> b="time"
  >>> id(a)
  12616688
  >>> id(b)
  12616688#id值可以看出a,b指向且都指向“time"
  >>> a=['time']
  >>> b=['time']
  >>> id(a)
  15300640
  >>> id(b)
  15300680#可以看除a,b 指向了 “【"time"】”但两个time却不同。
  1,id是对数据的唯一标识符,"time"与"time"是同一数据,而列表的却截然不同
  2,数据应是储存在内存的,那么“time"与'time'是同一位置,而列表的却不是。
  我想请问到底为什么一旦列表,即使相同表的实际指向却是不同的,而不列表却相同?(我正在搜索这些资料,希望可以找到)

          谢谢
                  zhou_hunter




------------------------------------------------------------------------------
  Do You Yahoo!?
  150万曲MP3疯狂搜,带您闯入音乐殿堂
  美女明星应有尽有,搜遍美图、艳图和酷图
  1G就是1000兆,雅虎电邮自助扩容!


------------------------------------------------------------------------------


  _______________________________________________
  python-chinese list
  python-chinese at lists.python.cn
  http://python.cn/mailman/listinfo/python-chinese
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20040809/851d66a8/attachment.htm

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

2004年08月09日 星期一 10:24

mike gaul zopemaillistcn at yahoo.com.cn
Mon Aug 9 10:24:06 HKT 2004

这种说法我觉得更能让人理解。
但是,我觉得两种说法都有道理。

事实上我个人认为,只要知道大概的过程,和具体的结果。
哪种原因倒不是那么重要。

 --- Dirk Ye <mailing at wandy.cn> 的正文:
> 我的理解:
> 
>    
>
这里的问题不仅仅是引用这么简单,其实这是普遍的编译器(解释器也应该如此)针对性能的一种优化,具体分析如下:
>    
>
编译器/解释器为了节约系统资源以及提高本身的效率,面对常量值和变量值会区别对待:
> 
>    
>
1、当解释器看到两个相同值的常量变量的时候,他们不会申请新的内存,只是增加第一个变量的地址引用数,所以你看到初始的a和b是相同的地址;但如果你要改变a或b的值以后,a和b的引用地址将不再相同,因为解释器会为修改的变量重新申请内存并修改相应的地址引用。
>    
>
2、当解释器遇到的是可变变量的时候,它认为用户会随时改变变量值,所以使用的是不同的地址。
> 
>    
>
在Python中,字符串和元组是属于常量变量,他们符合第一种情况;而序列属于可变变量,符合第二种情况。
> 
>     验证如下:
> 
> 
> >>> a = "time"
> >>> b = "time"
> >>> id(a)
> 16636288
> >>> id(b)
> 16636288
> >>> a += "s"
> >>> id(a)
> 20165312
> >>> id(b)
> 16636288
> >>> m = ("time")
> >>> n = ("time")
> >>> id(m)
> 16636288
> >>> id(n)
> 16636288
> >>> s = ["time"]
> >>> t = ["time"]
> >>> id(s)
> 20361424
> >>> id(t)
> 20515760
> >>> 
> 
> 
> 请指正!!!
> 
>    
> 
> 
>   ----- Original Message ----- 
>   From: zhou hunter 
>   To: python-chinese at lists.python.cn 
>   Sent: Sunday, August 08, 2004 7:49 AM
>   Subject: [python-chinese]
> 关于相同列表与字符串的id值问题
> 
> 
>   wish you a good day:
>             在整理笔记中有一个问题,举例子如下:
>   >>> a="time"
>   >>> b="time"
>   >>> id(a)
>   12616688
>   >>> id(b)
>   12616688#id值可以看出a,b指向且都指向“time"
>   >>> a=['time']
>   >>> b=['time']
>   >>> id(a)
>   15300640
>   >>> id(b)
>   15300680#可以看除a,b 指向了
> “【"time"】”但两个time却不同。
>  
>
1,id是对数据的唯一标识符,"time"与"time"是同一数据,而列表的却截然不同
>  
>
2,数据应是储存在内存的,那么“time"与'time'是同一位置,而列表的却不是。
>  
>
我想请问到底为什么一旦列表,即使相同表的实际指向却是不同的,而不列表却相同?(我正在搜索这些资料,希望可以找到)
> 
>           谢谢
>                   zhou_hunter
> 
> 
> 
> 
>
------------------------------------------------------------------------------
>   Do You Yahoo!?
>   150万曲MP3疯狂搜,带您闯入音乐殿堂
>   美女明星应有尽有,搜遍美图、艳图和酷图
>   1G就是1000兆,雅虎电邮自助扩容!
> 
> 
>
------------------------------------------------------------------------------
> 
> 
>   _______________________________________________
>   python-chinese list
>   python-chinese at lists.python.cn
>   http://python.cn/mailman/listinfo/python-chinese
> > _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
>  

_________________________________________________________
Do You Yahoo!?
150万曲MP3疯狂搜,带您闯入音乐殿堂
http://music.yisou.com/
美女明星应有尽有,搜遍美图、艳图和酷图
http://image.yisou.com
1G就是1000兆,雅虎电邮自助扩容!
http://cn.rd.yahoo.com/mail_cn/tag/1g/*http://cn.mail.yahoo.com/event/mail_1g/


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

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

    你的回复:

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

    Zeuux © 2024

    京ICP备05028076号