在 Python 中,exec
函数用于动态执行 Python 代码。你可以使用 exec
来执行包含嵌套 %
打印格式的代码。为了更好地理解这一点,我们可以通过一个示例来展示如何在 exec
中使用嵌套的 %
格式化字符串。
假设我们有一个嵌套的格式化字符串,并希望在 exec
中执行它。以下是一个完整的示例:
# 定义变量
name = "Alice"
age = 30
# 定义嵌套的格式化字符串
code = """
message = "Hello, %s! You are %d years old." % (name, age)
print(message)
"""
# 使用 exec 执行代码
exec(code)
name
和 age
是我们要在格式化字符串中使用的变量。code
是一个包含嵌套格式化字符串的多行字符串。这里我们使用了 %
操作符来进行字符串格式化。exec
执行代码:exec(code)
动态执行 code
字符串中的 Python 代码。运行上述代码后,你将看到以下输出:
Hello, Alice! You are 30 years old.
如果你有更复杂的嵌套格式化需求,可以使用 str.format
方法或 f-strings(Python 3.6+)来实现。以下是使用 str.format
和 f-strings 的示例:
str.format
# 定义变量
name = "Alice"
age = 30
# 定义嵌套的格式化字符串
code = """
message = "Hello, {}! You are {} years old.".format(name, age)
print(message)
"""
# 使用 exec 执行代码
exec(code)
# 定义变量
name = "Alice"
age = 30
# 定义嵌套的格式化字符串
code = f"""
message = f"Hello, {name}! You are {age} years old."
print(message)
"""
# 使用 exec 执行代码
exec(code)
领取专属 10元无门槛券
手把手带您无忧上云