优草派  >   Python

python传递实参的方法

赵天宇            来源:优草派

Python是一种易于学习且使用灵活的编程语言,这使得它成为了大多数人学习编程的首选语言。在Python中,函数是一系列代码块,用于完成特定的功能,函数的参数在调用函数时传递给函数。对于初学者来说,理解如何传递参数是一个很好的起点。下面将从多个角度介绍Python传递实参的方法。

python传递实参的方法

1. 位置实参

位置实参是最常见的Python参数类型之一。对于位置实参,函数调用时将实参填入指定位置的形参中。下面是一个简单的例子:

def greet_user(username):

"""显示简单的问候语"""

print(f"hello, {username.title()}!")

greet_user('jesse')

在这个例子中,位置实参'jesse'传递给了函数greet_user()的形参username。输出结果:'hello, Jesse!'。

2. 关键字实参

关键字实参是实参名称和值一起传递给函数。可以通过名称而不是位置来指定实参。

def describe_pet(animal_type, pet_name):

"""显示宠物的信息"""

print(f"i have a {animal_type}.")

print(f"My {animal_type}'s name is {pet_name.title()}.")

describe_pet(animal_type='hamster', pet_name='harry')

describe_pet(pet_name='willie', animal_type='dog')

在这里,关键字实参animal_type和pet_name都是由参数名和值构成的,它们分别匹配函数定义中的形参animal_type和pet_name。我们可以根据需要以任意顺序传递实参,输出结果:

i have a hamster.

My Hamster's name is Harry.

i have a dog.

My Willie's name is Willie.

3. 默认值

默认值是在函数定义中指定的参数值。如果调用函数时未提供该参数,则使用默认值。例如:

def describe_pet(pet_name, animal_type='dog'):

"""显示宠物的信息"""

print(f"i have a {animal_type}.")

print(f"My {animal_type}'s name is {pet_name.title()}.")

describe_pet(pet_name='willie')

describe_pet(pet_name='harry', animal_type='hamster')

在这里,函数定义中的形参animal_type包含默认值'dog'。因此,如果我们调用describe_pet()时未填写animal_type,它将使用默认值。输出结果:

i have a dog.

My Willie's name is Willie.

i have a hamster.

My Harry's name is Harry.

4. 可变长实参

有时我们想要让函数能够接受任意数量的实参,这时我们可以使用可变长实参。Python函数在定义时使用星号*来实现这个功能。下面是一个例子:

def make_pizza(*toppings):

"""打印客户点的所有配料"""

print(toppings)

make_pizza('pepperoni')

make_pizza('mushrooms', 'green peppers', 'extra cheese')

在这个例子中,我们使用了星号*来实现一个可变长实参的函数。toppings收到的实参是一个元组,包含所有客户点的配料。输出结果:

('pepperoni',)

('mushrooms', 'green peppers', 'extra cheese')

5. 任意数量的关键字实参

如果需要接受任意数量的关键字实参,我们可以使用一个以两个星号**开头的形参。这个形参将所有的键值对封装到一个字典中。下面是一个例子:

def build_profile(first, last, **user_info):

"""创建一个字典,其中包含我们知道的有关用户的一切"""

user_info['first_name'] = first

user_info['last_name'] = last

return user_info

user_profile = build_profile('albert', 'einstein',location='princeton', field='physics')

print(user_profile)

在这个例子中,实参first和last分别存储到形参first和last中。而关键字实参location和field分别存储到一个字典中,并通过形参user_info进行访问。输出结果:

{'location': 'princeton', 'field': 'physics', 'first_name': 'albert', 'last_name': 'einstein'}

总结:

Python中有多种传递实参的方式,如位置实参、关键字实参、默认值、可变长实参和任意数量的关键字实参。对于每种方法,我们都可以灵活地根据需要选用。掌握这些传递实参的方法对于Python编程的初学和后期开发都是必要的。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行