Прекрасное объяснение, спасибо. Также эти ссылки очень полезны.

сь создавать пользовательский интерфейс для Maya на нативном Python (не Tkinter). следующий код работает просто отлично, создает окно с кнопкой, которая при нажатии печатает 'bar' для вывода истории:

import maya.cmds as cmds
cmds.window(title='Basic UI')
cmds.columnLayout()
foo = 'bar'
cmds.button(label = 'foobar', command = 'print(foo)')

cmds.showWindow()

Но если я добавлю тот же код в функцию buildIt ():

import maya.cmds as cmds

def buildIt():
    cmds.window(title='Basic UI')
    cmds.columnLayout()
    foo = 'bar'
    cmds.button(label = 'foobar', command = 'print(foo)')

    cmds.showWindow()

buildIt()

Окно строится нормально, но после активации кнопки я получаю:

Error: NameError: file <maya console> line 1: name 'foo' is not defined

Что здесь происходит? И как мне это исправить?

Ответы на вопрос(1)

Ваш ответ на вопрос