5.20Найти следующие композиции:
или доказать, что такая композиция невозможна на естественных областях определения функцийf и .
Решение. Сложная функция (или композиция функций f и g) будет определена тогда, когда множество значений E(g) функции g содержится в области определения D(f) функции f. В нашем случае E(g)= , D(f)= , D(g)= , E(f)= . Так как E(g)D(f), то определена функция .
Поскольку E(f) не содержится в D(g), то композиция g(f) на естественных областях не возможна.
E(f) D(f)
E(g) не содержится в D(g). Поэтому композиция g(g) на естественных областях не возможна.
На естественной области определения f не определена функция (в точке x=0) и поэтому не определена функция .
Областью определения функции является множество . Так как множество значений функции f не содержится в нём, то композиция не возможна на естественной области определения f .
Лабораторная работа №3
Числовые функции
Необходимые понятия и теоремы: область определения, область значений, графики элементарных функций, сдвиги
Литература: [1] с. 16 – 28, [2] c. 71 – 84, [3] с. 23 – 36.
1 Найти область определения функции
№ | № | ||
1. 1 | 1.11 | ||
1.2 | 1.12 | ||
1.3 | 1.13 | ||
1.4 | 1.14 | ||
1.5 | 1.15 | ||
1.6 | 1.16 | ||
1.7 | 1.17 | ||
1. 8 | 1.18 | ||
1.9 | 1.19 | ||
1.10 | 1.20 |
2 Найти множество значений функции
№ | № | ||
2.1 | 2.11 | ||
2.2 | 2.12 | ||
2. 3 | 2.13 | ||
2.4 | 2.14 | ||
2.5 | 2.15 | ||
2.6 | 2.16 | ||
2.7 | 2.17 | ||
2.8 | 2.18 | ||
2.9 | 2. 19 | ||
2.10 | 2.20 |
3 Построить график функции
№ | № | ||
3.1 | 3.11 | ||
3.2 | 3.12 | ||
3.3 | 3.13 | ||
3.4 | 3. 14 | ||
3.5 | 3.15 | ||
3.16 | |||
3.7 | 3.17 | ||
3.8 | 3.18 | ||
3.9 | 3.19 | ||
3.10 | 3.20 |
scope — получить определение функции из их вызовов в Python
Задать вопрос
спросил
Изменено 2 года, 6 месяцев назад
Просмотрено 268 раз
Мне нужно выполнить анализ AST функции, которая вызывает другие функции. Как получить доступ к AST вызываемых функций?
Учитывайте следующее:
из другого импортного чека защита f1(): вернуть 1 защита f2(): вернуть f1() проверить(f2)
С other.py
as:
import inspect импортировать проверка защиты (f): ast.parse (проверить.getsource (f))
AST будет иметь FunctionDef
из f2
с узлом Call
для f1
, но я не знаю, как получить FunctionDef
из f1
. Точно так же, если в области видимости есть переменные, я хочу получить их значения.
Насколько я понимаю, мне нужно каким-то образом посмотреть текущую область/кадр и получить эту информацию, но я не могу понять, как это сделать. Я могу использовать декораторы на f2
, если это поможет.
- python
- область видимости
- абстрактное дерево синтаксиса
- проверка
2
Я думаю, вы можете использовать функцию проверки в сочетании с методом получения исходного кода.
Посмотрите здесь: https://opensource.com/article/18/5/how-retrieve-source-code-python-functions
Вы можете получить список возможных атрибутов объекта, вызвав для него dir() . В этот момент вы получите словарь со всеми вызываемыми объектами. В этот момент вы можете найти те, которые не начинаются с символов подчеркивания, и получить их источник.
Что-то вроде:
class Test(): def __init__(самостоятельно, тест): self.test = тест защита test_funt(): проходят атрибуты = каталог (тест) для атрибута в атрибутах: печать (атрибут)
Это даст вам список имен, которые можно вызывать в классе. Затем вы можете использовать метод getattribute объекта. Метод получения атрибута может быть вызван для объекта по строке, и он будет извлекать атрибут в области действия этого объекта, независимо от того, является ли он функцией или переменной. Затем вы можете получить тип этого возвращаемого атрибута и проверить, является ли это функцией для получения его источника. Например, выполнение type(test.test_funt) вернет метод.
3
Зарегистрируйтесь или войдите в систему
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
scope — R: Не искать переменные вне функции, если они не существуют в ней
спросил
Изменено 2 года, 3 месяца назад
Просмотрено 318 раз
Эта функция работает в R:
f <- function(x) { х + у }
Потому что, если переменная y
не определена внутри функции f()
, R будет искать ее вне среды функции, в ее родительской среде.
Помимо того, что такое поведение может быть генератором ошибок, какой смысл в функциях, имеющих входные параметры? В любом случае, все переменные внутри функции можно искать вне ее.
Есть ли способ не искать переменные вне функции, если они не существуют внутри функции?
- r
- прицел
2
Некоторые причины использования параметров, которые пришли мне на ум:
- Без параметров пользователи должны определять переменные перед использованием функции, и эти имена переменных должны совпадать с именами переменных , используемых в функции - это нецелесообразно .
- Как кто-то должен знать/запоминать имена переменных внутри функции? Как узнать, какие переменные внутри функции являются чисто локальными, а какие переменные должны существовать вне функции?
- Входные параметры могут передаваться напрямую как значения или как переменная (при этом имя переменной не имеет значения).