zoukankan      html  css  js  c++  java
  • 初识python中的函数

    1.python中的函数

    def+函数名+小括号+冒号

    缩进+函数体

    函数名+小括号

    def func():
        print(a)
    func()

     2.定义和引用函数

    def func(a_addr,a_age,d_addr,d_age):    #定义函数
      print(f"我在{a_addr},今年{a_age}岁")
      print(f"猪蹄在{d_addr},今年u{d_age}岁")
    func("北京","18","上海","17")         #调用参数
    结果:
    我在北京,今年18岁
    猪蹄在上海,今年17岁

    3.函数的执行流程

     从定义位置开始执行,再执行同一竖直水平下的调用函数func(),之后再执行函数体,遇到return时结束函数体

    4.函数的返回值return

      return 将返回值返回给调用者(函数名+括号就是调用者)

      不写return时,默认返回值是None,

      当有retrun时,没有写值是默认返回值是None

      return可以返回任何数据  多个元素返回的是元祖

      当有return时,写值后返回值是所写的值

      当函数体执行到return后会停止执行,将返回值返给调用函数(终止这个函数)

    5.函数的参数

    形参:

    位置参数

    默认参数

    混合参数

    实参:

    位置参数

    关键字参数

    混合参数

    参数位置:    位置参数  >  默认(关键字)参数  

    传参:就是从形参到实参的过程

    6.动态参数

    def func(*args):           #*args进行聚合,打包
        print(args)
    func('包子','油条','豆浆')
    结果:
    ('包子', '油条', '豆浆') # *args的结果以元祖的形式出来

        *args的作用是接受所有的位置的参数 获取到的结果以元祖的形式表现出来

    def func(a,s,*args):     #位置参数 > 动态位置参数
        print(a,s,args)
    func('包子','油条','豆浆','猪蹄','羊蹄') 
    结果:
    包子 油条 ('豆浆', '猪蹄', '羊蹄')

        位置参数 > 动态位置参数         *args获取的结果以元祖的形式打印出来

    def func(a,b,**kwargs):   
        print(a,b,kwargs)
    func(a='猪蹄',b= '羊蹄',c='鸡腿',d='鸭腿')   #关键字位置 > 动态关键字位置
    结果:
    猪蹄 羊蹄 {'c': '鸡腿', 'd': '鸭腿'} #**kwargs接收的关键字参数通过字典打印出来

         关键字参数 > 动态关键字参数       **kwargs接收的关键字参数通过字典的形式打印出来

    动态参数接收位置参数:
    注意点:
    *args接收的位置参数按照元祖的形式打印,当只有一个参数的时候必须要带个逗号(1,)
    *args中的args并不是固定的 可以换成其他变量但是*是固定的
    动态参数接收参数的时候,位置参数必须在动态参数前面(a,b,*args)
    默认参数写在动态参数后面的时候,默认参数不会生效
    动态参数接收关键字参数:
    注意点:
    **kwargs接收的关键字参数以字典的形式打印来
    **kwargs中的kwargs并不是固定的 可以换成其他变量但是*是固定的
    动态参数接收关键字参数也必须是在位置参数的后面

     

    def func(a,b,*args,c= 1,d= 2,**kwargs):  #位置参数 >动态位置参数 >关键字参数>动态关键字参数
        print(a,b,args,c,d,kwargs)
    func('猪蹄','羊蹄',"鸡腿",'鸭腿',c= 66,d= 77,f= 88,g= 99)
    结果:
    猪蹄 羊蹄 ('鸡腿', '鸭腿') 66 77 {'f': 88, 'g': 99}
     # *args 接收的位置参数以元祖的形式呈现,
     #**kwargs 接受的关键字参数以字典的形式呈现
    def func(*args,**kwargs):  #万能 无敌
        print(args,kwargs)
    func(1,2,3,4,a=1,b=2,c=3)  # 位置  关键字  混合
    结果:
    (1, 2, 3, 4) {'a': 1, 'b': 2, 'c': 3}
    lst =[1,2,3,5,4]
    def func(*args):  # 聚合
        print(*args)  #打散
    func(*lst)  # 打散  去壳
    结果:
    1 2 3 5 4

     # 形参位置:

    #   位置参数 > *args(动态位置参数) > 默认参数 > **kwargs

    *和**在形参位置代表着聚合,在实参位置的时候代表着打散,
    *在函数体重代表着打散
    *kwargs在函数体中代表打散的是字典的键 **kwargs在函数体中会报错
  • 相关阅读:
    第二阶段站立会议第三天
    第二阶段站立会议第二天
    第二阶段站立会议第一天
    测试计划
    cnblogs用户体验及建议
    第一阶段绩效评估
    第一阶段各组意见回复
    第一阶段团队评价
    站立会议第十天
    站立会议第九天
  • 原文地址:https://www.cnblogs.com/shicongcong0910/p/10240793.html
Copyright © 2011-2022 走看看