Не существует явного ключевого слова для объявления свободной переменной в Python. На основе определения функции и утверждений внутри нее и ее окружения Python будет классифицировать переменные в связанные, ячейки и свободные переменные.
Следующий пример иллюстрирует эту концепцию, используя объект кода функции, который инкапсулирует перечисленные переменные в предыдущем параграфе.
def func(arg1, arg2=2):
def inner_func(arg3=arg2):
return arg1, arg3
arg1, arg2 = None
return inner_func
Для функции func ':
• arg1 и arg2 являются связанными переменными
• arg1 является переменной ячейки , поскольку она является свободной переменной внутри ' inner_func '
• Нет свободных переменных.
func.__code__.co_varnames
('arg1', 'arg2', 'inner_func')
func.__code__.co_cellvars
('arg1',)
func.__code__.co_freevars
()
Для inner_func ':
• arg3 является связанной переменной
• arg1 - свободная переменная
• Нет переменных ячейки
inner_func.__code__.co_varnames
( 'arg3',)
inner_func.__code__.co_freevars
('arg1')
inner_func.__code__.co_cellvars
()
Просто сделайте:
let timeString = String(format: "https://stackoverflow.com/character=\"inside\"").replacingOccurrences(of: "\"", with: "")
Это будет выводить как:
https://stackoverflow.com/character=inside
Заменить вхождения «ничем».
Удачного кодирования!
Вы можете сделать:
let timeString = String(format: "https://stackoverflow.com/character=inside")
Или я что-то упустил?
Просто используйте интерполяцию строк. Вы можете гибко передавать целые, строковые, двойные и т. Д.
let timeString = String(format: "https://stackoverflow.com/character=\(inside)")