• python全栈脱产第9天------定义函数的形式、调用函数的形式、函数的返回值、函数参数


    一、定义函数的的三种形式

      1.无参函数:函数不需要传参数

      2.有参函数:函数需要传递参数来运行

      3.空函数:函数内容为空,用pass代替,主要用于构思阶段

    二、调用函数的三种形式

      1.语句形式

      def foo():

        print('hello world')

      foo()

      2.表达式形式

      def foo(x,y):

        res=x+y

        return res

      print(foo(1,2))

      3.可以当做参数传给另一个函数

      def max1(x,y):

        if x>y:

          return x

        else:

          return y

      print(max1(1,2),3)

    三、函数的返回值

      注意点:1.返回值没有类型限制

          2.返回值没有个数限制:(1)返回一个值:调用函数拿到的结果就是一个值

                     (2)返回多个值:调用函数拿到的结果是一个元组

                     (3)返回0个值,或是不写return:调用函数的结果就是None

      return关键字:return是函数结束的标志,函数内可以有多个return,但只要执行一次,整个函数就结束

    四、函数参数的

      形参:指的是定义函数阶段括号内指定变量名,即形参本质就是“变量名”

      实参:指的是调用函数阶段括号内传入的值,即实参本质就是“值”

      形参与实参的关系:在调用函数时,会将实参赋值给形参,这种绑定关系在函数调用时临时生效,在调用结束后就失效了

      形参与实参的具体分类:1.位置形参:在定义函数阶段按照从左到右的顺序依次定义的形参,称之为位置形参

                    注意:按照位置形参定义,必须被传值,不能多或者少

                 2.位置实参:在调用函数阶段按照从左到右的顺序依次传入的值,称之为位置实参

                    注意:按照位置定义的实参,会与形参一一对应

                 3.关键字参数(关键字实参):在调用阶段,按照key=value的形式指名道姓地为形参传值

                    注意:1.可以完全打乱顺序,但仍然能只能为指定的形参传值

                       2.可以混合使用位置实参与关键字实参,但是要注意:位置实参必须要放到关键字实参的前面;不能对一个形参重复赋值

      默认参数:指的是定义在函数阶段,就已经为某个形参赋值了,改形参为有默认值的形参,简称默认形参

           注意:1.在定义阶段已经被赋值,意味着在调用阶段可以不用为其赋值

              2.位置形参应该放在默认参数前面

              3.默认参数的值在函数定义阶段已经固定

              4.默认参数的值通常应该是不可变类型

      位置形参VS默认形参:对于大多数情况下,传的值都是不相同的,应该定义为位置形参

                 对于大多数情况下,传的值都是相同的,应该定义为默认形参

      可变长度的参数:站在实参的角度,参数长度可变指的是在调用函数时,传入的实参值的个数不固定

              而实参的定义方式无法两种:位置实参,关键字实参,对应着形参也必须有两种解决方案*与**类,分别应对溢出的位置实参与关键字实参

              1.在形参中*:会将调用函数时溢出位置实参保存成元组的形式,然后赋值*后的变量名

              2.在实参中带*:但凡在实参中带*的,在传值前,都先将其打散成位置参数,再进行赋值

              3.在形参中带**:会将调用函数时溢出的关键字实参保存成字典的形式,然后赋值**后的变量名

              4.在实参中带**:但凡在实参中带**的,在传值前都先将其打散成关键字实参,在进行赋值

              5.规范:在形参中带*与**的,*后的变量名应该是args,**后的变量名应该是kwargs

      命名关键字参数:放到*和**之间的参数称为命名关键字参数  注意:命名关键字参数必须是key=value的形式传值

  • 相关阅读:
    Appium元素定位方式
    Selenium和Appium的关系
    再生龙备份恢复
    删除CentOS更新后的旧内核
    文字识别网站https://ocr.space/
    kubeasz部署高可用kubernetes1.17.2 并实现traefik2.1.2部署 亲测可用
    docker之Dockerfile实践用dockerfile构建nginx环境
    WordPress如何设置先登录再进入主页
    docker 容器使用 systemctl 命令是报错
    bilibili
  • 原文地址:https://www.cnblogs.com/zhouyi0316/p/9433600.html
Copyright © 2020-2023  润新知