120-python函数

函数的学习目标

1
函数的作用及其使用步骤
函数的说明文档(学会阅读)
函数的嵌套
函数的应用案例(了解参数和返回值)
2
变量的作用域
3
函数参数进阶
4
引用变量及可变类型、非可变类型

函数的作用和使用步骤

把一种功能的实现用函数封装起来,以便于重复调用,对于大型项目,函数就是一个个小积木

函数定义和调用:

def 函数名(形参):
    函数体
    ...
    return 返回值
函数名(实参)

强调:函数在定义时,只是向内存中保存了一个函数的名称其内部的代码并没有真正的执行

def greet(name):
	return '您好,' +name  #返回值
print(greet('fuck'))

注意!:
如果调用不加括号,返回的是函数的内存地址

关于返回值:

函数进阶,后面学的笔记

321-闭包(装饰器的原理)

函数再内存中存在栈内存中,函数名称等于一段内存地址,地址等于代码区的地址,代码区的变量又是指向数据区的地址

func = 0x2001 # 栈中实际存的函数

所以print(outer)调用函数不加括号返回的是0x2001这个内存地址,返回outer指向的内存地址,但是其内部的代码并没有执行

函数再内存中的存储形式

所以print(outer())的真正含义:找到outer函数在内存中的地址并立即执行其内部的代码