函数基础之定义、使用、分类

函数

1.什么是函数

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

 2.为什么用函数

    2.1 代码的组织结构不清晰,可读性差

2.2 遇到重复的功能只能重复编写实现代码,代码冗余

2.3 功能需要扩展时,需要找出所有实现该功能的地方修改之,无法统一管理且维护难度极大

使用函数能够解决上述问题

3.怎么使用函数(先定义后使用)

3.1 定义函数

定义一个函数包括4部分:

1.函数名:是使用该函数的依据

2.函数体:完成功能的代码块

3.返回值:功能完成的反馈结果

4.参数:完成功能需要的条件信息

 

定义函数的语法(def关键词来声明函数):

        def 函数名(参数1,参数2,参数3,...):

          ''注释'''

          函数体

          return 返回的值

3.2 使用函数
函数的调用:函数名加括号(先找到名字,根据名字调用代码)

  函数名:拿到函数的地址

  **函数名(): 拿到函数的地址,并执行函数中存放的代码块(函数体)

  函数名(参数):执行函数并传入参数

  函数名(): 执行完毕后,会得到函数的返回值,返回值就跟普通变量一样,可以直接打印、使用、运算

3.3 函数执行的本质:
  执行函数体,得到函数返回值

4.函数的分类

4.1 根据参数列表分

无参函数:不需要外界资源

                    def start():
                       print('系统启动')
                   start()
  • 有参函数:需要外键资源

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

                    login('owen', '123')
4.2 根据返回值划分:return是用来结束函数的

        空返回:返回None

                     def demo(x, y):
  print( x + y )
   
def demo(x, y):
  print( x + y )
  return  # 用来结束函数(像break结束循环一样)

        一值返回

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

        多值返回

                      def demo(x, y):
       # 本质就是返回装有多个值的元组
   return x + y, x - y, x * y, x / y

5.函数的嵌套调用

           函数的嵌套调用:在一个函数体重调用另一个函数
   
  # 在解释过程中,不执行函数体,在函数被调用时,函数体才被执行
                   def fn1():
                       print('fn1 run')
                       fn2()

                   def fn2():
                       print('fn2 run')
                       fn3()

                   def fn3():
                       print('fn3 run')

# 注:在fn1中调用了fn2,所以调用fn1的逻辑应该在fn2定义之后
fn1()
   
   
  案例:取出最大数
                   # 求两个数最大值
                   def max_2(n1, n2):
                       if n1 > n2:
                           return n1
                       return n2

                   # 求三个
                   def max_3(n1, n2, n3):
                       m2 = max_2(n1, n2)
                       return max_2(m2, n3)

                   # 求四个
                   def max_4(n1, n2, n3, n4):
                       m2 = max_2(n1, n2)
                       return max_3(m2, n3, n4)

                   # 循环调用:在一个函数的内部调用另一个函数

 

posted @ 2019-03-28 14:57  西西灬弗斯  阅读(314)  评论(0编辑  收藏  举报