函数

作者: 魔曦帝天 | 来源:发表于2019-08-27 23:14 被阅读0次
    git checkout  -b day06 dev  
    

    以dev为节点,下的分支day06

    函数

    def foo();
        函数体         (return也算函数体,'''注释'''也算函数体)
    

    函数调用 (先定义后调用)

    foo()           得到函数返回值
    foo             得到函数本身
    

    代码执行的流程:
    现在内存中建立函数,但是不执行,字形函数外的代码,当遇到调用函数的时候,才会执行函数内的内容

    def func():
        print('from func')
    def foo():
        print('from foo')
        func()
    
    foo()  # 正常执行
    
    

    返回值
    在函数执行的过程中,当在函数体内遇到了 return关键字,函数就会立刻停止执行,并返回其返回值, return 之后的代码不会被执行。

    return a       a可以为各种数据结构,当不定义,默认返回 None .返回多个值时,
                    每个值用逗号隔开,也就是元组的形式   
    

    函数参数
    只有在函数内才是局部变量 (形参)
    其余都是全局变量 (实参)

    形参:位置参数,默认参数

    位置参数 和 关键字参数 是在函数调用的情况下的概念
    如: arg1,arg2
    位置参数
    在传参时,值和定义好的形参有一一对应的关系

    def send_mail(to, title, content):
        send_info = {"user": to,
                     "title": title,
                     "content": content}
        return send_info
    

    默认参数 如:arg = 5

    def default_mail(title,  content,  to='xiannv@163.com'):
        send_info = {"user": to,
                     "title": title,
                     "content": content}
        return send_info                    位置参数写在最左边
    

    关键字参数
    在传参时,利用key = value 的方式传参,没有对位置的要求

    万能参数: *args 和 **kwargs动态参数

    用 * 表达式接收传进来的任意多个未明确定义的位置参数
    def foo(x, y, *args):
        print(args)
    
    foo(1, 3, 5, 6)
    在函数体内接收到的参数会放在元组中
    
    用 ** 表达式接收传进来的任意多个未明确定义的关键字参数
    def func(x, y, **kwargs):
        print(kwargs)
    
    func(1, 3, name='shark', age=18)
    在函数体内接收到的参数会放在字典中
    
    def func(x, y, **kwargs):
        print(kwargs)
    
    func(1, 3, name='shark', age=18)
    

    函数默认存在retrun,

    相关文章

      网友评论

          本文标题:函数

          本文链接:https://www.haomeiwen.com/subject/srlrectx.html