美文网首页
两个不同函数内部的变量名可以一样

两个不同函数内部的变量名可以一样

作者: 愿你有闯荡风雪的骁勇 | 来源:发表于2018-10-25 18:57 被阅读0次

def local1():

    num1=100

    print("local1中的num1的值位:%d"%num1)

def local2():

    num=102

    print("local2中num2的值位:%d"%num)

local1()

local2()

#总之,就是两个不同函数内部的变量名可以一样。

---------------------------------------------------------------------------------------------------------------

函数之内有这个变量result=100的,函数以外的相同的变量就不用了

def sum(a,b):

result=a+b

print("函数内的result的值为:",result)

sum(100,20)

-----------------------------------------------------------------------------------------------

这种确实是不行啊,函数之内确实不能用函数之外的变量

UnboundLocalError: local variable 'a' referenced before assignment

unbound英['ʌn'baʊnd]美[ʌnˈbaʊnd]

adj.无束缚的; <正>不负有义务的;

v.解开,解放( unbind的过去式和过去分词 );

Many cultures still have fairly strict rules about women displaying unbound hair.

许多文化中对女子披散头发仍有着相当严格的规定。

a=1000

def test():

a+=1

    print(a)

test()

-----------------------------------------------------------------------------------------

global关键字来了。scale英[skeɪl]美[skel]

n.规模; 比例(尺); 鱼鳞; 级别;

vt.测量; 攀登; 刮去…的鳞片;

vi.衡量; 攀登; (鳞屑) 脱落; 生水垢;

[例句]However, he underestimates the scale of the problem

然而,他低估了问题的严重性。

On a global scale, AIDS may well become the leading cause of infant death.

艾滋病很可能会成为造成全球婴儿死亡的首要原因。

a=1000#就是a完全可以当参数传进来啊 !!!!不一定非要global

def test(a):

a+=1

    print(a)

test(a)

---------

a=1000

def test():

    global a

    a+=1

    print(a)

test()

——————-----------------------------------------------------------

使用nonlocal关键字可以在一个嵌套的函数中修改嵌套作用域中的变量

def test():

    x=1

    def test2():

        x=2

    test2()

    print(x)

test()

#输出1

#这样是正常啊,虽然在第二个函数中也定义了x=2,并且进行了调用。但是是并列啊,就是和前面那个x=1是并列,不报错已经不错了,肯定是按第一个x=1

-------------------------------------------------------------------------------------

def test():

x=1

    def test2():

nonlocal x

x=2

    test2()

print(x)

test()

#输出2

就是不再是本地的变量了,nonlocal 了嘛

相关文章

  • 两个不同函数内部的变量名可以一样

    def local1(): num1=100 print("local1中的num1的值位:%d"%num...

  • 变量

    变量起作用的范围称为变量的作用域,一个变量在函数外部定义和在函数内部定义,其作用域是不同的。不同作用域内变量名可以...

  • JavaScript细节记录

    变量声明规则: 1.在函数外声明变量,变量名前不能不加var 2.在函数内部声明变量可以不加var 3.函数内部声...

  • 超级全局变量

    分类 $GLOBALS 数组,保存全局变量,全局变量名做它的索引,可以使全局变量在函数内部使用 $_POST $_...

  • 4.闭包

    一、函数也是对象,和变量一样 可以作为参数被传递可以在函数内部定义可以作为函数返回值函数可以赋值给变量 二、内部函...

  • 如何写一个闭包?

    首先,一个闭包就是这样的, 第一,肯定要有两个函数,一个外部函数,一个内部函数,内部函数可以访问内部函数。 第一,...

  • Swift第三周总结

    swift第三周总结 字典 函数 函数有外部变量名和内部变量名 数组中字符串长度排序(闭包) 数组中三个重要的方法...

  • python--05 模块

    1 简介 使用模块可以提高代码的可维护性,避免函数名和变量名冲突。相同的名字的函数和变量可以放在不同模块中。为了避...

  • 面试官:全局变量和局部变量变量名能否一样?

    问:全局变量和局部变量变量名能否一样? 答:全局变量和局部变量变量名可以一样 在函数内可以访问全局变量(foo0)...

  • 【OC梳理】函数、方法、数组、字符串、指针

    函数 OC支持C语言中的函数,用法同C语言。定义举例: 直接调用即可: 函数内部不能直接通过成员变量名访问某个对象...

网友评论

      本文标题:两个不同函数内部的变量名可以一样

      本文链接:https://www.haomeiwen.com/subject/tuictqtx.html