当前位置: 首页 > article >正文

python基础18_作用域与名称空间

先讲讲函数对象的概念

"""
什么是函数对象,就是把函数看成是一个对象,或者是一个变量
"""
print(0)  #这是不是调用的print这个函数
a = print  #是不是把函数赋值给a,也就是a就等于这个函数
a(1)
b = print(1) # 就是会调用print(1)这个函数,并且把返回值赋值给函数本身
print(b)
aa = [type, 1,2,3]
print(aa[0]("hello"))  #也可以把函数放在容器里面使用

def func(a):
    """
    也可以把函数当做参数去传
    :param a:
    :return:
    """
    b = a("请输入你的名字")
    print(b)
func(input)

def func2():
    """
    函数也可以是返回值
    :return:
    """
    return input
func2()("请输入你的年龄")

名称空间

#名称空间
# 堆栈
# 堆就是名称空间 就是存储变量名的地方
# 三种名称空间
# 内建名称空间:存储内置变量名 内置函数名
#全局名称空间:存储的自定义的在外部的变量名,函数名
#局部名称空间:在函数内部定义的形参,函数名,变量名
# 一个程序里的数据都是会存储在对应的位置
# 名称空间 --> 用来存储名字的地方!!!

作用域

# 作用域就是数据的使用范围
# 也就是内建名称空间和全局名称空间存储的数据,全局都可以使用
# 局部作用域: 只有局部位置才能使用(函数内)
name = "李白"
print(name)
def fun():
    print(name)
fun()
def fun():
    name = "杜甫"
    print(name)
fun()
print(name)

 global 和 nonlocal

name = 12
def func():
    global name
    name = 13
func()
print(name)
def func():
    global name #把变量定义成全局变量,修改的是全局变量
    name = 14
    age =15
    sex = "男"
    def func_0():
        global name
        global age
        nonlocal sex#把变量定义成外层的局部变量,修改的是外层的局部变量
        age = 16
        name = 15
        sex = "女"
    func_0()
    print(age)
    print(sex)
func()

匿名函数 | lambad函数

def func(a,b):
    print(a+b)
func(12,22)
dunc_0 = lambda a,b: print(a+b)
dunc_0(22,44)


http://www.kler.cn/a/274804.html

相关文章:

  • 基于 Python 解决 X 轴上点距离最小值问题
  • 音频接口:PDM TDM128 TDM256
  • 坑人 C# MySql.Data SDK
  • Vulhub:Redis[漏洞复现]
  • web3跨链桥协议-Nomad
  • MySQL 的事务与锁机制详解
  • windows 多网卡情况dns解析超时问题的排查
  • 2024.3.9|第十五届蓝桥杯模拟赛(第三期)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(访问说明符)
  • mysql之基本概念与安装
  • Springboot+vue的仓库管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。
  • android、Jetpack Compose使用 Room数据库kapt注解时出现的相关问题整理。
  • 用C语言打造自己的Unix风格ls命令
  • 五、C#归并排序算法
  • MaixSense-A010 接入 ROS
  • 信息学奥赛之C++中的数据类型数据结构
  • 简介:iframe 沙箱+WebComponent 容器
  • 网络安全的几个关键领域
  • 深入理解栈和队列(一):栈
  • 鸿蒙原生应用开发-ArkTS语言基础类库多线程CPU密集型任务TaskPool
  • 多线程:线程池
  • C语言经典面试题目(十六)
  • 选数异或 (AcWing 4645)
  • 设计模式学习笔记 - 规范与重构 - 8.实践:程序出错返回啥?NULL、异常、错误吗、空对象?重构ID生成器,处理各函数的异常
  • 国内外15款AI搜索引擎汇总
  • 选择排序算法(Selection Sort)原理及实现