在字符串中创建 f 字符串的方法
way to create fstring inside a fstring
是否可以在 fstring 中创建 fstring?
我现在正在尝试的是使用 eval 创建一个动态函数。
我的代码是这样的
func_string = ''
for scenario in ['scene1', 'scene2']:
for aa in ['int', 'ext']:
func_string += f'''
def function_{scenario}_{aa}(part):
print(f"this is {part}")
'''
eval(func_string)
function_scene1_int('part1')
运行 此脚本将 return:
这是第一部分
你可以像这样创建一个工厂方法...
def factory(a, b):
def g(c):
print(f'this is {c}')
return f'other stuff using {a}, {b} and {c}' # if you want to
return g
然后像这样使用它
>>> f = factory('scene1', 'int')
>>> msg = f('part1')
this is part1
>>> print(msg)
other stuff using scene1, int and part1
是否可以在 fstring 中创建 fstring?
我现在正在尝试的是使用 eval 创建一个动态函数。
我的代码是这样的
func_string = ''
for scenario in ['scene1', 'scene2']:
for aa in ['int', 'ext']:
func_string += f'''
def function_{scenario}_{aa}(part):
print(f"this is {part}")
'''
eval(func_string)
function_scene1_int('part1')
运行 此脚本将 return: 这是第一部分
你可以像这样创建一个工厂方法...
def factory(a, b):
def g(c):
print(f'this is {c}')
return f'other stuff using {a}, {b} and {c}' # if you want to
return g
然后像这样使用它
>>> f = factory('scene1', 'int')
>>> msg = f('part1')
this is part1
>>> print(msg)
other stuff using scene1, int and part1