gpt4 book ai didi

Python - 检查类是否存在

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

有没有办法检查类是否已定义/存在?我在菜单上有不同的选项,其中一些需要继承变量,因此如果您在设置变量之前尝试选择该功能,它会崩溃。我的类(class)叫做 Gen0,我通过简单地把它开始

class Gen0():

接下来是设置变量的代码。对于上下文,我正在做一个人口模型,因此需要在显示(选项 2)、使用(选项 3)或导出(选项 4)之前设置初始值(选项 1)。

最佳答案

你的情况不是很清楚,所以我只是回答“有没有办法检查一个类是否已经定义/存在?”这个问题

是的,有一些方法可以检查当前范围内是否定义了一个类。我将介绍一些。

1。请求原谅比获得许可更好

试试看吧!

try:
var = MyClass()
except NameError:
# name 'MyClass' is not defined
...

这可能是最 Pythonic 的方法(除了确保您已导入/定义类之外)。

2。查看当前范围

当前范围内的所有内容都由 dir() 给出。当然,这不会处理进口的东西! (除非它们是直接导入的。)

if not 'MyClass' in dir():
# your class is not defined in the current scope
...

3。检查模块的内容

也许您想查看该类是否在特定模块 my_module 中定义。所以:

import my_module
import inspect

if not 'MyClass' in inspect.getmembers(my_module):
# 'MyClass' does not exist in 'my_module'
...

现在,值得指出的是,如果您在任何时候在生产代码中使用这些东西,您的代码可能写得不好。您应该始终知道在任何给定点的范围内有哪些类。毕竟,这就是我们有导入语句和定义的原因。我建议您使用更多示例代码来清理问题以获得更好的响应。

关于Python - 检查类是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38171243/

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