python---函数 第九天

函数     :     函数就是在我们需要重复使用某个功能的时候,为了方便

    我们把那个功能进行定义或者封装,在需要的时候随时拿过来执行,,,,

    我们封装的那个东西就是   函数

 语法:

    def   函数名(   形参   ):    #   定义函数,  定义过后函数体代码块不会执行     只有调用的时候才会执行,执行到代码块最后            

        函数体,代码块            一句时,函数执行完毕

        return   返回值         #  在函数执行过程中,只要执行到return   函数就会         彻底  停止

    函数名(  实参  )   #  调用函数,开始执行函数代码块

  return   返回值   #  在调用函数后,执行完函数后返回给调用方的   返回值

  返回值:  每个函数中,   如果没有写               无 return   =====>      默认返回 None 

                    只写了  return  ======>   默认返回None

    写了一个返回的值         return  返回值1  =====>    默认返回值1

    多个返回值1,  返回值2,返回值3   return  返值1,返值2,返值3=====>(  返回值1,返回值2,返回值3  )

    :  多个返回值,  结果会返回一个  元组形式的   包含返回值的元组   tuple

    元组形式       解构    :      a,  b,  c  =函数名() =====>   结果是     返回值1

                                返回值2

                                返回值3

  在函数中,可以多次调用,但是无论调用几次,  返回值是相同的    ret=fn()

                               ret1=fn()      因为调用的是同一个函数

  e.g  

   def shopping(fangshi):   #    fangshi    形参  :  如数学函数中的x   ,y  一样的性质
    print("打开%s," % fangshi,)
    print("搜索要的)
    print("挑选要买的东西")
    print("加入购物车")
    print("付钱,结算")
    print("购买完成")
    return "所有想买的东西","好吃的","好用的"

   ret=shopping("淘宝") ====>   ("所有想买的东西","好吃的","好用的")  #  返回值是元组的形式

   ret=shopping("京东") ====>   ( "所有想买的东西","好吃的","好用的")  #   返回值相同

   a,b,c=shopping("淘宝")    #   淘宝  : 实参    ,实际导入函数中的参数   ,就像数学函数中带入的x,y,的实际数
   a,b,c=shopping("京东")

参数:   在函数执行时,用来给函数传递信息的,     包括  形参,     实参    

  形参:   在函数声明定义时,声明出来的变量   def shopping(     形参:   fangshi     )

  实参:   在函数调用时,实际给出的函数的传递值     shopping(   实参:  "京东")

参数的个数,在函数中是没有要求的     但是:

                  形参有几个   :  实参也要给几个  若少给一个=====>报错

参数的分类

  站在   "实参的角度  "    :   1.  位置参数    ,按照参数的顺序,给出相应的值

              2.  关键字参数:    根据关键字(   形参  )  =  赋值  ,  可以是无序的

             3.  混合参数:   既有位置参数,又可以有关键字参数      但是必须前边是有顺序的位置参数  ,后边

                再是关键字参数 ,,,,,,,否则后边位置参数的之不确定是给哪个,

                因此     先位置后关键字参数    关键字可以无序      

    e.g    def     fn(  a,b,c  )

          print(a)

          print(b)

          print(c)

      fn(1,2,3)=====>  a=1,b=2,c=3     #  位置参数   ,按照形参的位置,给出相应的值  ,顺序一定

      fn(  b=3,a=1,c=2  ) =====>  a=1,b=3,c=2   #   关键字参数   ,根据形参 ,给其赋值,   顺序可以改变

            fn(  1,c=3,b=2  )  ====>  a=1,b=2,c=3   #  混合   , 前边是位置  第一个a是1, 后边是关键字,   ,b=2,c=3

  站在"  形参的角度  "  :   1.  位置参数  :位置顺序的参数

              2.  默认值参数:  在形参中给出来的值,一定的值,就是默认值,,      当实参中给了形参中默认值对应

                    的参数,结果会按照实参来显示,    因为是实际的参数

            3.  混合使用:   先写位置参数,再写默认值参数

  e.g 

  def fn(name,age,address,hobby,sex,id):  #   位置参数

  print("%s是一个年龄为%s的,住址位%s的,爱好为%s的,性别为%s的,序号为%s的人" % (name,age,address,hobby,sex,id      

  fn("太白","28","保定","音乐","男","1")    #  位置参数

  fn(id="1",name="太白",age=28,address="保定",hobby="音乐",sex="男")   #  关键字参数

  fn("太白","28",id="1",address="保定",hobby="音乐",sex="男")   #   混合参数

  def fn(name,age,address,hobby="游戏",id=1,sex="女")  #  默认值  混合  

  fn( "小小",15,123   ) ====>   小小是个15岁的地址是123的爱好游戏的性别为女的序号为1的人

实际函数应用

  1+2+3 +...+n=?

def sum( n )  

  s=0

  count=1

  while coune<=n:

    s=s+count

    count=count+1

  return s

sum(n)  

print(sum(n))

  判断n是奇数还是偶数

  def fn(n)              def fn(n)

    if   n%2==0:              if   n%2==o:

      return "偶数"              return "偶数"

    else:          ===>      return  "奇数"

      return "奇数 "

  fn(n)                fn(n)

     

  

          

  

猜你喜欢

转载自www.cnblogs.com/lynysy/p/9299627.html