函数基础
函数简介
定义:就是具有特定功能的一段代码
优点:
解决代码的重复书写
可以将功能的实现着和使用者分开,提高开发效率
分类:
库函数:print、input、abs等
自定义:用户自己封装的函数
函数使用
定义函数格式
[]表示可选,参数可以有,也可以没有,也可以是多个。
函数名:
与变量一样,只要遵循标识符的命名规范即可。
函数调用:
函数定以后不会执行,需要调用才会执行
调用格式:
函数分类(参数与返回值)
分类的标准是按照有无参数,以及有无返回值。
函数参数
形参:形式参数,就是写在函数定义出的参数
实参:实际参数,就是在函数调用时传递的参数
位置参数:也叫必传参数,没有默认值的参数
默认参数:定义时有默认值,调用时可以不传,必须写在最后
关键字参数:在函数调用时指定参数名字,参数的位置就无所谓。
可变长度参数:函数调用时可以传递比定义处更多的参数,多出来的参数会保存在args和kwargs中
*的使用:
函数进阶
函数的定义位置是随意的?
不是,一定是先定义后调用,函数的调用一定要放在定义之后。
函数的名字可以相同吗?
不可以,若出现同名函数,后者会覆盖前者。
函数内容能否再定义函数?
可以,定义在函数内部的函数叫内部函数,它是很多高级功能实现的基础。
变量的作用域
块级作用域
局部作用域
局部变量:定义在函数内部的变量叫局部变量,只能在函数内部使用。
全局作用域
全局变量:定义在函数外部的变量叫全局变量,哪里都可以使用
函数内部可以使用外部变量,但是不能修改
若修改需要使用进行全局声明
当函数内部与外部出现同名变量,默认使用的时内部变量
nonlocal使用
说明:内部函数使用外部函数的局部变量,需要使用nonlocal进行声明
递归函数(了解)
定义:函数内部调用函数本身的函数叫递归函数。
组成:
函数内部调用自己
终止条件(停止调用自己的条件)
核心算法(具体功能)
特点:
代码简洁
可读性差(不易理解)
瞬间占用内存较大,没有终止条件立即崩溃
有些领域是禁止使用的(安全领域:汽车电子)
只有在不得不使用的时候才使用(遍历目录)
练习:
前两项都为1,从第三项开始,每一项都等于前两项的和
如:
求n的阶乘
斐波那契数列的第n项
常用函数
内置函数(无需导入)
模块函数(需要导入)
科普结束
领取专属 10元无门槛券
私享最新 技术干货