如果在网上再书上找关于Python的优势的内容确实很多,但是,对于初学的我来说不太容易理解和记住,因为本身没有什么编程背景,只是在maya里会用些mel,可是昨天帮同事解决一个问题的时候让我真正感觉到了这条大蟒蛇的威力……;简单说一下同事要求的效果,就是做个小button,点一下,回到起始帧,再点一下回到之前那帧,他做的布料是从-10帧开始结算,当时就是用if从句判断当前时间,然后再确定当前时间去哪帧,那么我就要在非-10帧的条件下判断一次,然后在function里记录下当前帧给一个变量,然后再另建函数判断当前帧,如果不是-10帧,就回到-10位置,如果是-10就回到之前那个变量的数值位置,不能把提取当前帧的变量写在开头,否则每次执行mel的时候都会提取一次当前帧变量,那样在-10的时候就记录了,回不去了,这样写的话就是:;if(`currentTime`!=-10);{$t=`currentTime`;}//这步就给$t赋值了,让赋值成为函数;if(`currentTime`!=-10)//在这就已经出错了,上一个if从句里的function是不支持在其他函数块中运用的,但是我想申明全局变量,可是却报错,意思是全局变量需要是固定的;;{;currentTime-10;;}elseif(;//Python是可以支持elseif从句的,并且支持多个elseif从句的并存;currentTime$t;;);我是在想不出只用变量保存数值的方法了,于是就在场景中创建了个乘除节点(不管什么节点都可以),然后用它的一个属性来存储当前帧,这样就不用每次执行mel的时候都要重新定义当前帧了,想解决人家的当前难题为主要思想,别影响别人工作,之后今天中午我就想试下Python的方法,毕竟也玩了挺长时间了,联系过一些东西,原本想用内建函数的饭食,可是转而一想,Python在每个模块执行的时候都不需要用{}把function括起来,之需要缩进就行,是不是变量可以再各个模块之间执行?基于这种想法,我就试验了一个回到第一帧的脚本演示,结果出乎我的意料,真的很好很强大!;importmaya.cmdsasmc;ifmc.currentTime(query=True)!=1:sp; ttt=mc.currentTime(query=True);ttt=int(ttt);ifmc.currentTime(query=True)!=1:mc.currentTime(1);elifmc.currentTime(query=True)==1:###elseif在py里是elif更多教程