python-形参与实参-01

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-形参与实参-01相关的知识,希望对你有一定的参考价值。

例子:

  

1 def t(x,y,z):
2     print(x)
3     print(y)
4     print(z)
5 
6 t(1,2,3)    #位置参数 与形参一一对应
7 t(2,z=7,y=5)    #关键参数 与形参顺序无关,但是关键参数不能写在位置参数前面

实参和形参

  实参:实际参数,调用函数时传给函数的参数,可以是常量、变量、表达式、函数,传给形参

  形参:形式参数,不占内存空间,形参变量只有在调用时才分配内存单元,目的是函数调用时接收实参

二者区别:

  实参:是一个变量,占用内存空间,数据传送单向,实参传给形参,不能形参传给实参

  形参:虚拟的,不占用内存空间,形参变量只有被调用时才分配内存单元

 

2.默认参数

1 def install(t,target=True,port=3306):
2     print(t)
3     print(target)
4     print(port)
5 install(acc)

默认参数特点:调用函数时,默认参数非必须传送

作用:

  (1)默认安装值

  (2)默认数据库端口号

3.参数组

1 #参数组
2 def tuple(*args):
3     print(args)
4 
5 tuple(1,2,3,4,55)
6 tuple(*[1,2,3,4,5,6]) # args = [1,2,3,4,5,6]

其中*代表:参数个数不固定

*args:接收N个位置参数,然后转换成元组的形式

1 #参数组(2)元组
2 def options(x,*args):
3     print(x)
4     print(args)
5 options(1,2,3,4,5,6,7,8,9)

**kwargs:接收N个关键字参转换成字典的方式

1 #**kwargs   把N个关键字参数转换成字典的方式
2 def dict(**kwargs):
3     print(kwargs[name])
4     print(kwargs[age])
5     print(kwargs[sex])
6 dict(name=Msl23,age=18,sex=M)
7 dict(**{name:Msl23,age:18,sex:M})

结合:

 1 #结合
 2 def jiehe(name,**kwargs):
 3     print(name)
 4     print(kwargs)
 5 jiehe(Msl23,age=18,sex=M)
 6 
 7 #方式一
 8 def fs1(name,age=18,**kwargs):
 9     print(name,age,kwargs)
10 fs1(alex,sex=M,car=house)
11 #执行结果:  alex 18 {‘sex‘: ‘M‘, ‘car‘: ‘house‘}
12 
13 #方式二
14 def fs2(name,age=18,*args,**kwargs):
15     print(name,age,args,kwargs)
16 fs2(Msl23,18,free,sex=M,car=house)
17 #执行结果:  Msl23 18 (‘free‘,) {‘sex‘: ‘M‘, ‘car‘: ‘house‘}

 

以上是关于python-形参与实参-01的主要内容,如果未能解决你的问题,请参考以下文章

28.Python:形参与实参

Python学习之路3?形参与实参

Pyhton函数篇之函数中的形参与实参

js 函数中形参与实参的关系

函数的形参与实参

java中的形参与实参