鱼C论坛

 找回密码
 立即注册
查看: 2326|回复: 0

[技术交流] 17 - 函数:灵活即强大(函数参数问题) - 景命

[复制链接]
发表于 2017-7-4 23:01:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
知识点:

形式参数(parameter):
        def m(name)        #name 就叫做形参。因为它只有一个形式,表示占据一个参数位置。

实际参数(argument):
        def m('小甲鱼')        #小甲鱼就叫做实际参数。传递进来的小甲鱼叫做实参,因为他是具体的参数值。

函数文档:
        对函数的参数、用法、内容、意义和返回值的描述。
>>> def a(name):
        '我是函数文档'                #这个就是函数的文档。
        print("形参:"+name)

        
>>> a("小甲鱼")
形参:小甲鱼

        用函数名点上doc关键字的方式来查看函数的文档,也可以用help函数来查看函数文档。
        (1)m.__doc__                                                (2)help(m)
            '这个是函数的文档'                                        Help on function a in module __main__:

                                                                        a(name)
                                                                            我是函数文档




关键字参数:
        为了防止参数的顺序错误。
def m(name,one):
        print(name+one)
        m("小黑犬","第一")                #正常顺序输入参数
        小黑犬第一                        #得到正确的结果

        m("第一","小黑犬")                #非正常顺序输入参数
        第一小黑犬                        #得到不正确的结果

        m(one = "第一",name = "小黑犬")        #用关键字参数可以避免参数顺序的错误。
        小黑犬第一



默认参数:
        定义了默认值的参数。在函数定义时给形参赋初值。
def m(name = "小黑犬",one = "第一"):
        print(name,one)
m()                                #在没有给参数赋值的时候,会自动调用默认参数。
小黑犬 第一
m("大黑狗")
大黑狗 第一



收集参数(可变参数):
        在不知道要用到的参数的个数的情况下使用的参数。用参数名前面加*的方式来定义。
>>> def a(*i):
        print("可变参数的长度为",len(i))
        print(i[1])                #在函数内用下标的方式来确定参数。

        
>>> a(1,2,3)
可变参数的长度为 3
2

        如果一个函数中有可变参数和普通参数的话,那么在调用函数的时候就要用关键字来给普通函数赋值,或者直接在函数定义时给普通参数赋初值。
>>> def a(*i,j):
        print("可变参数的长度是:",len(i))
        print(j)
        print(i[0])

        
>>> a(1,2,3,4,j = "bubu")
可变参数的长度是: 4
bubu
1



评分

参与人数 2荣誉 +3 鱼币 +6 收起 理由
康小泡 + 3
小甲鱼 + 3 + 3 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 19:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表