我正在阅读一本名为“Head First Programming”的书,其中有一个特定部分让我对他们为什么要这样做感到困惑。
似乎没有任何理由,文本中也没有任何解释。
有问题的问题是使用多重赋值将字符串中的拆分数据分配到哈希中(如果您问我,这对于他们为什么使用哈希没有意义,但这是一个单独的问题)。这是示例代码:
line = "101;Johnny 'wave-boy' Jones;USA;8.32;Fish;21"
s = {}
(s['id'], s['name'], s['country'], s['average'], s['board'], s['age']) = line.split(";")
我知道这将获取字符串line
并将其拆分为每个命名部分,但我不明白为什么我认为的键是通过使用字符串来命名的,而在几页之前,它们被命名为任何其他变量,没有单引号。
各个部分的目的是基于单个元素进行搜索,然后打印在屏幕上。例如,能够通过 ID 号进行搜索,然后返回整个事物。
有问题的语言是 Python,如果这有什么不同的话。这对我来说相当混乱,因为我正在尝试自己学习这些东西。
我个人最好的猜测是它没有任何区别,而且这是部分作者的个人喜好,但令我感到困惑的是,他们会突然改变这种形式而没有任何意义,并且进一步困扰我他们没有不用解释了。
编辑:所以我尝试id
在名称周围打印带单引号和不带单引号的密钥,无论哪种方式,它都工作得很好。因此,我不得不假设这是个人喜好问题,但我仍然希望从真正知道他们在做什么的人那里得到一些信息,从长远来看它是否真的会有所作为。
编辑 2: 显然,我的 Python 解释器实际上是如何使用我给它的东西没有任何意义,所以我做了一个屏幕截图,它工作https://www.youtube.com/watch? v=52GQJEeSwUA