gpt4 book ai didi

默认参数的python函数

转载 作者:太空狗 更新时间:2023-10-30 02:06:04 25 4
gpt4 key购买 nike

如何在方法内部访问 qux?我真的必须在 foo() 的主体中再次定义它,还是有办法从 self 导入它?

class Baz(object):

qux = lambda x : x + '_quux'

def foo(self, bar=qux('fred')):
print bar

print qux('waldo')
# NameError: global name 'qux' is not defined

print Baz.qux('waldo')
# TypeError: unbound method <lambda>() must be called with Baz instance as first argument (got str instance instead)

print Baz.qux(self, 'waldo')
# TypeError: <lambda>() takes exactly 1 argument (2 given)

print self.qux('waldo')
# TypeError: <lambda>() takes exactly 1 argument (2 given)

最佳答案

如果您希望能够访问类外的方法,那么您必须使用 classmethodstaticmethod .

class Baz(object):
qux = staticmethod(lambda x : x + '_quux')

但是don't do that .

关于默认参数的python函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6287459/

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