gpt4 book ai didi

Python 为内部类使用别名

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

我有以下代码示例,

class Outer:
class InnerException(Exception): pass
def raise_inner(self):
raise Outer.InnerException()
def call_raise(self):
try:
self.raise_inner()
except Outer.InnerException as e:
print "Handle me"

Outer().call_raise()

我想做的是不使用 Outer.InnerException,而是在 Outer 类中使用 InnerException,简而言之就是这样

class Outer:
class InnerException(Exception): pass

#InnerException = Outer.InnerException .. something like this, create some alias

def raise_inner(self):
raise InnerException()
def call_raise(self):
try:
self.raise_inner()
except InnerException as e:
print "Handle me"

Outer().call_raise()

最佳答案

您不能仅使用名称来引用在类范围内声明的事物(除非您也在类范围内这样做)。

要么:

class Outer:
class InnerException(Exception): pass
def raise_inner(self):
raise self.InnerException()

class InnerException(Exception): pass
class Outer:
def raise_inner(self):
raise InnerException()

关于Python 为内部类使用别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19253076/

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