python global 不同函数需要定义多次么 python函数中global有什么用_局部变量


变量作用域:根据变量定义的位置,可将变量分为全局变量局部变量

全局变量定义在函数外面的变量,可以在多个函数中进行访问,但不能执行赋值操作。如果有赋值语句,相当于创建了一个同名的局部变量

局部变量定义在函数内部的变量,只能在它被定义的函数中使用。在函数外面无法直接访问。

注意:当局部变量和全局变量同名时,在函数内部使用变量时,通常都是指局部变量,如果确实需要对全局变量进行修改,需要使用global关键字对变量进行声明,此时操作的就是全局变量了。


python global 不同函数需要定义多次么 python函数中global有什么用_lambda表达式_02


在调用一个函数的过程中,又直接或间接调用该函数本身,递归常用来解决结构相似的问题。所谓结构相似,是指构成原问题的子问题与原问题在结构上相似,可以用类似的方法求解。整个问题的求解可分为两部分:第一部分是一些特殊情况,有直接的解法;第二部分与原问题相似,但比原问题的规模小,并且依赖第一部分的结果。

递归的两个基本要素:

边界条件:递归出口,即什么时候结束递归

递归模式:大问题是如何分解为小问题的,也称为递归体。

通过循环能实现的效果,往往递归也可以实现,但反过来,通过递归能实现的,循环不一定能够实现。相对而言,递归的代码非常简洁,但难以理解,而循环则很容易理解。


python global 不同函数需要定义多次么 python函数中global有什么用_局部变量_03


Python中的一些特殊函数

通过lambda表达式实现匿名函数的用法,lambda表达式既可以赋值给一个变量,从而多次使用,也可以直接作为某个函数的参数,只使用一次。通常是作为其他函数的参数,例如map函数、filter函数等。


python global 不同函数需要定义多次么 python函数中global有什么用_python global用法_04


通过lambda表达式实现的效果,都能通过普通函数实现,lambda表达式是函数的一种简化版本。但反过来通过函数能实现的,lambda表达式不一定能够实现,因为lambda表达式只有一条语句


python global 不同函数需要定义多次么 python函数中global有什么用_递归_05


将可迭代对象中的元素依次取出,然后作为参数调用某个函数,并将所有执行结果依次保存到一个迭代器中。函数有几个参数,这里就需要几个可迭代对象。


python global 不同函数需要定义多次么 python函数中global有什么用_递归_06


python global 不同函数需要定义多次么 python函数中global有什么用_python global用法_07


过滤可迭代对象中的元素,保留所有能使函数结果为True的元素。


python global 不同函数需要定义多次么 python函数中global有什么用_python global用法_08


python global 不同函数需要定义多次么 python函数中global有什么用_递归_09


今日练习题:


python global 不同函数需要定义多次么 python函数中global有什么用_lambda表达式_10