函数基础

一、什么是函数

完成特定功能的代码块,作为一个整体,对其进行特定的命名,该名字就代表这函数

现实中:很多问题要通过一些工具进行处理 => 可以将工具提前生产出来并命名 =>通过名字就可以找到工具=>使用工具来解决问题

二、函数的优点

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

三、函数的四部分

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

四、定义函数

通过def关键字来定义

def 函数名(参数):
  函数体
  return XX
  
# 1. 示例
def get(water, money):
    print("收取费用%s" %money)
    print("给你 %s" %water)
    return water
get("矿泉水", 2)
    

五、使用函数

1. 根据需求定义函数
2. 通过函数名找到函数所在的位置(内存地址)
3. 函数名(): 执行函数地址中存放的所有代码块,函数在定义时需要外界的参数,就要在调用时传入对应的参数
4. 函数执行完一定有返回结果,通过return关键字将结果返回给外界.外界需要知道执行结果,用变量接受,反之只执行函数(不需要接受)即可

六、函数的分类

6.1 根据函数体分类

6.1.1 空函数

# 空函数: pass来填充函数体的函数, 优先明确函数名,暂不明确函数体(编程中就存在一些没有函数体的函数)
def login(): 
    pass

6.1.2 非空函数

# 非空函数:有函数体的函数
def fn2():
    print('函数体')

6.2 根据函数参数分类

6.2.1 无参函数

def add():
    print('功能体不需要外界的参数')
    n1 = input('n1: ')
    n2 = input('n2: ')
    print(n1 + n2)

6.2.2 有参函数

def add_two(n1, n2):
    print('功能体需要外界的参数')
    print(n1 + n2)

6.3 根据函数返回值分类

6.3.1 返回值的功能

1. 结束函数
2. 将函数的内部数据返回给外部

6.3.2 不明确返回值

# 1.不明确return关键词的函数:系统在函数最末端自动添加量return,返回的是None

def fun():
    print('内容')
res = fun()
print(res)     # None

6.3.3 空return返回值

def print_msg():
    while True:
        msg = input('msg:')
        if msg == 'q':
            # break
            return  # 在特定的位置需要直接结束函数,但是不需要告诉外界某个结果,用空return处理
        print(msg)
    print(msg)  # 在break下可以被执行,在return下不能被执行

res = print_msg()
print(res)

6.3.4 有明确返回值

# python中的函数本质上只能返回一个值,值跟在return关键字后
# 可以通过语法上返回多个值,值之间用逗号隔开,但是本质上返回装有多个值的元组。一个值

def fun1():
    num = input('num:')
    return num
print(fun1())

6.3.5 多个返回值

# python的return支持多值返回的语法原因是python中有解压赋值

def get_two_num():
    num1 = input('num1:')    #  123
    num2 = input('num2:')    #  123
    return num1,num2

res = get_two_num()
print(res)     #  ('123', '123')  #多个值最终以一个元组的形式包裹起来

 

posted on 2020-05-13 22:59  软饭攻城狮  阅读(164)  评论(0编辑  收藏  举报

导航