• 9.25


    一、函数的使用原则:

    函数的使用原则分为2个阶段

    1.定义阶段:只检测语法,不执行函数体代码

    2.调用阶段:会触发函数体代码的运行

    先定义后调用

    二、函数的定义与调用形式

    函数定义的3种形式:

    1.有参函数

    def func(xxxxx)

    pass

    func(1)

    2.无参函数

    def func()

    pass

    func()

    3.空函数   写框架

    def func()

    pass

    函数调用的3种形式:

    语句形式

    表达式

    将函数的调用当作参数传给另外一个函数

    三、函数的返回值

    注意点:

         1.函数的返回值没有类型限制

         2.函数的返回值没有个数限制

    1.返回多个值时,返回值用逗号隔开,返回的是元组

    2.返回单个值时,返回的是值本身

    3.返回0个值或者没有return,返回none

    return除了有返回值的功能,还有结束函数的功能

    四、函数参数的使用

    1.函数的参数分为两大类

    形式参数(刑参)

    实际参数(实参)

    ps: 在调用函数阶段会将实参(值)的值绑定给形参(变量名),这种绑定关系只在调用函数时生效,在函数执行完毕后就会解除绑定

    2.细分

          1.位置参数

    位置形参:在定义阶段,按照从左到右的顺序依次定义的形参

    特点:必须被传值,多一个不行少一个也不行

    位置实参:这调用阶段将值从左到右传给形参

    特点:与形参一一对应

         2.关键字实参

    这调用阶段,按照k,v的形式定义的实参

    特点:可以打乱顺序,也能将值传给形参

    实参的形式可以是位置实参与关键字实参混合使用,但是必须遵循原则

    1.位置实参必须放在关键词实参的前面

    2.不能对一个形参重复传值

         3.默认形参

    在定义阶段就已经赋值

    特点:1.定义阶段已经赋值,意味着可以不用传值

    2.位置形参必须放在默认形参的前面

    3.可以对默认形参重新赋值

    4.默认形参的值通常是不可变类型

         4.可变长参数

    指的是在调用阶段,实参的个数不固定

    *--->溢出的位置实参

    **--->溢出的关键字实参

    *的用法:

    在形参前加*,*会将溢出的实参以元组的形式表示

    在实参前加*,但凡碰到实参前加*的,先将实参打散成对应的位置实参再与形参对应

    **的用法:

    在形参前加**,**会将溢出的关键词实参以字典的形式表示

    在实参前加**,但凡碰到实参前加*的,先将实参打散成对应的关键词实参再与形参对应

    *与**的应用:

    def index(name,age,sex):
    print('index=====>',name,age,sex)

    # 会将wrapper函数接收的参数格式原封不动地转嫁给其内部的index函数,必须要遵循的是index的参数规则
    def wrapper(*args,**kwargs): #args=('egon',) kwargs={'sex':'male','age':18}
    # print(args)
    # print(kwargs)
    index(*args,**kwargs) #index(*('egon',),**{'sex':'male','age':18}) #index('egon',sex='male',age=18)

    # wrapper(1,2,3,4,5,a=1,b=2,c=3)
    wrapper('egon',sex='male',age=18)

  • 相关阅读:
    哈密顿绕行世界问题 (dfs)
    山东省第八届ACM大学生程序设计竞赛
    HDU
    HDU
    hdu 1241(DFS/BFS)
    centos7 df 命令卡死
    hosts文件修改之后立刻刷新
    shell脚本打印日期时间
    CentOS6设置php-fpm开机自启动
    Word中怎么设置忽略拼写和语法检查提醒
  • 原文地址:https://www.cnblogs.com/zhanggq/p/9700504.html
Copyright © 2020-2023  润新知