将一个值分配给多个变量

问题描述:

我正在为跟踪自己的工作相关统计信息编写一个小应用程序。我有一个类将一个值分配给多个变量

class Shift(): 

def __init__(self): 
    self.hours = None 
    self.coworker = None 
    ... Etc 

我想要做的是将所有这些值分配为无创建移位对象。一次只能轻松完成一项,但我想知道是否有办法将None分配给多个变量。

+2

你现在正在做的事情很好。这很容易阅读和理解,并且你永远不应该牺牲那些少量的行 – 2014-10-30 22:15:41

+0

请澄清(你自己也是)你想要做的是分配相同的值多个变量,或DEFINE多个变量恰巧被初始化为相同的值。区别很重要 - 因为您使用的是NAMED变量 - 而且这些变量必须明确定义。如果它们已经存在,可以使用不同的解决方案来为它们分配值。 – immortal 2014-10-30 22:20:27

+0

我可能会这样做都是错的。我想要的是将移位对象的属性设置为无。然后在程序中的各个点将各种属性设置为它们各自的值。在存储对象之前,我希望能够验证所有属性都已设置为合适的值 – Oliver 2014-10-31 01:41:50

self.hours = self.coworker = None 

或者等价于无论你有多少变量。

+0

在此添加这一点非常重要,因为“无”是一个单例。如果您尝试将它用于复合类型,您会得到几个指向同一个对象的变量,这可能会导致意外的行为。 – immortal 2014-10-30 22:17:11

+0

另外值得一提的是,即使只有2个变量,乍一看也不清楚它的意图是什么。 – 2014-10-30 22:18:14

+0

@Puciek它来自C/C++之类的任何人:)但我同意这不是Pythonic ... – immortal 2014-10-30 22:21:56