码迷,mamicode.com
首页 > 其他好文 > 详细

函数--------续

时间:2019-01-15 23:33:19      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:注意   multi   sre   follow   必须   error   type   word   现在   

函数参数
函数分为两大类:形参与实参
1.形参即在定义函数时,括号内声明的参数。形参本质就是一个变量名,用来接收外部传来的值。
2.实参即在调用函数时,括号内传入的值。实参本质就是变量的值,值可以是常量、变量、表达式或三者的组合。
注意:在调用函数时,实参的值(变量的值)会绑定给形参(变量名),可以在函数内使用形参名,函数调用结束后解除绑定。
定义
#my_sum函数里面的x,y就是形参
def my_sum(x,y):
return x + y
调用
my_sum(10,20) #10,20就是实参
形参和实参又可以分为如下类:
一:位置参数
位置即顺序,在定义阶段从左往右的顺序定义的参数称之为位置形参,位置形参的特点是必须被传值,传入的值不能多也不能少。
定义
#按照从左往右的顺序定义的参数
def user_info(name,age):
str1 = ‘my name is %s,my age is %s(name,age)
return str1
调用
#错误示范
user_info()#报错TypeError错误,必须为位置形参(name,age)传值
user_info(‘owon‘) #少传值会报错
#正确示范
user_info(‘owon‘,19) #my name is owon, my age is 19
位置即顺序,在定义阶段从左往右的顺序传入的值称之为位置实参,位置实参的特点是按照从左往右的顺序与形参一一对应
二:关键字实参
在调用函数阶段按照key=value的形式指明道姓的为指定的形参传值,称之为关键字实参,关键字实参的特点是无顺序,但仍能为指定的形参赋值
定义
def user_info(name,age):
str1 = ‘my name is %s, my age is %s‘ %(name,age)
return str1
调用
usre_info(name=‘jason‘, age=20) #输出结果为:my name is jason, my age is 20
user_info(age=20,name=‘jason‘) #输出结果为 同上
我们现在学了两种形式的实参,分别是位置实参和关键字实参。在调用函数时可以混合使用但必须注意:
定义
def user_info(name, age):
str1 = ‘my name is %s, my age is %s‘ %(name, age)
return str1
调用
# 大前提:形参name、age都是位置形参,我们无论使用任何格式的实参,都必须为这两个形参传值,但必须注意
# 1 位置实参必须位于关键字实参的左边
user_info(‘jason‘, age=20)
user_info(name=‘jason‘, 20) # 报错SyntaxError: positional argument follows keyword argument
# 2 不能为同一个形参重复传值
user_info(‘jason‘, age=20,name=‘jason‘) # 报错TypeError: user_info() got multiple values for argument ‘na

函数--------续

标签:注意   multi   sre   follow   必须   error   type   word   现在   

原文地址:https://www.cnblogs.com/wangyunlll/p/10274770.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!