Python学习记录3-函数参数详解

Posted yanht

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习记录3-函数参数详解相关的知识,希望对你有一定的参考价值。

参数详解

  • 参数分类
    • 普通参数
    • 默认参数
    • 关键字参数
    • 收集参数
  • 普通参数
    • 定义时直接定义变量名
    • 调用的时候直接把变量或者值放入指定位置
    def 函数名 (参数1, 参数2, ....):
       函数体 
    
    # 调用
    函数名 (value1, value2, ....)
       
    # 调用的时候,具体值参考的是位置,按位置赋值
  • 默认参数
    • 形参带有默认值
    • 调用的时候,如果没有对相应形参赋值,则使用默认值
    def func_name(p1=v1, p2=v2, ....):
        func_block
    
    #调用1
    func_name()
    
    #调用2
    value1 = 100
    value2 = 200
    func_name(value1,value2)

    # 默认参数实例
    # 根据性别输出不同语句
    >>> def reg(name, age, gender="male"):
           if gender == "male":
               print("{0} is {1},and he is a boy".format(name,age))
           else:
               print("{0} is {1},and she is a girl".format(name,age))
            
    >>> reg("小明", 21) #第三个参数gender没有值,所以用的是默认值male
    >>> reg("小红", 22, "female") #第三个参数有值,所以用的输入的值female
    
    输出:
    小明 is 21,and he is a boy
    小红 is 22,and she is a girl
  • 关键字参数
    • 语法
    • 比较麻烦,但也有好处:
      • 不容易混淆,一般实参和形参只是按照位置一一对应即可,容易出错
      • 使用关键字参数,可以不考虑参数位置
    def func(p1=v1, p2=v2,... ):
       func_body
    
    调用函数:
    func(p1=value1, p2=value2,....)
    
    
    # 关键字参数案例
    >>> def stu(name, age, addr):
           print("I am a Student")
           print("我是{0},我今年{1}岁了,我住在{2}".format(name, age, addr))
    
    n = "哈哈"
    a = 20
    addr = "地球"
   
    # 普通参数,只按照位置传递,容易出错
    stu(a, n, addr)
   
    >>> def stu_key(name, age, addr):
           print("I am a Student")
           print("我是{0},我今年{1}岁了,我住在{2}".format(name, age, addr))
    >>> n = "嘻嘻"
    >>> a = 20
    >>> addr = "地球"
    
    # 关键字参数,可以不按函数定义时参数的顺序
    >>> stu_key(age=a, name=n, addr=addr)
    
    输出:
    I am a Student
    我是嘻嘻,我今年20岁了,我住在地球
    

总结

国庆假期不知不觉就过完了,今天是国庆后上班的第一天,回家过的这几天也是非常舒服,出来这么久还是感觉家里好。节后第一天上班,要整理的东西也是比较的多,但是为了坚持学习,还是对一些知识点进行了总结和复习,我也会继续努力!

以上是关于Python学习记录3-函数参数详解的主要内容,如果未能解决你的问题,请参考以下文章

Python 函数声明和调用

第二十九天Python学习记录

python装饰器详解

Python学习之函数详解

python装饰器详解,多层装饰器,及带参数的装饰器。

python小白学习记录 多线程爬取ts片段