我刚刚开始使用Python - 我的重点是将它与Maya及其API一起使用 - 我发现当我正在处理某些事情时,通常至少有2到3种方法可以做同样的事情.我正在努力做到.例如:
for key, value in locNameConnector.iteritems():
value = locNameConnector[key]
cmds.connectJoint(value, key, pm=True)
Run Code Online (Sandbox Code Playgroud)
要么
for name in locNameConnector:
cmds.connectJoint(locNameConnector[name][0], name, pm=True)
Run Code Online (Sandbox Code Playgroud)
现在代码在Maya中调用特定的东西,但我的问题是,哪种方式更正确?我觉得第一个是因为它利用了Python的力量,而第二个可以用任何语言编写.有更正确的方法吗?一个比另一个快吗?
Python的哲学之一是:
应该有一个 - 最好只有一个 - 显而易见的方法.
(您可以import this在Python shell中看到这些列表 - 称为The Zen of Python ).
Python确实试图让它真正只有一种方式.但是对于超出基本功能水平的任何语言,总会有不止一种方法来做任何非平凡的事情 - 这就是编程的方式.但即使有不止一种方式,通常也会被认为是更多的"Pythonic".
至于实际的例子,他们似乎并不等同-第一个是仰视value中l_LegJointConnectors,第二查找它的locNameConnector.第一个例子中的第二行是否应该存在?如果没有,第一个肯定比第二个更像Pythonic.
| 归档时间: |
|
| 查看次数: |
293 次 |
| 最近记录: |