如何在函数中传递“数字变量”作为python中的引用?

问题描述

为了更好地理解,这里是示例代码

num = 0


def func(num):
    num += 1

func(num)
print(num)

代码显示0,但我想要1(由func()递增),我该怎么做?

我该怎么做?有可能吗?

解决方法

长话短说,您不能只将数字放入函数中并期望它通过引用传递。

在python中...

  • (作用类似)按值传递:整数,字符串或元组
  • (作用类似)通过引用传递:python列表

您应该访问此处,以获取有关“对象引用传递(调用)”的更多信息。

https://www.geeksforgeeks.org/is-python-call-by-reference-or-call-by-value/

,

在python中,当您在函数内部声明变量时,python会将其视为新变量。也就是说,对该变量的任何更改都不会显示在全局上。

要查看他的内容,请在顶部添加global。 示例:

num = 0

def func():
    global num
    num += 1

func()
print(num)

输出:

1