首页 > 解决方案 > Python3.9中的str格式化

问题描述

我正在使用 Python 3.9 并尝试编写函数

def greet(request, name):
    return HttpResponse(f'Hello, {name.capitalize}!')

用于格式化f字符串,但它不起作用。关于为什么的任何想法?

标签: pythonstringformatting

解决方案


capitalizestr对象的方法。
因此,您需要添加括号才能调用它:

def greet(request, name):
    return HttpResponse(f'Hello, {name.capitalize()}!')

此外,name.capitalize实际上只是对函数的引用。
尝试在 python 解释器中运行以下命令:

print(str.capitalize)

你甚至可以返回这个函数:

def cap_str(string):
    return string.capitalize

s = "programming in python"
capitalize_s = cap_str(s)
s_cap = capitalize_s()
print(s_cap)

我不知道这将如何特别有用,但通常返回一个函数非常有用。


推荐阅读