函数初级
函数是一系列代码的集合,用来完成某项特定的功能
优点
- 避免代码的冗余 2. 让程序代码结构更加清晰 3. 让代码具有复用性,便于维护
函数四部分
1. 函数名:使用该函数的依据 2. 函数体:完成功能的代码块 3. 返回值:功能完成的反馈结果 4. 参数:完成功能需要的条件信息
函数的定义与调用的完整语法
1、定义 def 是声明函数的关键字,后面跟着函数名,括号内是函数的参数 def 函数名(参数1,参数2,参数3,...): '''注释''' 函数体 # 函数体写具体的逻辑代码 return 返回的值 # retrun后面是函数的返回值,是函数体代码的运行成果
2、调用 函数名(参数1,参数2,参数3,...)
注:
-- 先定义再调用
-- 函数名存放的是函数地址
-- ()会触发函数体的执行
-- 函数执行完毕得到的是函数的返回结果,通常称之为函数的返回值,也称函数值
函数详解
根据函数体划分
空函数:用来罗列功能
空函数指的是函数体用pass占位,pass代表什么也不做
def func():
pass
func():
调用后什么是都不干
非空函数:正常可以完成某项功能
def func():
print('非空函数')
func():调用后执行函数体
根据参数列表划分
无参函数:不需外界资源
def start():
print('系统启动')
有参函数:需要外键资源
def login(usr, pwd):
if usr == 'owen' and pwd == '123':
print('登录通过')
else:
print('登录失败')
根据返回值划分:return是用来结束函数的
空返回:返回None
------------------------1--------------------------
def demo(x, y):
print( x + y )
------------------------2--------------------------
def demo(x, y):
print( x + y )
return
一值返回
def demo(x, y):
return x + y
多值返回
def demo(x, y):
return x + y, x - y, x * y, x / y
函数的定义:
def func(a, b):
print(a, b)
return a + b
函数四个组成部分
函数名:调用函数的依据,必须的
函数体:执行函数逻辑的,必须的
参数列表:为函数内部提供资源,非必须的
返回值:将函数执行结果返回给外界,(非必须的)
返回值:空返回(没有return|空return) | 一值返回 | 多值返回:装有多个值的元组
参数列表:
实参:外界调用函数传入的参数,拥有实际值
形参:函数定义时,()中定义用来接受实参的值
# 参数重点一:形参是对实参的值拷贝 ***** ls=[1,2,3,4,5] num=10 def fn(arg,n):arg[2]=300print('1×',arg[2])print('2*',id(n))n=100print('3',n)print('4',id(n))fn(ls,num) print('5×',ls[2]) print('6*',id(num))# 1× 300 # 2* 1709010688 # 3 100 # 4 709013568 # 5× 300 # 6* 1709010688
实参的分类
实参的分类 位置实参:按位置对应传递参数,必须出现在关键字实参之前 关键字实参:不需要按位置对应传参,用参数名标注为谁传参,必须出现在位置实参之后参数重点二:先位置实参后关键字实参传参参数重点三: 位置实参:只能给位置形参传参(位置形参|默认形参|可变长位置形参) 关键字实参:可以给任意形参传参出现顺序 参数重点四: 位置形参 > 默认形参 > 可变长位置形参 > 关键字形参 > 可变长关键字形参def fn1(a, b, c=10, *args, d, e=20, f, **kwargs):pass