Python核心编程学习笔记(九)

函数

函数的定义:

       def 函数名(形参列表)

       语句块

作用:

       创建一个函数,把函数内的语句块打包为一个函数,用函数名绑定

函数的调用:

       函数名(实参列表)

函数说明

       函数内的变量是局部变量,在函数外部无法访问

       函数内部可以访问函数外部的变量,但不能修改函数外部变量的绑定关系

       如:

              x=0

              def myadd(a,b):

                     x=a+b

                     print(x)

              myadd(100,200)

              print(x)  # x=0

return语句

       语法:

              return [表达式]

              注:[]可以省略

       作用:用于函数中,结束当前函数的执行,返回到调用该函数的地方,

               同时返回表达式的引用关系

       说明:return语句后的表达式可省略,省略后相当于return None,如果函数内没有return语句,

              则函数执行完最后一条语句后返回None,相当于在最后加了一条return None语句

例:写一个函数mymax(),实现返回两个个数的最大值

def mymax(a,b):

    if a>b:

              return a

       else:

              return b

print(mymax(100,200))     # 200

print(mymax("ABC","ACB"))     # ACB

函数的参数传递

       传递方式:

        1.位置传参

                     序列传参

        2.关键字传参

                     字典关键字传参

位置传参:

       实际传递参数(实参)与形式参数(形参)的对应关系按位置来依次对应

       序列传参:

              函数在调用过程中用”*”将序列拆解后,按位置进行传递的方式

关键字传参

       按照形参的名称给形参赋值,实参和形参按名称进行匹配

       字典关键字传参:

              实参为字典,将字典用”**”拆解后,再用关键字传参

              说明:字典的键名和形参名必须一致

               字典的键名必须为字符串(必须为标识符规则)

               字典的键名要在形参中存在

函数的综合传参

       函数的传参方式在能确定形参能唯一匹配到实参的情况下可以任意组合

       要求:

              位置传参在前,关键字传参在后

  示例:def myfun(a,b,c):

     myfun(1,b=1,c=2)    # True

         myfun(b=1,a=2,3)    #False  关键字传参要放到位置传参后面

         myfun(100,*[200,300]) #True

         myfun(*’AB’,**{‘c’:1})  # True

 

函数的缺省参数

       语法:

              def 函数名(形参名1=默认实参1,形参名2=默认实参2,….)

       说明:

              1.缺省参数必须自右至左依次定义,如果一个参数有缺省参数,则其右侧的所有参数

              都必须有缺省参数

                     def f(a=1, b, c=3):   # 错误

              2.缺省参数可以有0个或多个,甚至全部都是缺省参数

函数形参的定义方式:

       位置形参

       星号元组形参

       命名关键字形参

       双星号字典形参

位置形参:

       语法:

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

                     语句块

星号元组形参

       语法:

              def 函数名(*元组形参名):

                     语句块

  作用:收集多余的位置传参

命名关键字形参

       语法:

              def 函数名(*,命名关键字形参)

                     语句块

              或

    def 函数名(*args,命名关键字形参)

                     语句块

       作用:强制所有的传参都必须用关键字传参

    如:print(*args,sep=’,’end=’\n’)中的后两个参数

      sorted(reverse=True)  

       示例:

       def fa(a,b,*,c,d):

           print(a,b,c,d)

       fa(1,2,3,4)        #错误

       fa(100,200,c=300,d=400) #正确

双星号字典形参

      语法:

              def 函数名(**字典形参名):

                     语句块

       作用:收集多余的关键字传参

函数的参数说明:

       位置形参,星号元组形参,命名关键字形参,双星号字典形参,缺省参数可以混合使用

函数参数自左至右的顺序依次为:

       位置形参  星号元组形参  命名关键字形参 双星号字典形参

示例:

       def fn(a, b, *args, c, d, **kwards):

              pass

       fn(1,2,3,4, c=100, d=200, e=300, f=400)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值