09 函数

函数初级

函数是一系列代码的集合,用来完成某项特定的功能

 

优点

  1. 避免代码的冗余 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]=300
    print('',arg[2])
    print('2*',id(n))
    n=100
    print('3',n)
    print('4',id(n))


fn(ls,num)
print('',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

 

转载于:https://www.cnblogs.com/zhouyongv5/p/10620725.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值