MST

星途 面试题库

面试题:Python函数中的参数传递方式及差异

在Python函数中,有哪些信息传递机制?简述位置参数、关键字参数、默认参数的特点及使用场景,并且举例说明。
39.6万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试

在Python函数中,主要有以下信息传递机制:位置参数、关键字参数、默认参数、可变参数(*args)和关键字可变参数(**kwargs)。

位置参数

  • 特点:根据参数的位置进行传递,调用函数时传入参数的顺序必须与函数定义时参数的顺序一致。
  • 使用场景:适用于参数位置和含义明确,调用者清楚知道每个位置参数的作用场景。
  • 示例
def add_numbers(a, b):
    return a + b

result = add_numbers(3, 5)
print(result) 

关键字参数

  • 特点:通过参数名来传递参数,调用函数时参数的顺序可以与函数定义时不一致。
  • 使用场景:当函数参数较多,调用者容易混淆参数顺序时,使用关键字参数可以使代码更清晰,明确每个参数的赋值。
  • 示例
def describe_person(name, age):
    return f"{name} is {age} years old."

description = describe_person(age=30, name="Alice")
print(description) 

默认参数

  • 特点:在函数定义时为参数提供一个默认值,如果调用函数时没有传入该参数的值,则使用默认值。
  • 使用场景:适用于某些参数在大多数情况下都有相同取值的场景,减少调用函数时重复传入相同值的麻烦。
  • 示例
def greet(name, greeting="Hello"):
    return f"{greeting}, {name}!"

message1 = greet("Bob")
message2 = greet("Charlie", "Hi")
print(message1) 
print(message2)