函数

 一、函数初级

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

优点

1. 避免代码的冗余
2. 让程序代码结构更加清晰
3. 让代码具有复用性,便于维护

 

函数四部分

1. 函数名:使用该函数的依据
2. 函数体:完成功能的代码块
3. 返回值:功能完成的反馈结果
4. 参数:完成功能需要的条件信息

 

函数的定义与调用的完整语法

1、定义
    def 是声明函数的关键字,后面跟着函数名,括号内是函数的参数
        def 函数名(参数1,参数2,参数3,...):
            '''注释'''
            函数体               # 函数体写具体的逻辑代码
            return 返回的值      # retrun后面是函数的返回值,是函数体代码的运行成果
2、调用
    函数名(参数1,参数2,参数3,...)
3、注意
    -- 先定义再调用
    -- 函数名存放的是函数地址
    -- ()会触发函数体的执行
    -- 函数执行完毕得到的是函数的返回结果,通常称之为函数的返回值,也称函数值

  

函数的参数

  实参:外界调用函数传入的参数,拥有实际值

  位置实参:按位置对应传递参数,必须出现在关键字实参之前
  关键字实参:不需要按位置对应传参,用参数名标注为谁传参,必须出现在位置实参之后

  形参:函数定义时,()中定义用来接受实参的值

参数特性:

1. 形参是对实参的值拷贝
2. 先位置实参后关键字实参传参
3. 位置实参:只能给位置形参传参(位置形参|默认形参|可变长位置形参)
   关键字实参:可以给任意形参传参
4. 出现顺序:位置形参 > 默认形参 > 可变长位置形参 > 关键字形参 > 可变长关键字形参

def fn1(a, b, c=10, *args, d, e=20, f, **kwargs):
    pass

 

示例:

ls=[1,2,3,4,5]
num=10
def fn(arg,n):
    arg[2]=300
    print('1',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

 

 

 

 二、函数详解

1)根据函数体划分

空函数:用来罗列功能 

函数体用pass占位,pass代表什么也不做

def func():             
  pass ​

func():

 

非空函数:正常可以完成某项功能

def func():               
  print('非空函数')     

func():  #调用后执行函数体

 

 

2)根据参数列表划分

 无参函数:不需外界资源 

def start():   
    print('系统启动')

 

有参函数:需要外键资源 

def login(usr, pwd):   
   if usr == 'owen' and pwd == '123':         
    print('登录通过')     

  else:         
    print('登录失败')

 

3)根据返回值划分:return是用来结束函数的

1、空返回

# 1)没有return
def demo(x, y):     
  print( x + y )     


# 2)空return
def demo(x, y):   
  print( x + y )     
   return

 

2、一值返回 

def demo(x, y):     
  return x + y

 

3、多值返回 :装有多个值的元组 

def demo(x, y):     
  return x + y, x - y, x * y, x / y

demo(6,3)   # (9, 3, 18, 2.0)

 

posted @ 2019-03-29 13:34  zhoyong  阅读(151)  评论(0)    收藏  举报