• python基础6 ----python函数


    python函数

    一、函数的参数

         1、函数的参数从调用的角度来讲可以分为形式参数和实际参数,也可叫形参和实参。

          形参:变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量

         实参:可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值

      2、位置参数:按照从左到右的顺序依次定义的参数

        注:按位置定义的形参必须被传值,多一个不行,少一个不行。

          按位置定义的实参,与形参一一对应

      3、关键字参数:在传入实参时指定形参的变量名(实参在定义时,按照key=value形式定义)

         注意的问题一:位置实参必须在关键字实参的前面。
          注意的问题二:实参的形式既可以用位置实参又可以是关键字实参,但是一个形参不能重复传值。

      4、默认参数:定义函数阶段,就已经为形参赋值,定义阶段有值,调用阶段可以不用传值。

        默认参数需要注意:

             问题一:必须放在位置参数和形参后面
             问题二:默认参数通常要定义成不可变类型
             问题三:默认参数只在定义阶段被赋值一次

      5、可变成参数(收集参数):可变长指的是实参的个数不固定

        按位置定义的可变长度的实参:*  (*定义成的实参是元祖形式)
        按关键字定义的可变长度的实参:** (**定义成的实参是字典形式)
       注:*和**既可以“打包”又可以“解包”。

       注:函数必须遵守先定义后使用的原则,定义阶段是只检测语法不执行代码,执行阶段是执行代码。

    二、函数的返回值(return)

      1、return返回值没有的情况下返回None.

      2、return可以返回任意类型的值。

      3、return只能返回一次值,其作用是终止函数的执行。

    三、名称空间(即就是存放名字与值得绑定关系)。

      1、名称空间分为三类,分别是内置名称空间,全局名称空间和局部名称空间。

      2、内置名称空间:python解释器自带的名称,默认python解释器启动就会执行。

      3、全局名称空间:文件级别的名字都会存放在全局名称空间中,执行python文件时会产生。

      4、局部名称空间:定义在函数内部的名称,局部名称空间只有在函数调用时才会生效,停止调用就会失效。

      5、三者的加载顺序:内置名称空间》》全局名称空间》》局部名称空间

      6、三者的取值顺序:局部名称空间》》全局名称空间》》内置名称空间

    四、函数变量的作用域(全局变量作用域和局部变量作用域)

       1、全局作用域:内置名称空间与全局名称空间的名字属于全局范围,在整个文件的任意位置都能被引用,全局有效(也就是说代码内所有的函数内部都可以访问到全局变量)。
       2、局部作用域:局部名称空间的名字属于局部范围,只在函数内部可以被引用,局部有效

    五、函数的嵌套

      1、函数内部创建另一个函数,这种函数叫做内嵌函数或者是嵌套函数。 

      2、内部函数整个作用域都在外部函数之内。
    六、函数对象

      1、函数是第一类对象: 指的是函数可以被当做数据传递

      2、函数可以被引用,可以当作函数的参数,可以当作函数的返回值,可以当作容器类型的元素.

      

        

        

  • 相关阅读:
    联通手机号停机保号了,想恢复要短信验证码登陆但是无法接收短信验证码怎么办
    记卖饭让我先吃
    POJ 3658 Artificial Lake
    POJ 3662 Telephone Lines (dijstra+二分)
    CodeForces 748C Santa Claus and Robot
    CodeForces 748B Santa Claus and Keyboard Check
    POJ 3659 Cell Phone Network(树形dp树的最小点支配集)
    【JZOJ 5455】拆网线 【树形DP】
    【JZOJ 5455】拆网线 【树形DP】
    【JZOJ 5455】拆网线 【树形DP】
  • 原文地址:https://www.cnblogs.com/xuanan/p/7003849.html
Copyright © 2020-2023  润新知