• 函数参数和文档


    收集参数:把没有位置,不能和定义时的参数位置相对应的参数,放入一个特定的数据结构中

    - 语法
    def func(*args):
    func_body

    - 按照list使用方式访问args得到传入的参数
    调用:
    func(p1, p2, p3, .....)

    - 收集参数可以不带任何实参调用,此时收集参数为空tuple
    - 参数名args不是必须这么写,但是,我们推荐直接用args,约定俗成
    - 参数名args前需要由星号
    - 收集参数可以和其他参数共存

    def stu( *args):
    print("Hello 大家好,我自我介绍以下,简答说两句:") print(type(args)) for item in args: print(item) stu("liuying", 18, "北京大通州区", "wangxiaojing", "single") stu("周大神")

    关键字收集参数:把关键字参数按字典格式存入收集参数

    - 语法:
    def func( **kwargs):
    func_body

    # 调用:
    func(p1=v1, p2=v2, p3=v3........)

    - 关键字收集参数可以不带任何实参调用,此时收集参数为空dict
    - kwargs一般约定俗成
    - 调用的时候,把多余的关键字参数放入kwargs
    - 访问kwargs需要按字典格式访问

    def stu( **kwargs):
        # 在函数体内对于kwargs的使用不用带星号
        print("Hello 大家好,我先自我介绍一下:")
        print(type(kwargs))
        for k,v in kwargs.items():
            print(k, "---", v)
        
    stu(name="liuying",  age=19, addr="北京大通州区", lover="王晓静", work="Teacher")
    print("*" * 50)
    stu(name="周大神")

     收集参数的解包:直接把list/dict中的值放入收集参数中

    def stu(*args):
        for i in args:
            print(i)
    
    l = ["liuying", 19, 23, "wangxiaojing"]
     
    #stu(l),此时,arg = (["liuying", 19, 23, "wangxiaojing"],),会直接把整个列表输出
    
    # 要把列表中的元素单个输出,就需要解包符号,即调用的时候前面加一个星号,**kwargs则需要两个星号
    stu(*l)

    各种参数的混用:位置参数第一,收集参数第二,默认参数第三,关键字收集参数第四

    def func(x,*args,y = 1,**kwargs):
        print(x)
        print(y)
        print(args)
        print(kwargs)

    函数文档:作用是对当前函数提供使用相关的参考信息

    文档的写法:
    - 在函数内部开始的第一行使用三引号字符串定义符
    - 一般具有特定格式
    文档的查看:
    - 使用help函数,形如 help(func)
    - 使用__doc__(左右各两个短下划线)

    def stu(name, age, *args):
        '''
        这是第一行
        这是第二行
        这是第三行
        '''
        pass
    
    help(stu)
    stu.__doc__

     函数名可以当做变量使用:

    def sayHello(name):
        print("{0}你好吗?".format(name))
        
    sayHello("月月")
    liumang = sayHello
    liumang("yueyue")
    
    #月月你好吗?
    #yueyue你好吗?
  • 相关阅读:
    selenium 详解
    验证码破解
    Jupyter Notebook 安装
    分布式
    selenium +scrapy 实现网易新闻
    scrapy 反扒措施_2
    Typora简单使用
    20155215 2016-2017-2 《Java程序设计》第4周学习总结
    20155215 2016-2017-2 《Java程序设计》第3周学习总结
    20155215 2006-2007-2 《Java程序设计》第2周学习总结
  • 原文地址:https://www.cnblogs.com/wjw2018/p/9703762.html
Copyright © 2020-2023  润新知