函数入门:
1、什么是函数?
首先函数是一个功能、是一个行为、是一个动作。其次函数也是一个具有名称的功能代码的集合。 还是一段来解决某一个问题的代码或者指令,具有名称的集合
2、为什么要使用函数? 以减少代码的重复。
3、python中如何使用函数?
**def**函数名称( 【参数列表】):
函数体
函数的得到一个结果,如果调用者需要,则需要返回这个结果
return 返回值
函数调用:
函数名称(【实参列表】)
举例:
函数的分类:
1、按有无参数分为:有参函数、无参函数
有参函数:存在未知量的,比如上面的图片中有一个未知量 “n”
无参函数:不存在未知量,直接输出,
2、是否存在返回值(return):有返回值的函数、无返回值的函数。
有返回值的函数:用return 再次返回数值
无返回值的函数:直接用print输出,没有结果
3、定义者:系统函数、第三方函数、自定义函数。
系统函数:也就时python定义的函数,官方的
第三方函数:运用的第三方的函数
自定义函数:也就是我们自定义的函数,自己用来运算
函数的调用过程:
大致来说就是一个进栈出栈的过程。
函数再python中,本质就是一个对象,调用函数叫做压栈(push),调用完成后函数就需要出栈(pop)
引用传递和值传递
值传递,值传递仅仅会传递变量的值,不会对变量本身产生影响
引用传递,引用传递传递是对象的地址(也就是对象),因此会对对象的值产生影响
python的main函数:
if name == ‘main’:
首先,ptyhon是一门脚本语言,所以它的main函数和c语言或者java等不一样
其次python中的main函数并不是代码开始执行的位置,写再main函数中的代码一般是测试代码,用来测试当前模块,并不能导入其他模块中
函数参数问题:
默认值参数:
在函数定义时,如果一些参数的值,一般都是不是不变某个值,则可以将参数设置为默认参数,这样减少调用者的麻烦
可变参数:(变量)
关键字参数:(变量名称)
万能参数:(args,kwargs)
函数作为参数传递到函数内部的问题:
python中,函数本质是一个对象,python中,函数的参数类型是python中的所有类型都可一
总结:在python,函数可以作为参数传递到函数内部去
lambda表达式:
**注意:**如果需要返回值,不用添加return,会自动返回
lambda[参数列表]:函数体
lambda的作用:
1、在python实现匿名函数
2、简化编程
缺点:
1、降低了代码的可读性,提高代码的复杂度,提高了代码的维护成本
偏函数:
将一个函数的参数修改或者增加默认值,就称为偏函数
import functools
new_int = functools.partial(int, base=8)
>>> new_int(“1234”)
668
递归函数:(函数自身调用函数自身)
例如上楼梯问题,和斐波那契数列等都是利用递归来表达