第八天:函数

---恢复内容开始---

一.函数的介绍:

    1.为什么要用函数,什么是函数?

    ①组织结构不清晰,可读性差。

    ②代码冗余

    ③管理维护难度大,扩展性差。

    具备某一功能的工具就是程序中的函数。

    事先准备工具的过程就是函数的定义

    拿来就用就是函数的调用

举个栗子:修理工要下下水道修理,事先需要准备一个工具箱,工具箱就是函数的一个定义过程,之后下到下水道需要拿相应的工具就是函数的调用。

重点:所以函数的使用必须遵守规则:先定义,后调用。

二.函数的基本语法

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

      '''

     文件的解释

     '''

     代码一

     代码二

     代码三

     return值

   def:定义函数的关键字

   函数名:用来调用函数的

   代码块:实现函数的功能

   return:返回函数的值

举几个例子:

1.1定义的阶段:

def print_sym(sym*count)

     print_sym(sym*count)

     print_sym(sym*count)

     print_sym(sym*count)

     print_sym(sym*count)

     print_sym(sym*count)

     print_sym(sym*count)

     print_sym(sym*count)

1.2调用函数:函数名加上括号就是在调用函数

    print_sym('#',8)

2.定义函数的三种类型:

2.1有参函数:参数的函数体代码用来接收外部的值

def max2(x,y)#x=10,y=4

     if  x>y:

        print(x)

     else:

        print(y)

2.2无参函数:函数体的代码逻辑不需要调用者的掺入的情况下,就无参

def func():

     print('------------------------')

     print('-------soft fun-------')

     print('------------------------')

 func()

2.3空函数体:函数体为pass

def put()

    '''

    上传功能

   :return:

    '''

    pass

def get()

    '''

 下载功能

   :return:

   '''

   pass

3.调用函数:

函数遵守的规则:先定义后使用

注意:没有事先调用的函数就相当于直接调用一个不存在变量名

①定义阶段:只检测语法,不执行函数体代码

②调用阶段:根据函数名找到函数的内存地址,然后执行函数体代码

③函数名加个括号就是定义函数

举两个例子:

①def foo():

     print(from  foo )

     bar()

    foo()#报错,函数名bar()没有被定义,第二步执行的时候就会报错

②def bar()

       print(from bar)

    def foo()

       print(from foo)

        bar()

foo()

③def  foo()

         print(from foo)

         bar()

     def bar()

         print(from bar)

foo()

②③本质上都是事先定义了函数名,最终函数体执行。定义不分先后

3.1调用函数的三种形式:

①def func():#直接调用,无返回值

      print('from func')

   func()

②def  max2(x,y):#有参数调用,有返回值

        if  x>y:

        return x

        else:

       retrun y

   res= max2(10,3)

   print(res)

③ def max2(x.y)

       if  x>y:

      return x

        else:

       return y

res=max2(max2(10,3),11)#可以嵌套比较返回值

4.函数的返回值:

什么时候有返回值?

函数体代码运行结束后需要一个返回结果给调用者

返回值有三种形式:

①没有return,返回值为None

def func():

    pass

res=func()

print(res)

②retrun后跟一个值,返回值本身

def func1()

   return 1

res=func1()

print(res)

③return可以用逗号分开,返回多个值,会返回一个元组给调用者

def func2()

     return 1,2,[1,2,3]

res=func2()

print(res)

注意点:1.return返回值没有类型的限制

               2.return是函数结束的标志,函数内可以写多个return,但执行一次函数就立即结束,并把return后的值作为函数的返回值

               例如:def func3():

                             print(first)

                             return 1

                            print(second)

                             return  2

                            print(third)

                            return  3

                      res=func3()

                     print(res)

                    

 

 

 

 

 

 

 

 

 

 

 

---恢复内容结束---

posted @ 2018-03-26 17:20  O-M-G  阅读(123)  评论(0编辑  收藏  举报