Как сделать так, чтобы только часть кода была доступна в другом файле?
Создадим файл test.py и напишем в его этот код:
x = 123
def f(a):
global x
return a + x
Как сделать так, чтобы в условном файле test2.py был доступ только к функции f(), но при этом при её вызове не должна выводиться ошибка, что переменной x не существует?
Ответы (2 шт):
- Оба файла должны быть в 1 директории
- Импортируйте test в test2
from test import x, f
Либо (чтобы сразу всё импортировать)
from test import *
Готово.
Дополню ответы третьим способом. Также импортировать функцию как и ранее, но с одним нюансом - избавиться от глобалки, а x указать в параметрах функции в качестве значения по умолчанию:
def f(a, x = 123):
В таком случае x можно будет при вызове функции указать вторым аргументом. При передаче одного аргумента, в вызов функции f(), переменная x будет использовать значение по умолчанию, указанное в голове (инициализации) функции.