python函数

1、定义

  

2、调用函数(直接使用函数名加括号)

  

ps:定义函数时的参数是形参,调用函数时传递的参数是实参。

  关键字参数:传递参数的时候加上参数名,防止参数搞乱

  

  默认参数:定义参数时,直接给参数赋值,此值为默认值。当有默认参数时,函数调用可以不传递参数值,默认使用定义时的函数值。

  

  收集参数(可变参数):当不清楚到底有多少个参数时使用

3、函数和过程  函数(function):有返回值

  过程(produce):是简单的、特殊并且美誉返回值的

ps:严格来说python只有函数,没有过程。函数有返回值时返回一个值,没有时返回None对象

当需要返回多个值的时候,python默认返回一个元组,也可以返回一个list

4、变量的作用域

  局部变量:在函数中定义的变量,只能在函数内部使用

  全局变量:在函数体外定义的变量,可在整个文件代码中使用

ps:python在函数中视图修改全局变量时,会在函数中自动创建一个和全局变量名相同的局部变量,与全局变量互不影响。

5、global关键字

  当要在函数中修改全局变量时,在函数中将变量用global关键字修饰,则可以修改全局变量

6、内嵌函数

7、闭包

  在Python中,所谓的闭包是一个包含有环境变量取值的函数对象。环境变量取值被保存在函数对象的__closure__属性中。

  

  ps:函数line与环境变量b构成闭包

  注:在函数外部无法直接调用内嵌函数

8、匿名函数(lambda表达式)

  

9、filter过滤器

  

10、map函数

  map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。

  

11、递归

  

  

ps:递归虽然效率高,但是得谨慎使用,注意递归的返回条件,以免进入死循环

  

  代码实现

    1、递归算法:

    

    2、迭代算法

    

注:递归算法的执行效率没有迭代算法高,但代码比迭代算法简单

  

  

12、集合(唯一,即里面的元素值唯一,自动清除重复值)

  集合与字典非常相似,也是用花括号将数据组合起来,只是里面没有字典一样的映射关系。

  1、创建

    

  2、方法

    in / not in

    remove()

    add()

  3、不可变集合(frozen:冰冻的、冻结的)

    

ps:集合是无序的,不支持索引

  

原文地址:https://www.cnblogs.com/studyDetail/p/6435625.html