四:函数返回值
return [表达式] 语句用于退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。之前的例子都没有示范如何返回数值,
ini
复制代码
def sumToNumberReturn(a,b = 10): sum = 2 * a + 2 * b return sum a = 10 b = 20 # 将返回值 赋值给sum sum = sumToNumberReturn(a,b) print("2 * %d + 2 * %d = %d" % (a,b,sum))
输出:
2 * 10 + 2 * 20 = 60
五:函数嵌套
1:正常使用
python
复制代码
# 函数嵌套函数 def one(name): def one_in_one(name): strs = "我是外层函数传递的参数:"+name return strs return one_in_one(name) # 调用函数 res = one('python'); print(res)
输出:
我是外层函数传递的参数:python
2:return返回内层嵌套函数不加括号时,输出,内层嵌套函数的内存地址
ini
复制代码
# 函数嵌套函数 def one(name): def one_in_one(): strs = "我是外层函数传递的参数:"+name return strs return one_in_one # 调用函数 res = one('python'); print(res)
输出:
<function one..one_in_one at 0x000001263ECEE310>
3:一般写法
上边只是讲解函数嵌套的原理,但是一般都不会这么写。一般都是下边这样写的。
python
复制代码
# 上边只是讲解函数嵌套的原理,但是一般都不会这么写。 def one(name): # 在函数体中调用其他函数 return one_in_one(name) def one_in_one(name): strs = "我是外层函数传递的参数:"+name return strs # 调用函数 res = one('python'); print(res)
六:匿名函数
python 使用 lambda 来创建匿名函数。
所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。
1. lambda 只是一个表达式,函数体比 def 简单很多。
2. lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
3. lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。
4. 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
1:语法
lambda [arg1 [,arg2,.....argn]]:expression
2:示例
ini
复制代码
# 匿名函数实例 aa = 10 bb = 20 sum = lambda aa , bb : aa * bb result = sum(10,20) print("%d * %d = %d" % (aa,bb,result))
输出:
10 * 20 = 200
七:函数的注释
Python的函数注释和其他语言的不同。
他的注释是写在函数体里边的。
python
复制代码
def sumToNumberReturn(a,b = 10): """ 计算两个数的平方和 :param a:第一个数 int :param b:第二个数 int :return:返回和 int """ sum = a * a + b * b return sum a = 10 b = 20 # 将返回值 赋值给sum sum = sumToNumberReturn(a,b) print("%d * %d + %d * %d = %d" % (a,a,b,b,sum))
我们在调用的时候查看注释其实也还挺方便的,光标放在调用的函数上,按下CTRL + Q
即可出现该函数的注释:
函数的内容稍稍有点多。
有好的建议,请在下方输入你的评论。