首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >了解python代码

了解python代码
EN

Stack Overflow用户
提问于 2013-06-28 03:56:39
回答 2查看 273关注 0票数 5

ab.py

代码语言:javascript
运行
复制
from ddr import Options
debugElmo     = int(Options.env['GG_DEBUG_ELMO'])
postdevElmo   = int(Options.env['GG_POST_DEV_ELMO'])

Options.py

代码语言:javascript
运行
复制
vars_of_interest = (
    'AA_PYTHON',
    'GG_POST_DEV_ELMO',
    'GG_DEBUG_ELMO',
    )
env = dict((var, os.getenv(var, 0)) for var in vars_of_interest)

我不确定env = dict((var, os.getenv(var, 0)) for var in vars_of_interest)是怎么回事,因为我是python的新手。

在Options.py中,env是python中的函数吗?

dict()是什么?

是否将变量从int(Options.env['GG_DEBUG_ELMO'])变量

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-28 04:02:35

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

代码语言:javascript
运行
复制
>>> 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}

env = dict(...)使env成为dict。如果您不确定某个对象是什么,您可以随时询问它的类型:

代码语言:javascript
运行
复制
>>> type(env)
dict

dict是键和值之间的映射。在本例中,env是字符串(如'AA_PYTHON' )和值(如0 )之间的映射。

var是在generator expression中使用的临时变量

代码语言:javascript
运行
复制
((var, os.getenv(var, 0)) for var in vars_of_interest)

生成器表达式中的for var in vars_of_interest告诉Python遍历元组vars_of_interest中的项,并在遍历循环时将值逐个分配给var。生成器表达式是一个迭代器。迭代器为每个var生成(var, os.getenv(var, 0))的值。

表达式(var, os.getenv(var, 0))是一个元组,可以将其视为键-值对。var是关键字,os.getenv(var, 0)是值。os.getenv查找环境变量var (例如'AA_PYTHON')并返回该环境变量的值(如果存在),否则返回0。

当向dict传递键-值对的迭代器时,就像在表达式中所做的那样

代码语言:javascript
运行
复制
dict((var, os.getenv(var, 0)) for var in vars_of_interest)

它返回一个将给定键映射到给定值的dict

有关more information on Python dicts的信息,请参阅此处。

票数 7
EN

Stack Overflow用户

发布于 2013-06-28 04:05:50

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

字典是什么?这是一个关联列表。一种看待字典的方式是,它们类似于数组,不同的是,它们不是由数字索引的,而是由其他东西索引的。在这种情况下,它们由一个字符串(环境变量的名称)索引。

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17352094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档