函数1

作者: 快去学习不然怎么去看aimer | 来源:发表于2019-08-26 23:10 被阅读0次

    rb
    wb

    r+
    w+
    a+

    函数

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

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

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

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

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

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

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

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

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

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

    默认参数

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

    实参:位置参数,关键字参数
    位置参数:给形参的位置参数传参

    info = send_mail("xiannv@163.com", 
                     "一生问候", 
                     "告诉你,一想到你,我这张丑脸上就泛起微笑。")
    
    print(info)
    
    Ps:
    def myfunc(x, y, z):
        print(x, y, z)
    
    tuple_vec = (1, 0, 1)
    dict_vec = {'x': 1, 'y': 0, 'z': 1}
    
    >>> myfunc(*tuple_vec)
    1, 0, 1
    
    >>> myfunc(**dict_vec)
    1, 0, 1
    

    关键字参数:关键字参数的关键字必须与形参的名字一致

    info = send_mail(content="我爱你,不光是因为你的样子,还因为和你在一起时,我的样子", 
                     title="一生问候",
                     to="jingjing@126.com")
    
    print(info)
    

    万能参数:

    用 * 表达式接收传进来的任意多个未明确定义的位置参数
    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 position_arg(arg1, arg2, *args, k1='v1', **kwargs):
        pass
    

    匿名函数

    def f1(arg1,arg2):
        return arg1 + arg2           普通函数
    
    lambda arg1,arg2:arg1 + arg2    默认函数
    

    相关文章

      网友评论

          本文标题:函数1

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