【Day2】2.函数
视频地址(全部)
https://edu.csdn.net/course/detail/26057
课件地址(全部)
https://download.csdn.net/download/gentle__man/11858127
课程目标
1. 了解函数
2. 函数的格式定义
3. 函数文档
4. 局部变量和全局变量
了解函数
• 函数的本质就是功能的封装,和对代码的抽象
• 函数的作用:
1. 避免开发重复性相同代码
2. 便于程序的理解与维护
3. 对底层代码的抽象
基本函数格式
def 函数名():
函数功能代码...
函数功能代码...
return(没有return 默认返回None)
调用函数: 函数名()
特征:函数定义之后不会自动执行,必须在调用后才会执行
函数名的命名规则:驼峰+动词开头
带有参数的函数格式
def 函数名(参数,参数….):
函数功能代码...
函数功能代码...
return(没有return 默认返回None)
调用函数: 函数名(参数,参数….)
• 形参: 形式上的参数,声明函数时()中的参数是形参
• 实参: 实际上的参数,调用函数时()中的参数是实参
• 注意: 实参将值传递给形参的过程本质上就是简单的变量赋值仅此
而已
• 参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样
函数参数格式
1. 默认值的参数:可选择性输入的参数
2. 可变参数 :可以输入0到任意个参数,函数内组装成tuple
3. 关键字参数:可以输入0到任意个含参数名参数,函数内组装成一
个dict
4. 命名关键字参数
5. 多种参数混合:顺序是必选,默认,可变,命名关键字,关键字
函数返回值
调函数根据执行完毕是否可以得到一个结果,将函数分为2个类型:
1. 执行过程函数: print()
2. 具有返回值的函数:id(),type()
• return的特征:
1. 具有return语句的函数称为具有返回值的函数
2. return可以为当前函数执行完毕返回一个结果,这样的函数调用可以被接受
3. return执行之后,函数则会终止,所有return之后的语句不会被执行
4. 一个函数可以书写多个return语句,但是一般会放入分支结构当中
5. 一个函数若要返回多个数据,可借助复合数据类型(list,tuple,set,dict)
来操作即可!
6. 不带参数值的return语句返回None
函数文档
• 函数文档就是用来查看当前函数相关信息介绍的一个特定格式而已
• 查看函数文档的方法:
1. help(函数名称) # 直接输出显示函数文档的内容字符串
2. 函数名.__doc__ # 直接输出显示函数文档的内容元字符串(转义字符不转义)
3.官方文档
• 定义函数的文档: ''' 或 """
def 函数名(参数...):
''’
在此处声明函数文档
'''
函数功能代码...
def my_abs(x): ''' :param x: :return: ''' if not isinstance(x,(int,float)): raise TypeError('只能输入整数或小数类型') if x>= 0: return x else: return -x
#空方法 def test(a,b,c=0,*args,**kw): pass
def test1(a,b,c=0,*,d,**kw): ''' *,d表示只接收关键字为d的参数 ''' pass
• 注意:函数文档的作用是对函数进行说明,便于阅读和快速掌握函数的使用,通
常函数文档需 要具有以下信息:
1. 函数的作用
2. 函数的参数介绍(个数,数据类型)
3. 函数的返回值(数据和类型)
局部变量和全局变量
name = 'wang' def fun(): global name print('函数内name='+name) name = 'lisi' print('函数内修改后name='+name)
age = 10
print(age) print('函数外name='+name)
• 定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有
全局作用域
• 局部变量只能在其被声明的函数内部访问,而全局变量可以在整个
程序范围内访问。调用函数时,所有在函数内声明的变量名称都将
被加入到作用域中
小结
• 函数定义
• 函数参数
1.默认参数
2.可变参数
3.关键字参数
4.命名关键字参数
5.组合参数
• 函数返回值
• 局部与全局变量