努力战胜自己,比赢了任何人都可贵,每个人的成长,都需要时间沉淀。不要因为短时间看不到回报,就拒绝付出。最艰难的成功,不是超越别人,而是战胜自己。

函数的作用域非常重要,函数玩的就是作用域!
本章总结:
- return顾名思义, 就是用来返回值给调用者,函数立即结束调用,不会执行其他任何语句;函数返回值只有一个;
- 如果有必要,没有return( 函数内部隐式 return,返回None ),可以显示调用 return None ,可以简写为 return
- 函数封装成元组:里面的内容不可以改变,地址不变; 封装成列表:里面的内容可以修改;
1. 函数的返回值
默认返回成元组
1.1函数返回值 return的特点:
1.Python函数都有返回值,如果没有,隐式调用 return None;
2.Return 不一定是函数语句块的最后一条语句,可以有多个return;
3.多个语句中,只有一条return被执行;如果没有return,隐式调用return None;
4 return 执行就结束函数;导致return下方所有代码(函数体内部)不执行
遇到return 函数就结束了,后面的就不会执行了
def show(x):
print(x)
return x+1
print('-------')
return 5
show(3)
-----------------------------
3
4
多个return ,在分支结构中可能执行
函数中没有return,隐含会增加return None;
def show(x):
print(x)
if x < 3:
return x+1
print('-------')
#return 5
show(9)
-----------------------------------------
9
-------
函数里面默认返回 None;
def fn(x):
for i in range(x):
if i > 3:
return i # 函数立即结束,不会执行其他任何语句;
else:
print("{} is not greater than 3".format(x))
#return None
fn(5),fn(2)
--------------------
4,2 is not greater than 3
1.2返回值为None的三种情况
1.当不写return的时候
2.当只写一个return的时候
3.return None的时候
1.3 函数的返回值
1.不能返回多个值;
2.return[1,3,5] 是指明返回一个列表,是一个列表对象;
3.return 1,3,5 看似返回多个值,实际被Python封装成了一个 元组;
2.函数嵌套调用
一个函数里面又调用了另外一个函数,主要是为了化简代码使用;
函数的作用域:函数的可见范围;内外层的函数作用域不同,非常重要;
# 两个函数 testA 和 testB --在A里面嵌套调用B
# B函数
def testB():
print('B函数开始......')
print('B函数结束......')
# A函数
def testA():
print('A函数开始......')
testB()
print('A函数结束......')
testA()
3.函数的封装
封装是面向对象编程(object-oriented programming)中的重要概念。今天我们只粗浅地介绍一点和函数有关的封装行为。
封装,顾名思义,就像把一些代码封起来装进胶囊(capsule 在英文中可表示“胶囊”)或瓶子里去,在胶囊外的代码不能访问胶囊内代码;
函数内部的局部变量,就是函数封装行为的体现
网友评论