zoukankan      html  css  js  c++  java
  • 5-函数2

    四类参数

    -普通参数
    -默认参数
    -关键字参数
    -收集参数
    

    关键字参数开始

    -语法
    
    def fuc(p1=v1,p2=v2·······):
        fuc_body
        -调用函数
    fuc(p1=value1,p2=value2·····)
    

    好处:
    -这么写,不容易混淆
    -使用关键字参数,可以不考虑参数位置

    关键字参数案例

    def stu(name,age,addr):
    	print('I am a stu')
    	print('I am {0},I am {1} old, I am stay in {2}'.format(name,age,addr))
    	
    n = 'wcx'
    a = 18
    ad = '光福'
    stu(age=a, name=n, addr=ad)
        
    

    收集参数

    -把没有位置,不能和定义时的参数位置相对应的参数,放入一个特定的数据结构中
    -语法
    
    def fuc(*args):
        fuc_body
        -调用函数
    fuc(p1,p2,p3·····)
    
    -参数名args约定俗称
    -args前的星号代表是一个收集参数,一个星号代表list
    

    收集参数之关键字收集参数

    -语法
    
    def fuc(**kwargs):
        fuc_body
        -调用参数
    fuc(p1=v1,p2=v2·······)
    
    -参数名kwargs约定俗成
    -调用的时候,把多余的关键字参数放入kwargs
    -两个星号需要按字典格式访问
    

    -案例

    def stu(**kwargs):
    	print(type(kwargs))
    	for k,v in kwargs.items():
    		print(k,"---",v)
    stu(name='jjc', age=18, addr='苏州')
    

    收集参数混合调用的顺序问题

    -收集参数,关键字参数,普通参数可以混合使用
    -使用规则就是,普通参数,关键字参数优先
    -定义的时候一般找普通参数,关键字参数,收集参数tuple,收集参数dic

    收集参数混合调用案例

    def stu(name,age,hobby="none",*args,**kwargs)
    	print("自我介绍一下,我叫{0},我{1}岁了".format(name,age))
    	if hobby=="none":
    		print("我没有爱好")
    	else:
    		print("我的爱好是{0}".format(hobby))
    	print("*" * 20)
    	for i in args:
    		print(i)
    	print("#" * 20)
    	for k,v in kwargs.items():
    		print(k,"---",v)
    
    name="jjc"
    age=18
    stu(name,age,"wcx","wxx",hobby="游泳",hobby1="dafeiji")
    

    收集参数的解包问题

    • 把参数放入list或dikt中,直接把list/dikt的值放入收集参数中
    • 语法:参看案例
    def stu(*args):
    	print("介绍一下")
    	for i in args:
    		print(i)
    l=["jjc","wcx"]
    stu(*l)
    
    #此时的调用,就需要解包符号,即调用的时候前面加星号
    #同里对dikt解包,调用时前面加两个星号
    

    返回值

    • 函数跟过程的区别
      • 有无返回值
    • 需要用return显示返回内容
    • 如果没有返回,则默认返回none

    返回值示例

    def fuc_1():
    	print("有返回值")
    	return 1
    
    def fuc_2():
    	print("没有返回值")
    	
    f1=fuc_1()
    print(f1)
    f2=fuc_2()
    print(f2)
    

    函数文档

    • 函数的文档作用就是对当前函数提供使用相关的参考信息
    • 文档的写法
      • 在函数开始的第一行使用三字符串定义符
      • 一般具有特定格式
    • 文档查看
      • 使用help函数,help(fuc)
      • 使用__doc__

    参看案例

    def stu(name,age,*args):
    	'''
            这是文档
            '''
    	print('jjc')
    help(stu)
    print(stu.__doc__)
    
  • 相关阅读:
    Nginx虚拟主机配置实例(Nginx VirtualHost Example)
    考研机试 33.密码翻译
    考研机试 26.10进制 VS 2进制
    考研机试 25.剩下的树
    input默认值设置
    http 304优化,了解客户端缓存
    (转)8款在线CSS优化工具/组织和压缩CSS
    照片从模糊到清晰的渐变加载显示方法
    JS压缩工具Closure Compiler 和 YUICompressor的对比
    【转】高性能web开发 如何加载JS,JS应该放在什么位置?
  • 原文地址:https://www.cnblogs.com/rener0424/p/10274735.html
Copyright © 2011-2022 走看看