

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Referência rápida de expressões
<a name="build-job-bundle-expressions-reference"></a>

As expressões usam um subconjunto da sintaxe de expressões do Python. Os valores têm um dos tipos `bool``int`,`float`,`string`,`path`,`range_expr`, ou`list[{{T}}]`. Os parâmetros de Job têm a forma minúscula do tipo declarado, então um `PATH` parâmetro é um `path` valor e um parâmetro de `CHUNK[INT]` tarefa é um. `range_expr` Qualquer função também pode ser chamada como um método em seu primeiro argumento, então `upper(Param.Name)` e `Param.Name.upper()` são iguais. Esta página lista as partes da linguagem que os modelos de trabalho mais usam. Para ver a biblioteca completa de funções, consulte a [biblioteca de funções Open Job Description](https://github.com/OpenJobDescription/openjd-specifications/wiki/2026-02-Expression-Language#2-function-library) no GitHub site.

As seguintes variáveis estão disponíveis. Os parâmetros do trabalho são conhecidos quando o trabalho é criado, então uma expressão que usa somente `Param` valores é avaliada. As variáveis de tarefa e sessão são conhecidas somente pelo trabalhador, portanto, uma expressão que as usa é verificada por tipo no envio e avaliada quando a tarefa é executada.


| Variável | Tipo | Description | 
| --- | --- | --- | 
| Param.{{Name}} | Tipo declarado | Um valor de parâmetro do trabalho. Para LIST[PATH] parâmetros PATH e, regras de mapeamento de caminhos foram aplicadas. | 
| RawParam.{{Name}} | string | O valor original de um PATH parâmetro conforme enviado, antes do mapeamento do caminho. Use-o para manipular um caminho de outro sistema operacional antes de chamarapply\_path\_mapping(). | 
| Task.Param.{{Name}} | Tipo declarado | Um valor de parâmetro da tarefa. Um CHUNK[INT] parâmetro é umrange\_expr; list() chame-o para iterar os quadros. | 
| Task.File.{{Name}}, Env.File.{{Name}} | path | O local no trabalhador em que um arquivo incorporado foi gravado. | 
| Session.WorkingDirectory | path | O diretório de trabalho temporário da sessão no trabalhador. | 
| Job.Name, Step.Name | string | O nome do trabalho resolvido e o nome da etapa atual. | 

Os operadores e funções a seguir abrangem a maior parte da lógica do modelo.


| Categoria | Operadores e funções | Exemplo | 
| --- | --- | --- | 
| Aritmética | \+ - \* / // % \*\*, abs(), min(), max(), sum(), floor(), ceil(), round() | {{ min(Param.FrameRange) }}e {{ max(Param.FrameRange) }} para o primeiro e o último quadro de um parâmetro de intervalo de quadros | 
| Comparação e lógica | == \!= < <= > >=, in, not in, and, or, not, {{a}} if {{test}} else {{b}} | {{ 'large' if Param.Epochs >= 100 else 'small' }} | 
| Conversão | string(), int(), float(), bool(), path(), list(), range\_expr() | {{ len(list(Task.Param.Frame)) }} | 
| Strings | upper(),lower(),strip(),replace(),split(),join(),startswith(),endswith(),zfill(), removeprefix()removesuffix(), fatiando [{{start}}:{{stop}}] | {{ zfill(Task.Param.Frame, 4) }} | 
| Expressões regulares | re\_match(), re\_search(), re\_findall(), re\_sub(), re\_split(), re\_escape() | {{ re\_search(Param.Dataset.stem, r'\_v(\\d\+)')[1] }} | 
| Caminhos | /para \+ unir, acrescentar texto,,.name,.stem,.suffix,.parent,.parts,with\_suffix(),with\_stem(), with\_number() as\_posix() apply\_path\_mapping() | {{ Param.OutputPattern.with\_number(Task.Param.Frame) }} | 
| Listas | len(), indexação[{{i}}],,[{{expr}} for {{x}} in {{list}}],sorted(),reversed(),unique(), flatten() range() | {{ [Param.OutputDir / f for f in Param.Files] }} | 
| Citação de script | repr\_sh()para bash, repr\_pwsh() para PowerShell, repr\_cmd() para Windows CMD, para repr\_py() Python, para JSON repr\_json() | {{ repr\_pwsh(list(Task.Param.Frame)) }} | 
| Validação | fail({{message}})interrompe a criação de empregos com uma mensagem | {{ Param.Count if Param.Count > 0 else fail('Count must be positive') }} | 

A `with_number()` função substitui o número do quadro em um nome de arquivo, independentemente de o nome conter um espaço reservado ou um número real. Ele reconhece o preenchimento de hash`####`, como no estilo printf`%04d`, e uma sequência de dígitos, como`0001`, e preenche o resultado na mesma largura. Portanto, o valor de um parâmetro pode ser um padrão ou o primeiro arquivo de uma sequência: `path('/renders/shot_####.exr')``path('/renders/shot_%04d.exr')`,, e `path('/renders/shot_0001.exr')` todos fornecem `/renders/shot_0072.exr``with_number(72)`. Quando o nome não tem nada disso, a função acrescenta um número de quatro dígitos à raiz.

Alguns comportamentos são diferentes do Python. Os `or` operadores `and` e retornam somente um de seus operandos `false` e `null` contam como falsos; portanto`0`, uma string vazia e uma lista vazia não o fazem. Isso cria `or` uma forma de fornecer um substituto para um valor não definido: `{{ Param.OutputName or Param.InputFile.stem }}` usa o nome do arquivo de entrada quando o parâmetro opcional é`null`, e uma string vazia é mantida conforme fornecida. A condição em `{{a}} if {{test}} else {{b}}` deve ser booleana. Os números inteiros são de 64 bits e um estouro é um erro em vez de uma quebra silenciosa. Comparar valores de tipos diferentes com `==` é `false` em vez de um erro, exceto que `int` compara com `float` e `string` compara com. `path` Os literais JSON`null`,`true`, e `false` são aceitos junto com `None``True`, e. `False`

Para saber mais, consulte os seguintes recursos:
+ A [linguagem de expressão do Open Job Description](https://github.com/OpenJobDescription/openjd-specifications/wiki/2026-02-Expression-Language) no GitHub site — a gramática, o sistema de tipos, as regras de avaliação e cada operador e função com sua assinatura.
+ [Adicionar expressões a um modelo de trabalho](build-job-bundle-expressions-add.md)— Adicione expressões a um modelo.