认识参数 | Python从入门到精通:高阶篇之二
我们先来解决上一节遗留的两个练习。
练习1:
定义一个函数,可以用来求任意三个数的乘积。
# 求任意三个数的乘积
def mul(a,b,c):
print(a*b*c)
mul(1,2,3)
执行结果:
练习2:
定义一个函数,可以根据不同的用户名显示不同的欢迎信息。
# 根据不同的用户名显示不同的欢迎信息
def welcome(username):
print('欢迎',username,'光临')
welcome('孙悟空')
执行结果:
参数传递的方式
定义一个函数
def fn(a, b, c):
print('a =',a)
print('b =',b)
print('c =',c)
fn(1 , 2 , 3)
执行结果:
定义形参时,可以为形参指定默认值。例如:
#def fn(a, b, c = 20):
def fn(a = 5, b = 10, c = 20):
print('a =',a)
print('b =',b)
print('c =',c)
#fn(1 , 2 , 3)
#fn(1 , 2)
fn()
此时执行结果为:
可以发现结果没有改变。可以知道:指定了默认值以后,如果用户传递了参数则默认值没有任何作用。如果用户没有传递,则默认值就会生效。
实参的的传递方式
位置参数
# 位置参数
# 位置参数就是将对应位置的实参复制给对应位置的形参
# 第一个实参赋值给第一个形参,第二个实参赋值给第二个形参...
def fn(a, b, c):
print('a =',a)
print('b =',b)
print('c =',c)
fn(1 , 2 , 3)
执行结果:
关键字参数
# 关键字参数
# 关键字参数,可以不按照形参定义的顺序去传递,而直接根据参数名去传递参数
def fn(a, b, c):
print('a =',a)
print('b =',b)
print('c =',c)
fn(b=1 , c=2 , a=3)
执行结果:
print('hello' , end=''),其中end就属于是一个关键字,hello属于位置参数。
位置参数和关键字参数可以混合使用。
例如:我们修改函数为:
fn(1,c=30)
#fn(c=30,1)
执行结果:
混合使用关键字和位置参数时,必须将位置参数写到前面。
另外,将参数混合使用时,需要注意避免重复,位置参数已经使用的情况下,关键字就不要再重复使用。否则程序会报错。
fn(1,a=30)
配套视频课程,点击这里查看
获取更多资源请订阅Python学习站