函数

 

1.函数顺序:定义函数---->调用函数---->函数体

2.函数返回值:return 返回值单个是本身,多个为元组;

         没有return返回None;

         有return没写返回内容也返回None;

         return以下的程序不执行;

         返回值返回给调用者,即调用函数名+().


ps:三元运算:a if a>b else b

3.参数

形参: def func(形参):

    函数体

  f unc(实参)

传参:实参传递给形参的过程

 

参数级别: 位置参数>动态位置参数>默认(关键字)参数>动态默认(关键字)参数

位置参数:从左到右 一 一 对应。

默认参数

函数执行过程:1定义函数

       2开辟内存空间

       3.调用函数

       4.运行函数体

       5.销毁函数开辟的内存空间

动态位置参数:*args 默认约定写法,可变 * +其他字符 代表;

        一个元素为元素本身,多个元素则默认元组

动态默认参数:**kwargs 默认约定写法,可变 ** +其他字符 代表;

        默认字典

在形参位置 * 表示聚合

在实参位置 * 表示打散,在函数体中 * 将可迭代的元素打散;

在函数调用的时候,* 将字典打散,将键取出;

在函数调用的时候,** 将字典打散成关键字参数以键和值的形式;

 

4.作用域

名称空间:加载顺序:内置空间--->全局空间--->局部空间

     取值顺序:局部空间--->全局空间---->内置空间

内置空间:python内置空间中的所有代码

全局空间:写的PY文件

局部空间:函数中的代码

 

作用域:1.全局作用域:内置空间+全局空间

    2.局部作用域:局部空间(函数内的就是局部作用域)

global 在局部修改全局变量,找到则修改,没有则生成

nonlocal 在局部修改离其最近的局部变量,向上一级一级寻找最近的第一个,直到局部空间最后一层,找到第一个则修改,没有则会报错(函数外全局变量不算不修改)

函数嵌套

例:

             def func():

      print(a)

      def inn():

        print(b)

      inn()

      return c

    print(func())

1.def func():声明函数func()  

2.print(fun()) 调用函数,进入func()的函数体

3.print(a) 打印a

4def inn(): .声明函数inn()

5.inn() 调用函数,进入inn()函数体

6.print(b) 打印b

7.inn()函数的返回值返回 None 到inn()

8.return c   func()函数返回值c返回到fun()

9.print(func()) 打印c 

结束

 

ps:查看注释  函数名.__doc__

  查看名字   函数名.__doc__

 

 

 

        

posted on 2019-03-14 20:17  Picxy  阅读(120)  评论(0)    收藏  举报