您的位置:首页 > 编程语言 > Python开发

Python3语法——Python3函数参数的各种形式

2017-03-01 20:03 357 查看
形式1:

定义:def function_name(arg1,arg2,arg3):

调用:function_name(x,y,z)

说明:调用传入 的参数个数必须和定义的参数个数一致,调用的时候参数一一对应赋值。



形式2:

定义:def function_name(arg1,arg2=default):

调用:function_name(x,y)

说明:至少传入一个参数用来给arg1赋值,如果传入了第二个参数。就赋值给arg2,没有第二个参数的话,arg2就用定义的default默认值。



形式3:

定义:def function_name(*arg1):

调用:function_name(1,2,3,4)

说明:可以传入任意多个参数,这些参数最终被封装成为一个tuple。

举个栗子:

deffunction_with_one_star(*t):
    print(t, type(t))

使用:function_with_one_star(1, 2, 3)

输出:(1, 2, 3) <class 'tuple'>



形式4:

定义:def function_name(**arg1):

调用:function_name(a=1,b=3,c=4)

说明:可以传入任意多个参数,这些参数最终被封装成为一个dic字典{‘A’:‘1’,‘B’:‘3’,‘C’:‘4’}。

举个栗子:

def function_with_two_stars(**d)

    print(d, type(d))

使用;function_with_two_stars(a = 1, b = 2, c = 3)

输出:{'a':1, 'c':3, 'b':2}
<class 'dict'>

其他分类方法:

1、位置参数:

>>> def check_web_server(host,
port, path):
             print ....
 

>>> check_web_server('www.python.org', 80, '/') 三个参数的顺序必须一一对应,且少一参数都不可以
 
2、关键字参数:
可以让函数更加清晰、容易使用,同时也清除了参数的顺序需求,关键字参数通过“键-值”形式加以指定,用于函数调用
>>> check_web_server(port=80, host='www.python.org', path='/') (三个参数的位置可以随意)
 
3、默认参数:
为参数提供默认值,这样向它们传递参数就不是必需的了,用于函数定义(注意:所有位置参数必须出现在可选参数前,包括函数定义和调用)
 
>>> def check_web_server(host,
port=80, path='/'):  # 正确的
        print ...
>>> def check_web_server(path='/',
host, port=80):  # 错误的(位置参数host必须放在最前面)
                print
...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: