python中参数变量的范围是什么?

尼丁

考虑以下情况:

情况1:

def fun(arg):
    
    arg += 1
    
my_var = 1
fun(my_var)
print(my_var)
>> 1

情况2:

def fun(arg):
    
    arg += [4]
    
my_var = [1,2,3]
fun(my_var)
print(my_var)
>> [1, 2, 3, 4]

情况3:

def fun(arg):
    
    arg = arg + [4]
    
my_var = [1,2,3]
fun(my_var)
print(my_var)
>> [1, 2, 3]

情况4:

def fun(arg):
    
    print(arg)

fun("Hi")
print(arg)
>> Hi
Traceback (most recent call last):
  File "<string>", line 8, in <module>
NameError: name 'arg' is not defined

情况4证明参数变量的范围位于函数内。情况1和3支持由于函数内arg变量的更改不会在全局参数中反映出来。

但是为什么案例2完全发生呢?当我使用append而不是+ =时,我注意到了同一件事。arg发生的更改不应该对从其他作用域调用该函数的变量没有任何影响吗?

任何帮助表示赞赏。提前致谢。

夸兰纳

情况2是唯一在实例上使用变异方法的情况。这会影响传递的参数。

其他人什么也不做,或者只是重新分配论点。python中的赋值仅影响要分配的变量,而不会影响仍引用先前实例的其他变量。

强制链接到Ned Batchelder

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python和鼻子:“测试类”中的变量范围是什么?

来自分类Dev

Lua变量的范围是什么?

来自分类Dev

Lua变量的范围是什么?

来自分类Dev

Rails控制器中实例变量的范围是什么?

来自分类Dev

Angular中模板引用变量的范围是什么?

来自分类Dev

Kotlin中的强制转换变量的范围是什么?

来自分类Dev

Unix shell变量中“导出”的范围是什么?

来自分类Dev

javascript 中语句头的局部变量的范围是什么?

来自分类Dev

ES6中的函数范围变量(var)和块范围变量是什么?

来自分类Dev

实例的参数变量是什么?

来自分类Dev

python argparse的范围是什么

来自分类Dev

imshow()中的范围是什么?

来自分类Dev

Firebase安全规则变量的范围是什么?

来自分类Dev

python中变量的范围

来自分类Dev

在Python函数中,参数中单独的*是什么意思

来自分类Dev

是什么导致我的SSRS图表中的范围参数错误?

来自分类Dev

Python中参数排序的约定是什么?

来自分类Dev

我如何找出函数的命名参数在python中是什么

来自分类Dev

python函数参数中的“或”是什么意思?

来自分类Dev

在 Python 中解析参数的最佳实践是什么?

来自分类Dev

在bash中,下划线变量后跟范围是什么意思:$ _ {0..10}

来自分类Dev

空手道tfw中if语句中的变量范围是什么?

来自分类Dev

角度链接函数中作用域变量的作用范围是什么?

来自分类Dev

Perl中的@ $变量是什么?

来自分类Dev

函数中的变量“ ....”是什么?

来自分类Dev

在Python类中声明变量的更好的地方是什么?

来自分类Dev

在python中“绑定”环境变量的安全方法是什么?

来自分类Dev

python中的变量影响问题是什么?

来自分类Dev

在Python类中声明变量的更好的地方是什么?

Related 相关文章

  1. 1

    Python和鼻子:“测试类”中的变量范围是什么?

  2. 2

    Lua变量的范围是什么?

  3. 3

    Lua变量的范围是什么?

  4. 4

    Rails控制器中实例变量的范围是什么?

  5. 5

    Angular中模板引用变量的范围是什么?

  6. 6

    Kotlin中的强制转换变量的范围是什么?

  7. 7

    Unix shell变量中“导出”的范围是什么?

  8. 8

    javascript 中语句头的局部变量的范围是什么?

  9. 9

    ES6中的函数范围变量(var)和块范围变量是什么?

  10. 10

    实例的参数变量是什么?

  11. 11

    python argparse的范围是什么

  12. 12

    imshow()中的范围是什么?

  13. 13

    Firebase安全规则变量的范围是什么?

  14. 14

    python中变量的范围

  15. 15

    在Python函数中,参数中单独的*是什么意思

  16. 16

    是什么导致我的SSRS图表中的范围参数错误?

  17. 17

    Python中参数排序的约定是什么?

  18. 18

    我如何找出函数的命名参数在python中是什么

  19. 19

    python函数参数中的“或”是什么意思?

  20. 20

    在 Python 中解析参数的最佳实践是什么?

  21. 21

    在bash中,下划线变量后跟范围是什么意思:$ _ {0..10}

  22. 22

    空手道tfw中if语句中的变量范围是什么?

  23. 23

    角度链接函数中作用域变量的作用范围是什么?

  24. 24

    Perl中的@ $变量是什么?

  25. 25

    函数中的变量“ ....”是什么?

  26. 26

    在Python类中声明变量的更好的地方是什么?

  27. 27

    在python中“绑定”环境变量的安全方法是什么?

  28. 28

    python中的变量影响问题是什么?

  29. 29

    在Python类中声明变量的更好的地方是什么?

热门标签

归档