📜  具有默认值和类型的 python 参数 - Python (1)

📅  最后修改于: 2023-12-03 15:22:35.683000             🧑  作者: Mango

具有默认值和类型的 Python 参数

在 Python 中,你可以为函数的参数指定默认值,并且你可以用类型提示表示参数应该具有的类型。在这个教程中,我们将学习如何使用这些功能。

函数参数的默认值

函数参数可以有一个默认值,这样在调用函数时,如果没有指定参数值,它将使用默认值。 下面是一个例子:

def greet(name="World"):
    print(f"Hello, {name}!")
    
greet() # 输出: "Hello, World!"
greet("Alice") # 输出: "Hello, Alice!"

在这个例子中,greet 函数的参数 name 没有被传递,所以它使用了默认值 "World"。

函数参数的类型提示

函数参数还可以使用类型提示表示参数应该具有的类型。 这对于开发更高质量的代码非常有用, 因为它能够创建更明确和可读的代码。 下面是一个例子:

def troll(name: str) -> None:
    print(f"Hello, {name}! You have been trolled!")
    
troll("Alice") # 输出: "Hello, Alice! You have been trolled!"

在这个例子中,troll 函数的参数 name 被类型提示为 str。 这意味着当你传递一个不是字符串的参数给这个函数时, Python 将抛出一个 TypeError。这可以让代码更加健壮。

没有默认值的类型提示参数

如果你要为函数指定类型提示,但是不想设置默认值,可以在参数名后面写上 :,然后指定类型,如下所示:

def hello(name: str):
    print(f"Hello, {name}!")
    
hello("World") # 输出: "Hello, World!"
具有默认值的类型提示参数

你还可以将类型提示和默认值结合在一起:

def greet(name: str = "World"):
    print(f"Hello, {name}!")
    
greet() # 输出: "Hello, World!"
greet("Alice") # 输出: "Hello, Alice!"

在这个例子中,greet 函数的参数 name 被设定成了默认值为 "World" 的 str 类型。

结论

Python 的函数参数可以有默认值和类型提示。 所有这些功能都可以帮助你编写更健壮、更具可读性和可维护性的代码。