0

オブジェクトを指定するとリストを返す関数を定義しようとしていますが、何も指定しないと *_control でシーン内のすべてのオブジェクトのリストを返します..それは私の関数ですが、機能しません.... 私はマヤと一緒に働いています..

from maya import cmds

def correct_value(selection):

       if not isinstance(selection, list):
            selection = [selection]
            objs = selection
            return objs

       if not selection : 
            objs = cmds.ls ('*_control')    
            return objs

何も指定しないと、エラーが返されます:

エラー: 行 1: TypeError: ファイル行 1: correct_value() は正確に 1 つの引数を取ります (0 を指定)

どうしたの ??

4

5 に答える 5

1

Well, you wrote your function with a required argument. Therefore, you have to pass the argument. You can write it so the argument is optional by specifying the value that will be used when nothing is passed:

def correct_value(selection=None):

etc.

于 2013-06-05T13:18:46.663 に答える
1

If you want a parameter to be optional, you need to provide a default value:

def correct_value(selection=None):
    # do something

    if selection is None: 
        #do something else
于 2013-06-05T13:19:03.060 に答える