网站开发 浏览器,黄骅市有什么好玩的地方,重庆网站建设 熊掌号,网站建设神州互动文章目录 一.认识函数对象1.函数被引用2.函数作为元素3.函数可以作为参数和返回值 二,名称空间1.内建名称空间(存放内置函数)2.全局名称空间(Python定义在外层的名字)3.局部名称空间(存在函数内定义的名字) 三,作用域1.global 提权2.nonlocal 降权 四,匿名函数 Python基础学习(… 文章目录 一.认识函数对象1.函数被引用2.函数作为元素3.函数可以作为参数和返回值 二,名称空间1.内建名称空间(存放内置函数)2.全局名称空间(Python定义在外层的名字)3.局部名称空间(存在函数内定义的名字) 三,作用域1.global 提权2.nonlocal 降权 四,匿名函数 Python基础学习(1)基本知识 Python基础学习(2)序列类型方法与数据类型转换 Python基础学习(3)进阶字符串(格式化输出) Python基础学习(4)散列类型(无序序列) Python基础学习(5)流程控制 Python基础学习(6)函数基础与函数参数 Python基础学习(7)函数作用域与名称空间 Python基础学习(8)函数进阶-闭包/装饰器 Python基础学习(9)迭代器/生成器 一.认识函数对象
1.函数被引用
数据名函数名 # 把函数复制一份 给新的数据名 数据名函数名() # 把函数返回值赋值给新的数据名
def Try_1():print(hhh)
aTry_1
a()2.函数作为元素
函数可以作为元素放在列表,元组,字典,集合中使用
def Try_1():print(hhh)
aTry_1
list_1[1,5,6,Try_1]
print(list_1[3])
list_1[3]()function Try_1 at 0x000001B2C936F3A0 hhh
3.函数可以作为参数和返回值
def Try_1():print(hhh)
def Try_2(a):a()return a
Try_2(Try_1)()二,名称空间
名称空间 – 存储变量名 函数名 模块名
内存数据 – 变量值 函数代码 模块代码
一共有三层结构
1.内建名称空间(存放内置函数)
生命周期: 随着Python程序启动而生成,在程序关闭时收回 清除所有数据
加载顺序: 最先被加载出来的
存放对象: 内置函数 print input type len max min 2.全局名称空间(Python定义在外层的名字)
生命周期: 随着Python文件执行之前产生 运行完后销毁
加载顺序: 第二个被加载出来的
存放对象: 在Python外层写的代码 定义的变量名 函数名3.局部名称空间(存在函数内定义的名字)
生命周期: 随着函数调用而产生 在结束调用时销毁
加载顺序: 在调用时才会被加载
存放对象: 在函数里定义的变量名 函数名 形参参数三,作用域
作用域: 一个数据能够使用的范围
作用域分为: 全局作用域 局部作用域
全局作用域: 内建名称空间 全局名称空间 内置函数 外层定义的变量 函数名 公共WiFi 所有人都可以使用
局部作用域: 局部名称空间 函数内部的变量和函数名 独有wifi 只能我自己用
1.global 提权
提权: 让一个数据从局部变为全局 语法格式: def 函数名(): global 变量名 操作变量 函数名() print(变量)
def Try_1():global aa10
Try_1()# 局部名称空间的创建 需要调用函数才可以生成对应的名称空间
print(a)# 把局部数据变为全局了2.nonlocal 降权
降权: 将局部变量再深度局部化 nonlocal 关键字用于在嵌套函数中修改外围函数的局部变量
# 降权
def fun1():a 1 # 这个a 在函数里算是公共的(全局)def fun2():nonlocal a # 把变量a霸道的抢过来 私有化a 0fun2()print(a)fun1()不同作用域的相同名也是不一样的
四,匿名函数
平时使用的函数有名函数
匿名函数顾名思义无名函数
匿名函数作用:不想取名 并且函数只用一次的时候使用
语法格式: lambda 变量:操作
print((lambda a:print(a))(你好))#操作返回
print((lambda a,b:ab)(1,2))
talk(lambda a:print(a))//给匿名函数赋名
talk(woshi)