<p>让我们看看这里。。。你知道吗</p>
<pre><code>reshape, crop = {
1: ((1952, 3264), (1944, 3240)),
2: ((2480, 4128), (2464, 4100)),
}
</code></pre>
<p>这里是用键<code>1</code>和<code>2</code>定义字典。每个键都有一个元组。我相信真正的代码中有更多的条目,在最后一项上用逗号表示。然而,这个对象的大部分会丢失到垃圾收集中。对<code>reshape</code>和<code>crop</code>的元组赋值将导致只存储密钥。所以这个结果是一样的:</p>
<pre><code>reshape = 1
crop = 2
</code></pre>
<p>没用就有趣。下一个。。。你知道吗</p>
<pre><code>offset = {1: 6404096, 2: 10270208,}[ver]
</code></pre>
<p>所以这里定义了另一个字典,其中包含键<code>1</code>和<code>2</code>以及与它们相关联的长整数值。然后它用<code>ver</code>索引这个字典,并将这个索引处的值赋给<code>offset</code>。因为<code>ver</code>还没有定义,这实际上会导致一个异常。假设在前面的代码之前给出了以下代码:</p>
<pre><code>#where ver is defined as a dictionary
ver = {
'RP_ov5647': 1,
'RP_imx219': 2,
}[camera.exif_tags['IFD0.Model']]
</code></pre>
<p>我们还有一本字典。这一次键是<code>'RP_ov5647'</code>和<code>'RP_imx219'</code>,值是<code>1</code>和<code>2</code>。此词典的索引值为<code>camera.exif_tags['IFD0.Model']</code>。假设<code>camera.exif_tags</code>是具有键控索引的对象,其中一个索引是<code>'IFD0.Model'</code>,结果值是<code>'RP_ov5647'</code>或<code>'RP_imx219'</code>,则<code>ver</code>将被分配<code>1</code>或<code>2</code>。你知道吗</p>
<p>因此,1或2将用于索引我们的上述偏移量值,从而导致偏移量被指定为<code>6404096</code>或<code>10270208</code></p>
<p>简而言之,这都是一堆语法上有效的东西。谢谢分享。你知道吗</p>