РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
205 of 643 menu

Тест callable

Тест callable применяется внутри Jinja-шаблонов для проверки того, можно ли вызвать переданное значение как функцию. Он возвращает True, если объект является вызываемым, и False в противном случае. Тест принимает один параметр - значение, которое нужно проверить.

Синтаксис

{% if value is callable %} ... {% endif %}

Пример

Давайте проверим обычную функцию на вызываемость:

from flask import Flask, render_template app = Flask(__name__) def greet(): return 'hello' @app.route('/') def index(): return render_template('index.html', func=greet)

Шаблон для проверки:

{% if func is callable %} <p>callable</p> {% else %} <p>not callable</p> {% endif %}

Результат выполнения кода:

<p>callable</p>

Пример

Давайте проверим строку и число на вызываемость:

from flask import Flask, render_template app = Flask(__name__) @app.route('/') def index(): return render_template('index.html', text='abcde', num=123)

Шаблон для проверки:

{% if text is callable %} <p>text callable</p> {% else %} <p>text not callable</p> {% endif %} {% if num is callable %} <p>num callable</p> {% else %} <p>num not callable</p> {% endif %}

Результат выполнения кода:

<p>text not callable</p> <p>num not callable</p>

Пример

Давайте проверим встроенную функцию и класс на вызываемость:

from flask import Flask, render_template app = Flask(__name__) class User: pass @app.route('/') def index(): return render_template('index.html', fn=len, cls=User)

Шаблон для проверки:

{% if fn is callable %} <p>fn callable</p> {% endif %} {% if cls is callable %} <p>cls callable</p> {% endif %}

Результат выполнения кода:

<p>fn callable</p> <p>cls callable</p>

Смотрите также

  • тест defined,
    который проверяет, определена ли переменная
  • тест undefined,
    который проверяет, не определена ли переменная
  • тест iterable,
    который проверяет, является ли значение итерируемым
  • тест mapping,
    который проверяет, является ли значение словарём
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить