gpt4 book ai didi

python - 如何在 Python 中使用类变量作为默认参数值

转载 作者:行者123 更新时间:2023-11-28 21:34:16 25 4
gpt4 key购买 nike

我想在静态方法中使用类变量作为默认参数值。
但是当我引用这个类时,我得到一个错误 NameError: name 'MyClass' is not defined

class MyClass:

x = 100
y = 200

@staticmethod
def foo(x = MyClass.x, y = MyClass.y):
return x*y

最佳答案

MyClass当 Python 想要绑定(bind)默认参数时尚未定义,但是 xy已经在类的范围内定义。

换句话说,你可以写:

class MyClass:
x = 100
y = 200

@staticmethod
def foo(x=x, y=y):
return x*y

请注意 foo将不承认对 MyCLass.x 的重新分配和 MyClass.y因为默认参数在创建函数时绑定(bind)一次。
>>> MyClass.foo()
20000
>>> MyClass.x = 0
>>> MyClass.foo()
20000

关于python - 如何在 Python 中使用类变量作为默认参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53527546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com