zoukankan      html  css  js  c++  java
  • 函数--参数及注释

    函数的传参

    参数划分

    • 形参
      • 写在函数声明的位置的变量叫形参,形式上的一个完整,表示这个函数需要xxx
    • 实参
      • 在函数调用的时候给参数传递的值叫实参
    def meet(sex):		#sex:形参
        print("性别:%s"%(sex))
    meet("男")			#"男":实参
    
    def func(a:int,b:str)	#形参跟的数据类型只是个提示,没有约束性
    	pass
    func(1,2)
    

    实参

    • 位置参数
    def meet(sex,old,happy):
        print("性别:%s,年龄:%s,爱好:%s"%(sex,old,happy))
    meet("男",10,"篮球")
    
    #根据参数位置,从左到右,一一对应
    
    • 关键字参数
    def meet(sex,old,happy):
        print("性别:%s,年龄:%s,爱好:%s"%(sex,old,happy))
    meet(sex="男",old=10,happy="篮球")
    
    #一一对应,可以打乱顺序
    
    • 混合传参
    def meet(sex,old,happy):
        print("性别:%s,年龄:%s,爱好:%s"%(sex,old,happy))
    meet("男",10,happy="篮球")
    
    #既有位置参数又有关键字参数
    #位置参数要在关键字参数之前,否则会报错
    

    形参

    • 位置参数 与实参角度的位置参数是一种
    • 优先级:位置>默认值
    • 默认值参数:形参是默认参数时,实参可以不必传递

    三元运算符

    只针对if 。。。else。。。

    #格式:条件成立的结果 if 条件判断 else 条件不成立的结果
    
    a = 1000
    b = 2000
    c = a if a > b else b
    print(c)
    
    
    def complie(a,b):
        return a if a > b else b
    print(complie(10,20))
    

    枚举

    • 描述
      • enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标
    • 语法
      • enumerate(sequence,[strart=0])
    • 参数
      • sequence:一个序列、迭代器或其他支持迭代对象
      • start:下标起始位置
    • 返回值
      • 返回enumerate(枚举)对象
    lst = [1,2,3,4,5]
    dic = {}
    for k,v in enumerate(lst,10):
        dic[k] = v
    print(dic)
    

    函数的动态参数

    形参的第三种参数:动态参数

    • 动态接收位置参数:*args
      • * 在函数定义的时候叫聚合
      • args 可以更改,最好保持不变
    • 位置参数>动态位置参数
    def func(a,b,*args):
        print(a,b,args)
    func(1,2,3,4,5,6,7)
    
    def func(a,b,*args):	#*args:聚合
        print(a,b,*args)	#*args:打散--原数据类型
    func(1,2,3,4,5,6,7)
    
    def func(*args,a=1,b=2):
        print(a,b,*args)
    func(1,2,3,4,5,6,7)
    #上面这种情况关键字参数要放在动态参数后面
    
    lst = [1,2,3,4,5,6]
    def func(*args):
        print(*args)
    func(*lst)
    #传参数的时候先打散,不做为一体传入,在函数里再用打散可以获取单个元素
    
    • 动态接收关键字参数:**kwargs
    def func(a,b,**kwargs):
        print(a,b,kwargs)	#打印出字典,加一个*取出的是键,不能打散
    func(1,2,c=5,d=7)
    
    #运行结果
    1 2 {'c': 5, 'd': 7}
    
    
    def func(a,b,*args,c=1,d=2,**kwargs):
        print(a,b,args,c,d,kwargs)
    func(1,2,3,4,5,6,7,8,e=0,f=5)
    
    
    dic = {"1":2,"4":"a","3":4}
    def func(**kwargs):
        print(kwargs)
    func(**dic)	#先打散在传入
    
    • 万能传参(常用)
    def func(*args,**kwargs):
        print(args,kwargs)
    func(1,2,3,4,5,6,a=8,b=9)
    
    • 形参顺序

      位置参数 、*args 、默认参数 、**kwargs

    函数的注释

    def func(a,b):
        """
        函数作用
        :param a: 参数说明
        :param b: 参数说明
        :return:  返回值说明
        """
        pass
        
    
    print(func.__doc__)		#打印函数的注释信息
    
  • 相关阅读:
    Kettle初使用
    Datax初使用
    代码层次上的软件质量属性
    第二周周总结
    软件质量属性---可修改性
    淘宝网中的软件质量属性
    第一周周总结
    2020寒假(12)
    2020寒假(11)
    2020寒假(10)
  • 原文地址:https://www.cnblogs.com/os-linux/p/11213624.html
Copyright © 2011-2022 走看看