了解python cod

2024-09-30 18:19:32 发布

您现在位置:Python中文网/ 问答频道 /正文

在实验室在

from ddr import Options
debugElmo     = int(Options.env['GG_DEBUG_ELMO'])
postdevElmo   = int(Options.env['GG_POST_DEV_ELMO'])

在选项.py在

^{pr2}$

我不确定env = dict((var, os.getenv(var, 0)) for var in vars_of_interest)发生了什么,因为我对python相当陌生

env是python中的函数吗Options.py?
dict()是什么?
var是来自int(Options.env['GG_DEBUG_ELMO'])的变量吗?在


Tags: frompydebugimportenvvar实验室dict
2条回答

通过查看Python解释器中的Python代码片段,您可以经常了解Python代码正在做什么:

>>> vars_of_interest
('AA_PYTHON', 'GG_POST_DEV_ELMO', 'GG_DEBUG_ELMO')

>>> import os

>>> [(var, os.getenv(var, 0)) for var in vars_of_interest]
[('AA_PYTHON', 0), ('GG_POST_DEV_ELMO', 0), ('GG_DEBUG_ELMO', 0)]

>>> env = dict((var, os.getenv(var, 0)) for var in vars_of_interest)
>>> env
{'AA_PYTHON': 0, 'GG_DEBUG_ELMO': 0, 'GG_POST_DEV_ELMO': 0}

^{cd1>}使^{cd2>}adict。如果您不确定对象是什么,可以始终询问对象的类型:

^{pr2}$

A^{cd3>}是键和值之间的映射。 在这种情况下,^{cd2>}是字符串(例如^{cd6>})和值(例如^{cd7>})之间的映射。

^{cd8>}是generator expression中使用的临时变量

^{pr3}$

生成器表达式中的^{cd9>}告诉Python在元组^{cd10>}中迭代项目,并在循环中迭代时逐个将值分配给^{cd8>}。 生成器表达式是迭代器。迭代器为每个^{cd8>}生成^{{cd12>}的值。

表达式^{cd12>}是一个元组,可以被认为是一对键值。^{cd8>}是键,^{{cd16>}是值。os.getenv查找环境变量^{cd8>}(例如^{cd6>}),如果环境变量存在,则返回环境变量的值,否则返回0。

当^{{cd3>}被传递时,键值对的迭代器将被传递,就像表达式中所做的那样

^{pr4}$

它返回^{cd3>}将给定的键映射到给定值。

请参见此处获取more information on Python dicts

第二个示例使用列表理解创建一个名为env的字典。在

什么是字典?这是一个关联列表。理解字典的一种方法是,它们就像数组,只是它们不是用数字索引,而是由其他东西索引。在本例中,它们由一个字符串(环境变量的名称)编制索引。在

什么是列表理解?这是一种创建列表的方法。由该列表理解创建的列表是对、环境变量名称和该环境变量的值的列表。内置函数dict从这样的对列表中创建字典。在

相关问题 更多 >