leisurelicht/wtfpython-cn

一些建议和补充

liliao2017 opened this issue · 4 comments

首先,感谢大大提供的翻译!
上周末大致读完后,以下几个地方想做一些补充

  1. 项目中多次出现的change in place翻译为“原地更新”,个人觉得翻译为“更新对象本身”更容易理解。例如 Mutating the immutable!/强人所难中的这一句:
    += operator changes the list in-place. The item assignment doesn't work, but when the exception occurs, the item has already been changed in place.
    原翻译为“+= 操作符在原地修改了列表. 元素赋值操作并不工作, 但是当异常抛出时, 元素已经在原地被修改了”
    可修改为“+= 操作符修改了列表本身. 元素赋值操作并不能正常运行, 但是当异常抛出时, 元素本身已经被修改了”
  2. Let's see if you can guess this?/看看你能否猜到这一点这一节的说明中第三点和第六点中的“元祖”应为“元组”
  3. Inpinity/无限这里的拼写应该是为了突出python中无限的定义与pi有关,因此将两个单词拼在一起
  4. Mangling time!/修饰时间!这一小节中印度人的梗可能与Yo Yo Honey Singh这位印度音乐人有关
  5. 循环变量泄漏这一节的说明这里提到的python3中列表推导的更新,可以参考这个stackoverflow上的讨论 个人的理解是list comprehension和list(generator expression)两者在实现上并不一样,但在语法和特性上可以参考着来看

多谢你的建议。

第1个 change in place 翻译成 原地更新 主要是想强调地址的的概念。
比如你举例的这一句原理其实就是成功修改了地址中的内容,但是在修改指向地址的指针时,就报错了:
改为 更新对象本身 我觉得会失去这个含义。

其他的我觉得没什么问题,印度人那个梗你都能get到是真的厉害 👍

第5条我还是没有完全弄明白,等我再研究研究,如果你有更好的解释也请告诉我。

谢谢你的回复。
确实原来的翻译也有好处,可以强调地址不变这个本质。
印度人的那个梗我其实不太确定,毕竟不了解印度文化。但是搜索关键词这个人相关的结果很多,原作者似乎也是印度背景,我猜测多少应该有关吧。
关于第五点,我也觉得python3更新文档里被引用的那部分表达有些含糊,没有完全明白它的意思。不过对于列表推导,平时编程的话能使用正确的语法,理解变量作用域应该就还好。stackoverflow上的讨论可以作为一个补充阅读,要是有新的理解可以再交流。