首页 > 其他分享 >函数的作用域

函数的作用域

时间:2024-09-04 18:03:04浏览次数:5  
标签:局部变量 函数 作用域 打印 嵌套 print 全局变量 def

# 局部变量不能修改全局变量,如需要修改是需要先进行声明
a = 1  # 全局变量


def f():
    global a   # 声明使用全局变量
    print("第1次打印:%s" % a)
    a = 2   # 修改全局变量
    print("第2次打印:%s" % a)

    def f_1():
        global a  # 因为上面已声明全局变量,所以a已变成全局变量,所以嵌套时需要再次声明使用的上面的全局变量
        a = 10  # 修改嵌套的全局变量
        print("第3次打印:%s" % a)

    f_1()
    print("第4次打印:%s" % a)


print("第5次打印:%s" % a)

f()


def b_f():
    b = 20   # 局部变量
    print("第1次打印:%s" % b)

    def b_f_1():
        nonlocal b  # 声明局部变量
        b = 30  # 嵌套局部变量
        print("第2次打印:%s" % b)

    b_f_1()
    print("第3次打印:%s" % b)


b_f()

 

标签:局部变量,函数,作用域,打印,嵌套,print,全局变量,def
From: https://www.cnblogs.com/GDquicksand/p/18397086

相关文章

  • python_August(函数对象、功能选择)
    目录python中一切皆对象功能选择函数的嵌套功能选择增加内容版python中一切皆对象#python中一切皆对象#print(self_max)#<functionself_maxat0x0000020E4456CF28>#print(id(self_max))#print(type(self_max))#print(type([1,2]))#print(type(1))#print(type(......
  • 一文搞懂回调函数
    回调函数概念回调函数(CallbackFunction)是一种通过函数指针调用的函数。回调函数的一个典型用途是允许代码的一个模块或组件通知另一个模块或组件,事件已经发生或者某种条件已经达成。回调函数通常作为参数传递给另一个函数,后者在合适的时候调用它。简而言之,回调函数就是......
  • MySQL(二)函数
    聚合函数1、AVG()函数返回数值列的平均值SELECTAVG(column_name)FROMtable_name2、COUNT()函数返回匹配指定条件的行数(1)返回指定列的值的数目(NULL不计入)SELECTCOUNT(column_name)FROMtable_name;(2)返回表中的记录数SELECTCOUNT(*)FROMtable_name;(3)返回指......
  • 【C++从练气到飞升】19---哈希:哈希冲突 | 哈希函数 | 闭散列 | 开散列
     ......
  • 数据分析之Excel常用的函数
    函数注意事项1.写函数前要加'='号:        2.函数可以跨工作表引用3.单元格下方小十字可以自动填充,仿照选中单元格函数,如果自动填充时想锁定某个条件,可以在前面加$符,如图,锁定了Q18这个条件(选中想要锁定的条件后可以直接按F4快捷键锁定,Mac是fn+F4)        ......
  • S-Clustr(影子集群) Simple SCC伪代码编译器,工业控制DSL结构语言,递归函数调用
    项目地址:https://github.com/MartinxMax/S-Clustr/releases200S-ClustrSimpleDSL语法内置函数示例RUN(启动设备)RUN:<ID>STOP(停止设备)STOP:<ID>TIME(MS延时)TIME:<Delay/Ms>函数示例DEF(定义函数名,空形参)DEFFunction:DEF(函数名,带形参)DEFFunction:var,......
  • 【ORACLE】listagg() 函数
    Oracle数据库中的LISTAGG函数是一个聚合函数,它用于将多个行的字符串值合并成一个单一的字符串。这对于生成报告或创建列表非常有用,例如,将同一类别的所有项合并成一个逗号分隔的字符串。语法LISTAGG(expression,delimiter)WITHINGROUP(ORDERBYcolumn)expressio......
  • 《C++编程规范》四、函数与操作符
    目录第25条正确地选择通过值、(智能)指针或者引用传递参数第25条正确地选择通过值、(智能)指针或者引用传递参数正确选择参数:分清输入参数、输出参数和输入/输出参数,分清值参数和引用参数。正确地传递参数。选择如何传递参数时,应该遵循以下准则。对于只输入(input-only)参数:始......
  • 深度学习基础实践:理解Sigmoid激活函数原理和实现
    Sigmoid激活函数是一种广泛应用于机器学习和深度学习中的非线性函数,特别是在二分类问题中。它的作用是将一个实数值映射到(0,1)区间,使得输出可以被解释为概率值,这在处理二分类问题时非常有用。Sigmoid函数的定义Sigmoid函数的数学表达式为:......
  • 动态内存分配之realloc()函数详解
    目录一、函数简介二、函数原型参数返回值三、函数实现(伪代码)3.1.简化的realloc实现逻辑3.2.伪代码示例四、使用场景4.1.动态数组大小调整4.2.动态字符串大小调整4.3.内存优化4.4.复杂数据结构的内存管理4.5.跨函数内存管理4.6.灵活的内存分配策略五、......