函数
函数是什么
函数就是一个功能的封装,然后可以可以被多次调用的代码块
函数定义
-
函数定义需要
def关键字
,函数的参数不是必须的,返回值也是,要是有参数一定要传参数
-
要是
return没有返回值
,或者连return都没有
的,返回的是None
值 -
完整的函数包括
函数名,参数,以及函数的实现语句
,缩进属于函数体,返回值是用来保存计算结果的
函数定义的规则
-
函数代码以
def开头,后接函数名加上()
-
传入的
参数和自变量必须放在圆括号中间
,自定义的参数也放在圆括号内
-
函数的起始用
:
并且用缩进
-
return[表达式]
用来返回给调用,不带return的返回None给调用者
函数定义的调用
就是用函数名()来调用的,自定义函数需要自己来定义的,而内置函数不需要自己定义直接使用就好
函数的参数
要是函数定义参数时,函数有
无默认参数和有默认参数时
无默认参数的写的前面,后面写默认的参数
-
必须参数:就是
传入的参数与函数定义顺序的一致
-
关键字参数:可以确定传入的参数值,
允许调用时和定义时的参数顺序不一样
-
默认参数:如果函数调用的时候
没有传入参数就会调用默认的参数
,就是参数在定义的时候赋值
了 - 不定长参数:就是一个可变参数,函数定义的时候没确定参数有多少,可变参数名前加*,参数会放在一个元组中,元组的名称就是可变参数名
函数的返回值
函数返回值可以返回任意数据类型哦
函数可以处理数据,并且返回给操作者,返回值可以是输出语句和一个值或者一组值
变量的作用域
每执行一个函数就会创建一个命名空间,这个命名空间就是局部作用域,如果同一个函数在不同时间运行,作用域是独立的,
不同的函数参数名称可以一样
,其作用域也是独立的,函数内命名的参数在外面也可使用。
- 局部作用域:定义在函数的内部,只能由函数的内部来调用
- 全局作用域:定义在函数的外部,可以被函数内部使用
- 内置作用域:python预先定义的作用域
使用匿名函数
就是使用lambda表达式,不使用def来定义的函数
- lambda是一个表达式,函数体比def简单
- lambda主体是表达式不是代码块,只能封装简单的逻辑代码
- lambda有自己的命名空间,只能使用自己的参数
函数和模块开发
函数的优点就是代码块与主程序分离,通过使用描述性语句可以让主程序更好的理解
还可以将函数导入模块中,再将模块导入主程序中
可以使用import函数来导入模块:
优点1:可以隐藏代码,让代码处于高等的逻辑上
优点2:可以在不同地方重用到这个函数
导入模块的方法
- 需要创建一个模块,模块的扩展名为.py
导入一个函数名
from 模块 import 函数名:从模块中导入函数名,这个适用与模块中函数过多你只需要一个函数
导入全部函数名
from 模块 import *:从模块中导入全部的函数名
给函数用as起别名
导入的函数名过于复杂或者和本模块的函数名称一样可以使用as来重命名
as的语法:
from 模块 import 函数名 as 简写的函数名