首页 > 编程源码 > 函数的return和作用域

函数的return和作用域

楼主:冒得感情 [2级] · 2019-11-19 ·  浏览1128 · 编程源码 · ID:

高阶函数:

高阶函数时至少满足下列条件的函数:

接受一个或多个函数作为输出

输出一个函数

在这里插入代码片def add(x,y,f):

return f(x) + f(y)

res = add(3,-6,abs)

print(res)

###################
def foo():
x=3
def bar():
return x
return bar
在这里插入代码片def f(n):
return n*n
def foo(a,b,func):
func(a)+func(b)
ret=func(a)+func(b)
return ret
foo(1,2,f,)
print(foo(1,2,f))
def f():
print('ok')
fpp=f
def bar(a,b,func):
func()
return 1
bar(1,2,f)
def foo2():
x=5
return x
print(foo2())
def foo3():
def inner():
return 8
return inner
ret=foo3()
print(ret)
print(ret())
1 函数名可以进行赋值
2 函数名可以作为函数参数,还可以作为函数的返回值。
函数的返回值:
要想获取函数的执行结果,就可以用return语句把结果返回
注意:
1.函数在执行过程中只要遇到return语句就会停止执行并返回结果,so
也可以理解为return语句代表着函数的结束
2.如果未在函数中指定return,那这个函数的返回值为none
3.return多个对象,解释器会把这多个对象组装成一个元组作为一个一个整体结束输出。
在这里插入代码片def f():
print('ok')
return 10
返回什么内容,给谁呢?
a=f()
print(a)
print(f())
def add(*arge):
print(args):
Sum=0
for i in args # args=(1,2,3,4,5)

Sum+=1

print(Sum)

return Sum

a=add(1,4)

print(a)

def foo():

return 1,'123',[1,2,3]

print(foo())# (1,'123',8)

# 注意点:1.函数里如果没有return,会默认返回一个None
# 2.如果return多个对象,那么python会帮我们把多个对象封装成一个元组返回
作用域
作用域的介绍:
python中的作用域分4种情况:
L: local,局域作用域,即函数中定义的变量;
E:enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的;
G:globa,全局变量,就是模块级别定义的变量;
B:built-in,系统固定模块里的变量,比如int,bytearray等。搜索变量
的优先级顺序依次是:作用域局部>外层作用域>当前模块中的全局>python
内置作用域,也就是LEGB。
在这里插入代码片x = int(2.9) # int built-in

g_count = 0 # globaldef outer(): o_count = 1 # enclosing

def inner():

i_count = 2 # local print(o_count) # print(i_count) 找不到

inner()

outer()

#print(o_count) #找不到

- 版权声明 - 1、本帖所有言论和图片等纯属网友个人意见,与流星社区立场无关;
2、其他单位或个人使用、转载或引用本帖时必须同时征得该帖子作者冒得感情流星社区的同意;
3、备注原文地址:https://bbs.liuxingw.com/t/17919.html,可忽略第2条;
4、帖子作者需承担一切因本文发表而直接或间接导致的相关责任;
5、如本帖内容或部分内容转载自其它媒体,这并不代表本站赞同其观点和对其真实性负责;
6、如本帖若为资源类,将仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您安装或使用的设备中彻底删除上述内容;
7、如果您喜欢该程序,请支持正版软件,购买注册,可以得到更好的正版服务;
8、如本帖侵犯到任何版权或违法问题,请立即邮件告知我们,我们将及时予以处理。
12条回复 |  最后回复于2019-11-19

冒得感情 [2级]

[大拇指]
发布于2019-11-19

回复列表

  • 内容加载中...

说点什么...

[]

顶楼,,,,
发布于2019-11-19

回复列表

  • 内容加载中...

说点什么...
登录注册 后才可进行评论
签到
47人签到
已签0天
  • 46639帖子
  • 1936951热点量
  • 185050火热值