《Python 编程从入门到实践》———— 实参传递

 鉴于函数定义中可能包含多个形参,因此函数调用中也可能包含多个实参。向函数传递实参的方式很多,可使用位置实参,这要求实参的顺序与形参的顺序相同;也可使用关键字实参,其中每个实参都由变量名和值组成;还可使用列表和字典。下面来依次介绍这些方式.

位置实参

 调用函数时,Python必须将函数调用中的每个实参都关联到函数定义中的一个形参。为此,最简单的关联方式是基于实参的顺序。这种关联方式被称为位置实参。对于定义好的函数,你可以调用任意次。

# 输入
def transfer_data(pet_name,pet_age):
    print(pet_name.title() + "'s age is " + pet_age)
transfer_data('tom','18')

# 输出
Tom's age is 18

 在函数中,可根据需要使用任意数量的位置实参,Python将按顺序将函数调用中的实参关联到函数定义中相应的形参。如果顺序出现错误,则输出的结果跟你预期的会存在较大偏差。这也是位置实参在使用过程中需要注意的地方。

# 输入
def transfer_data(pet_name,pet_age):
    print(pet_name.title() + "'s age is " + pet_age)

transfer_data('18','tom')

# 输出
T18's age is tom

关键字实参

 关键字实参是传递给函数的名称—值对。你直接在实参中将名称和值关联起来了,因此向函数传递实参时不会混淆。关键字实参让你无需考虑函数调用中的实参顺序,还清楚地指出了函数调用中各个值的用途。使用关键字实参时,务必准确地指定函数定义中的形参名。

# 输入
def transfer_data(pet_name,pet_age):
    print(pet_name.title() + "'s age is " + pet_age)

transfer_data(pet_age = '18',pet_name = 'tom')


# 输出
Tom's age is 18

默认值

 编写函数时,可给每个形参指定默认值。在调用函数中给形参提供了实参时,Python将使用指定的实参值;否则,将使用形参的默认值。因此,给形参指定默认值后,可在函数调用中省略相应的实参。使用默认值可简化函数调用,还可清楚地指出函数的典型用法。使用默认值时,在形参列表中必须先列出没有默认值的形参,再列出有默认值的实参。 这让Python依然能够正确地解读位置实参。

# 输入
def transfer_data(pet_age,pet_name = 'tom'):
    print("In this year " + pet_name.title() + "'s age is " + pet_age)
    print("In last year " + pet_name.title() + "'s age is " + str(int(pet_age)-1))

transfer_data('18')

transfer_data(pet_age = '18',pet_name = 'tom')


# 输出
In this year Tom's age is 18
In last year Tom's age is 17

おすすめ

転載: blog.csdn.net/qq_42957717/article/details/117993524