一、实参和形参 def greet_user(username): '''显示简单的问候语,且显示用户名''' print('Hello!'+username) greet_user('Joker') 在上面代码中定义函数 greet_user()时,要求给变量username指定一个值。调用这个函数并提供这种信息(人名)时,它将打印带名字的问候语句。 在函数 greet_user() 的定义中,变量username 是一个形参---它表示函数完成其工作所需要的一项信息。在代码 greet_user('Joker') 中,值“Joker” 是一个实参。实参是在调用函数时传递给函数的信息。我们在调用函数时,需要将函数所需的信息放在括号内。在greet_user('Joker')中,将实参 ‘Joker’ 传递给了函数greet_user() ,这个值被存储在形参username中。 二、位置实参 调用函数时,Python必须将函数调用中的每个实参都关联到函数定义中的形参。所以,实参与形参最简单的关联方式就是位置关联即实参顺序与形 参顺序一致,这种关联方式叫做位置实参。使用位置实参来调用函数时,如果实参的位置不正确,结果可能出乎意料。 三、关键字实参 def greet_user(username,age): '''显示简单的问候语,且显示用户名''' print('Hello!'+username+',you are ' + str(age) + ' years old!' ) greet_user(age=18,username='Joker') console: 关键字实参 是传递给函数的 名称-值对。如上面的代码,在调用函数时,在括号内使用A=B的形式 给形参赋值, A为形参名,B为实参,这样传递参数可以不用关心传递参数的顺序,只需关心名称与值是否对应即可。 四、形参默认值 编写函数时可以给每个形参指定默认值。 def greet_user(username,age=18): '''显示简单的问候语,且显示用户名''' print('Hello!'+username+',you are ' + str(age) + ' years old!' ) greet_user(username='Joker') console: 我们给age 指定了默认值 18 ,我们调用时并没有传递age的实参,它也会默认给它18的实参,这就是age的默认值, 所以打印的信息还是和上面打印的信息一样。 五、避免实参错误 如果函数出现实参错误,traceback会指出问题出在什么地方,让我们可以去找到出错的地方进行更正。 def greet_user(username,age=18): '''显示简单的问候语,且显示用户名''' print('Hello!'+username+',you are ' + str(age) + ' years old!' ) greet_user() console: 因为有Traceback的存在所以可以让我们可以更好的去找到代码中是哪里的错误。
|
|