menny 发表于 2017-4-25 09:57:36

python的几个问题

  最近用python写一个导数据的脚本,发现两个python的问题,新手可能容易出错。
  1. dict默认参数
  看代码:

>>> def test(d={}):
...   print d
...   d['z'] = 'z'

>>> test({'a':'a'})
{'a': 'a'}
>>>
>>> test()
{}
>>> test()
{'z': 'z'}

  发现函数体内对默认参数的复制,会影响下一次的调用。
  解决办法一:不用空的dict,用None

>>> def test(d=None):
...   if not d:
...         d = {}
...   # do something
...   print d
...   d['z'] = 'z'

  解决办法二:用keyword

>>> def test(**d):
...   print d
...   d['z'] = 'z'
  2. python2.5不支持返回unicode的dict
页: [1]
查看完整版本: python的几个问题