通过函数,可以对特定的代码功能进行封装,实现代码的复用。
def 函数名(参数列表):
代码
不带参数的函数定义:
def printInfo():
print(‘Hello world!!’)
带参数的函数定义:
def print(a,b):
return a+b
2、函数的调用
函数名(实参列表)
printInfo()
sumV = add(10,20) 这里传入的是实参
3、函数的返回值
通过return返回函数的返回值
函数中,默认return返回None,不写return也是返回None
在函数中,无论在return后面是否有语句,遇到return整个函数就直接结束
continue:结束本次循环,进入下一次循环
break:
特别的地方:
在python中可以一次返回多个值
4、参数传递
python的所有变量的内容都是内存地址,也就是说变量指向内存的对象的一个指针
都是值的引用,其类型分都是对象决定的
(1) id函数:获取变量的地址
a = 10
print(id(a)) 输出:
(2)值类型:
值类型对象本身不允许修改,数值的修改实际上让变量指向一个新的对象
(也是就是数值本身的内容变成了另外一个新的内存地址)
不可变对象包含:字符串、元祖、数值—- 这些都不允许修改 ,做参数传递的时候,在内部改变量的值,不能影响外部变量的值
(3)引用类型
可变对象:列表、字典等,本身允许修改
如果函数传递的是引用类型,在函数内操作直接影响到外部的变量
5、局部变量全局变量

)函数内部使用的变量称为局部变量
)函数外定义的变量称为全局变量
全局变量能够在所有的函数中进行访问
如果在函数中修改全局变量,那么就需要使用global进行声明,否则出错
如果全局变量的名字和局部变量的名字相同,那么使用的是局部变量(所谓强龙不压地头蛇)
传入的时候,按照定义的时候的位置依次传入。
但是默认参数,要放在后面,否追报语法错误
传入的参数组成元祖!!
允许你传入任意个参数,这些参数再掉用的时候,组装成了一个元祖(tuple)!!!
字典(dict)!!!
函数内部自己调用自己,但是一定要有结束条件!!
没有名字的函数叫匿名函数,也叫lambda函数
语法: lambda 参数:表达式
左边的参数可以有多个,但是右边的表达式只能有一个
使用lambda函数时,需要一个变量接收结果
lambda函数可以作为实参,传递给函数
小例子:
一句话,内部函数调用外部函数的变量(一般是要装饰的函数名),返回内部函数的函数名!!(相关参数和变量都保存在返回的函数中)
函数闭包的要素
1、外部函数和内部函数
2、内部函数使用外部函数的变量
3、内部函数返回函数名()
其他逻辑视情况而定!!
就是在闭包的基础上,参数改为函数,该函数就是我们传递进来并且要装饰的对象。
把一个函数的某些参数给固定住(就是设置默认值),得到一个新的函数
定义:一个函数接收另外一个函数作为参数,称之为高阶函数
1、map() 函数
将传入的函数作用到列表的每一个元素
map(函数,可迭代对象)
2、reduce()函数
对传入序列(作用于每一个元素)做累积运算
格式:reduce(函数,可迭代对象),搭配lambda使用
3、filter()函数—过滤
用于过滤序列,他把传入的函数作用于每一个元素,如果是True就保留该元素,Flase去掉该元素

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/208205.html