设置参数的默认值和类型

pas*_*ita 4 python int default function

我怎样才能做这样的事情:

def profile(request, pk=0 : int):
    #to do
Run Code Online (Sandbox Code Playgroud)

我需要pk是 int (无需在函数中转换)。

像这样:

def profile(request, pk: int):
Run Code Online (Sandbox Code Playgroud)

如果为pk空 - 将值设置为 0 并键入 int。

Kai*_*Kai 7

您实际上无法直接在参数字段中指定它,但您可以在函数声明之后立即转换它:

def profile(request, pk=0):
    pk = int(pk)
    #to do
Run Code Online (Sandbox Code Playgroud)

如果传递的值为pk如果传递的值无法转换为 int ,

编辑:我说得太早了,显然你可以完全按照你所做的那样,只是改变一些事情:

def profile(request, pk: int = 0):
    #to do
Run Code Online (Sandbox Code Playgroud)

顺便说一句:我刚刚对“指定 python 参数类型”进行了快速研究。在提问之前,请先尝试研究一些简单的事情,这样你会更快得到答案:)