python函数命名空间_Python中的函数 ​命名空间 作用域和局部函数 匿名(lambda)函数...

函数 是 Python中最重要的代码组织和复用手段

20180313213940_a9be7c7ee158c7fff82782a10312dc1a_1.jpeg

函数用def关键字声明,return关键字返回:

def function(x, y, z=1.5):

if z > 1:

return z * (x + y)

else:

return z / (x + y)

##可以拥有多条return语句,如果到达函数末尾时没有遇到任何一条return语句,则返回None

##函数可以有一些位置参数(positional)和一些关键字参数(keyword)。

##关键字参数通过用于指定默认值或可选参数

##def function(x, y, z=1.5)中,x和y是位置参数,而z则是关键字参数。

##函数参数的限制主要在于:关键字参数必须位于位置参数之后

##这种函数可以用两种方式调用

function(5, 6, z=0.7) or function(5, 6 , 0.7)命名空间、作用域和局部函数

##函数可以访问两种不同作用域中的变量:全局和局部

##命名空间:用于描述变量作用域的名称

##局部命名空间:任何在函数中赋值的变量默认都是被分配到局部命名空间

##局部命名空间是在被函数调用时创建的,函数参数会立即填入该命名空间。

##在函数执行完毕之后,局部命令空间就会被销毁

def func():

a = []

for i in range(5):

a.append(i)

##调用func()之后,首先会创建出空列表a,然后添加5个元素,最后a会在该函数退出的时候被销毁

a = []

def func():

for i in range(5):

a.append(i)

##虽然可以在函数中对全局变量进行赋值操作,但是那些变量必须用global关键字声明成全局的才行

a = None

def bind_a_var():

global a

a = []

bind_a_var()

##可以在任何位置进行函数声明,即使是局部函数(在外层函数被调用之后才会被动态创建出来)也是可以的:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值