Python3.9中的Str格式

Python3.9中的Str格式,python,string,formatting,Python,String,Formatting,我正在使用Python3.9并尝试编写函数 def greet(request, name): return HttpResponse(f'Hello, {name.capitalize}!') 使用f格式化字符串,但它不起作用。你知道为什么吗?你能打印错误消息吗?我怀疑您的错误是想要name.capitalize()而不是name.capitalize 啊-这已经添加了 大写是str对象的一种方法。 因此,需要添加括号才能调用它: def greet(request, name):

我正在使用Python3.9并尝试编写函数

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

使用
f
格式化字符串,但它不起作用。你知道为什么吗?

你能打印错误消息吗?我怀疑您的错误是想要
name.capitalize()
而不是
name.capitalize


啊-这已经添加了

大写
str
对象的一种方法。
因此,需要添加括号才能调用它:

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)

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

扩展“不起作用”可能会有帮助,但可能是因为您没有调用该方法。仅供参考,有些人坚持使用有趣的资本化策略创建名字,比如BriAnna或AeraBella。我不太喜欢那种愚蠢的决定(孩子会花一生中相当大的时间向人们解释如何“拼写”他们的名字),但你可能想考虑一下。欢迎来到Stack Overflow。请阅读。错误信息、意外行为和结果、预期行为和结果等都很重要。无论何时在此处或其他地方提出问题,请将其包括在内。仅供参考,不会出现错误,字符串的格式仅为