首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python将多个变量初始化为相同的初始值

Python将多个变量初始化为相同的初始值
EN

Stack Overflow用户
提问于 2015-10-25 23:58:01
回答 7查看 71.7K关注 0票数 37

我已经看过这些问题了,

  1. Python assigning multiple variables to same value? list behavior

关于元组,我只希望变量可以是字符串、整数或dictionary

这个问题有一些我想问的,但被接受的答案是非常复杂的

所以我想要实现的是,

我按如下方式声明变量,并希望将这些声明减少到尽可能少的代码行。

details = None
product_base = None
product_identity = None
category_string = None
store_id = None
image_hash = None
image_link_mask = None
results = None
abort = False
data = {}

最简单、最容易维护的是什么?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2015-10-26 00:15:09

我同意其他答案,但我想在这里解释重要的一点。

对象是单例对象。多少次你将无对象赋值给一个变量,同样的对象被使用。所以

x = None
y = None

等于

x = y = None

但是您不应该对python中的任何其他对象执行相同的操作。例如,

x = {}  # each time a dict object is created
y = {}

不等于

x = y = {}  # same dict object assigned to x ,y. We should not do this.
票数 57
EN

Stack Overflow用户

发布于 2015-10-26 00:05:27

首先,我建议你不要这么做。它是不可读的,也不是Pythonic式的。但是,您可以使用以下命令来减少行数:

details, product_base, product_identity, category_string, store_id, image_hash, image_link_mask, results = [None] * 8
abort = False
data = {}
票数 30
EN

Stack Overflow用户

发布于 2015-10-26 00:02:25

(
    details,
    producy_base,
    product_identity,
    category_string,
    store_id,
    image_hash,
    image_link_mask,
    results,
) = (None, None, None, None, None, None, None, None)

abort = False
data = {}

我就是这么做的。

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

https://stackoverflow.com/questions/33331732

复制
相关文章

相似问题

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