Python入门学习13

函数的参数  

位置参数

>>> def myfunc(s,vt,o):   ------------------位置固定的参数
    return"".join((o,vt,s))

>>> myfunc("我","打了","小甲鱼")
'小甲鱼打了我'
>>> myfunc("小甲鱼","打了","我")
'我打了小甲鱼'

>>> myfunc(o="我",vt="打了",s="小甲鱼")  ------关键字参数
'我打了小甲鱼'

>>> def myfunc(s,vt,o="小甲鱼"):       ----------默认参数  (要放在后面)
    return"".join((o,vt,s))

>>> myfunc("香蕉","吃")
'小甲鱼吃香蕉'
>>> def myfunc(s,vt="吃了",o="小甲鱼"):
    return"".join((o,vt,s))

>>> myfunc("苹果")
'小甲鱼吃了苹果'

>>> args=(1,2,3,4)
          
>>> def myfunc(a,b,c,d):
          print(a,b,c,d)

          
>>> myfunc(*args)   -----------解包参数  两个星号解包关键字参数
          
1 2 3 4   

作用域  指一个变量被访问的范围

局部作用域 

>>> def myfunc():
    x= 520
    print(x)

          
>>> myfunc()   
 x是在函数myfunc中定义的 所以它的作用域仅限于该函数
          
520

全局作用域   如果是在任何函数的外部去定义一个变量 那么它的作用域就是全局的

>>> x=880
>>> def myfunc():
               print(x)

>>> myfunc()
880

global 语句 可以修改局部变量

>>> def funA():
    x=520
    def funB():
          x=880
          print("in funB ,x=",x)
    funB()
    print("in funA,x=",x)

>>> funA()
          
in funB ,x= 880
in funA,x= 520 
-------- 嵌套函数 

>>> def funA():
    x=520
    def funB():
  
       nonlocal x     -------     在内部修改外部函数作用域的值
          x=880
          print("in funB ,x=",x)
    funB()
    print("in funA,x=",x)

          
>>> funA()
          
in funB ,x= 880
in funA,x= 880

LEGB 规则

闭包

>>> def power(exp):
    def exp_of(base):
          return base ** exp
    return exp_of

          
>>> square= power(2)
          
>>> cube= power(3)
          
>>> square(2)
          
4
>>> square(5)
          
25
>>> cube(2)
          
8
>>> cube(3)
          
27

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值