函数返回值1

函数返回值
1.return执行之后函数结束,在不执行任何语句
2.没有return ,即返回 return None
3.返回值类型最好保持一致,返回多个值,多个值存在一个元组中,也就是返回一个值(元组)
4. 如果必要,自己添加return ,相当于 return None
5.返回值的作用: 结束函数,返回‘返回值’

函数作用域:一个变量的可见域
分类:
全局作用域:在整个程序运行环境中都可见,全局作用域的变量成为全局变量

局部作用域: 在函数、类等内部可见,局部作用域中的变量称为局部变量,其使用范围不呢个超过其所在局部作用域

变量 ==标识符(也包括函数名)
x = 100
def fn():
y = x + 1
print(y)
print(x)
fn()
print(x)

##########

x = 100
def fn():
x += 1
print(x)
print(x)
fn()
print(x)

global x 将局部变量声明为全局变量
考虑 是否将局部变量声明为全局变量

如果想使用全局变量,使用函数传参传入

闭包 **
自由变量: 未在本地作用域中定义的变量。 例如定义在内层函数外的外层函数的作用域中的变量

闭包:就是一个概念,出现在嵌套函数中,指的是内层安徽念书引用到了外层函数的自由变量,就形成了闭包。

def counter():
c = [0]
def inc():
c[0] += 1
return c[0]
return inc
m = counter()
m()
m()
m()

nonlocal ------非当前函数的的局部变量,但可以是外层某一层函数的局部变量,也绝不是global

def counter():
c = 0
def inc():
nonlocal c
c += 1
return c
return inc
m = counter()
m()
m()
m()

默认值的作用域
def bar(x =[]):
x.append(1)
print(x)
bar()
bar()
bar() 这里要注意x=[] x 是一个引用变量 指向一个列表的地址
bar.default 函数的缺省值
python 把函数默认值放在了函数对象的属性中,这个属性就伴随着这个函数对象的整个生命周期.
查看foo.default属性,他是个元组

属性defoult中使用元组保存所有位置参数默认值,它不会因为在函数体内改变了局部变量(形参)的值而发生改变

1.无返回值函数

2.有返回值函数

全部评论

相关推荐

12-13 14:51
已编辑
井冈山大学 算法工程师
龙虾x:算法比你强的没有你美,比你美的…..算了已经没有比你美的了
工作两年想退休了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务