2012-06-15 96 views

回答

16

os.environ documentation并说明它是一个映射:

表示字符串环境的映射对象。

因此,它根据python mapping documentation行为,其中dict是标准实现。

os.environ为此行为就像标准的字典,它具有所有的相同的方法:

>>> import os 
>>> len(os.environ) 
36 
>>> 'USER' in os.environ 
True 
>>> os.environ.fromkeys 
<bound method classobj.fromkeys of <class os._Environ at 0x107096ce8>> 

.setdefault method是记录在同一页的映射对其余方法,你可以使用它只是罚款原样。

4

为了澄清---我不得不思考一下这个问题和答案的含义--- os.environ上的Python.org文档并不提及所有的内置方法用于映射类型(例如os.environ,它基本上是给出了附加方法的字典)。

相反,他们主要提到了他们已经给os中的一个对象提供了额外的方法,名为environ,并且是从类型dict派生的,超出了已经内置的那些。从我关于Python的书中,对于任何字典类型是dict.setdefault(键,默认为无),以及对此的解释是,这是类似于get()方法,但它设置的dict [关键] =默认如果关键是尚未在字典。

默认也许不是精心挑选的名字在这里,因为它是与somevariablename =默认值,在函数声明中声明的默认值的正常方式容易混淆。也就是说,尽管默认=无肯定设置默认,目前还不清楚setdefault在任何意义上的本质如何设置一个默认,默认可给予任何价值。