#跟着教程学# 3、Python基础 //Maya select和ls命令返回值问题
脚本编程
execfile('c:/*py') #括号里填要指定的py文件路径就可以执行了。
脚本中有中文,需要在开头加上
# coding=utf-8
表达式与操作符
专业术语,例如2+2,‘2’称为值,'+'为运算符,‘2+2’这个表达式是求值。
运算符,包括
- 赋值运算符:
- =简单的赋值运算
- +=加法赋值运算
- -=减法赋值运算
- *=
- /=
- %=
- //=取整除赋值运算符
- 算术运算符:+ - * / % // **
- 关系运算符:== > < >= <= <> !=
- 逻辑运算符:and or not
- 位运算符:&
- 成员运算符:in not in
- 身份运算符:is is not
Python的注释
注释可以用#单行注释, ''' 和 “”“ 三引号为多行注释。
变量
可以把表达式的值储存下来,方便调用。
例如,在maya中,选择当前选择的物体,存入变量中,释放选择后,再次选择被释放的物体可以直接选变量,因为它存储了被选物体的信息。
---
用以上面的文字做测试时,我遇到一个问题,原本是直接用Sel作为存储的变量,结果打印出来的值为None。调用Sel为空,则没有选择内容。这里就有一个Return value(返回值)的概念。
select 返回值为None。
ls 返回场景中对象的名称。返回值是string[] Command result。
# coding=utf-8 import maya.cmds as cmds #创建两个立方体,然后选择所有Dag物体 cmds.polyCube( n='cube1' ) cmds.polyCube( n='cube2' ) Sel = cmds.select( ado=True ) print Sel #清除选择 cmds.select( clear=True ) #选择变量Sel中储存的物体,这里会没有任何选择。 cmds.select( Sel , replace=True ) #把选择的物体加到SelDag变量中。ls命令返回是字符串列表。 SelDag = cmds.ls( sl=True ) print SelDag #清除选择 cmds.select( clear=True ) #选择变量SelDag中储存物体。 cmds.select( SelDag , replace=True )
变量的命名规范:字母(区分大小写),数字以及下划线。好的变量名描述了它所包含的数据。python保留字是不能使用的。