Python中函数定义的关键参数问题
Python中函数定义的关键参数问题
近来,看了看Python这种强大的脚本语言,细细的试了试,感觉还是蛮好用的,怪不得大家都用来进行科学计算什么的,虽然是C语言实现的,但是和C语言还是存在蛮多的差别的。
函数是各种语言中一般都会包含的,Python的函数声明和定义是在一起的,其中和C++有一定的相似性就是支持默认参数等特性。
函数定义的基本形式如下:
- def MyFunc(args):
- 'this doc string'
- function_implement
基本的形式中包含函数名和参数,以及doc字符串,最后就是实现部分。
一般的语言都需要按照自己定义的顺序赋值实现参数的传递,但是在Python中支持调用时的关键参数,所谓的关键参数就是在调用的时候,对参数名进行无序的赋值,这时候解释器会自动完成参数的对应操作。
- def myFunc(args1,args2,args3)
- function_implement
本来调用的过程应该是myFunc('abc',10,'cdf'),采用关键参数的方式进行调用则可以按如下的形式进行:
myFunc(args2=10,args3='cdf',args1='abc')。
从上面的定义可知,调用的过程是一个无序的过程,这个无序就是通过关键参数的形式实现的。这时候解释器会根据args1,args2,args3的值自动调整参数。
对于不定参量的函数实现过程中如何实现关键变量呢?
首先我们已知元组和字典的函数定义形式如下:
- 基于元组的形式:
- def myFunc(formal_args1,formal_args2,*tupleArgs)
- 基于字典的形式:
- def myFunc(formal_args1,formal_args2,**dictArgs)
- def myFunc(formal_args1,formal_args2,*tupleArgs)
评论暂时关闭