Python论坛  - 讨论区

标题:[python-chinese] two questions

2005年08月08日 星期一 20:21

flyaflya flyaflyaa at gmail.com
Mon Aug 8 20:21:25 HKT 2005

>>> [] is None
False
>>> [] == None
False
>>> def foo(par=[]):
    if par is None:
        par = []
        par.append(0)
    print par

    
>>> foo()
[]
上面是我的测试结果,没有问题,if后面的语句不会被执行,还有参数最好不要用[],请看:http://www.ferg.org/projects/python_gotchas.html#contents_item_6


  ----- Original Message ----- 
  From: 小楼听雨 
  To: python-chinese at lists.python.cn 
  Sent: Tuesday, August 09, 2005 7:54 PM
  Subject: Re: Re: [python-chinese] two questions


  def foo(par=[]):
      if par is None:
          par = []
          par.append(0)
      print par

  foo()
  print foo.func_defaults

  foo()
  print foo.func_defaults

  foo([9])
  print foo.func_defaults

  foo()
  print foo.func_defaults

  结果是:
  []         
  ([],) #为什么不是([0],)
  []
  ([],)
  [9]
  ([],)
  []
  ([],)
   难道是par.append(0)的问题?
    


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


  _______________________________________________
  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/20050808/81c7e5b6/attachment.html

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

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

    你的回复:

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

    Zeuux © 2025

    京ICP备05028076号