初识函数

一.什么是函数

  定义一个事情或者功能,等到需要的时候直接取用就好了,那么这里定义的东西就是一个函数

  函数:对代码块和功能的封装和定义.

二.使用函数

  使用def关键字来定义函数

  def 函数名():

        函数体

  函数名的命名规则和使用变量基本一样.

  函数体就是函数被执行之后要执行的代码.

  函数的调用:使用函数名就可以调用函数,写法:函数名(),这个时候函数的函数体会被执行.

三.函数的返回 return

  1.函数中遇到return,函数结束,不再继续执行.

  2.给函数的调用者一个访问结果.

  函数的返回值可以有多个结果

  (1)如果return什么都不写或者干脆不写return,那么返回的就是None.

  (2)如果return后面写了一个值,则调用者可以接受一个结果.

  (3)如果return后面写了多个结果,则调用者可以接收一个元组,构成多个变量.

四.函数的参数

  参数,函数在调用的时候指定具体的一个变量的值,就是参数.

  1.形参:写在函数声明的位置变量叫形参,形式上的一个完整,表示这个函数需要xxx.

  2.实参:在函数调用的时候给函数传递的值,叫实参,实际执行的时候给函数传递信息,表示给函数xxx

  3.传参:给函数传递信息的时候将实际参数交给形式参数的过程被称为传参.

五.参数的分类

  实参:1.位置参数.2.关键字参数.3.混合参数,位置参数必须在关键字参数前面

  形参:1.位置参数.2.默认值参数

六.动态传参

1.动态接收位置参数

   在参数位置编写*表示接受任意内容

  动态接收参数的时候要注意:动态参数必须在位置参数后面

  顺序:位置参数,动态*,默认值参数

2.动态接收关键字参数

  使用**来接收动态关键字参数,这个时候接收的是一个字典

  最终顺序:位置参数>*args>默认值参数>**kwargs

  def func(*args,**kwargs)

  动态参数的另一种传参方式:

  在实参位置上给一个序列,列表,可迭代对象前面加个*表示把这个序列按顺序打散.

七.命名空间
  1.内置名称空间
  2.全局名称空间
  3.局部名称空间
作用域:
  1.全局作用域:全局+内置
  2.局部作用域:局部(函数被调用)
  globals()查看全局的内容
  locals()产看当前作用域的内容
  3.函数嵌套
  函数可以互相嵌套
  4.globa 和nonlocal关键
  global:在局部访问全局中的内容
  nonlocal:在局部寻找外层花鸟属中离他最近的那个变量

 

posted @ 2018-08-08 23:06  不喜欢酸甜的刘青阳  阅读(112)  评论(0编辑  收藏  举报