gpt4 book ai didi

Python 类和命名空间?

转载 作者:行者123 更新时间:2023-11-30 23:40:30 26 4
gpt4 key购买 nike

假设我想定义一个类名 MyClass。

我想使用那个类。所以,

class MyClass():

blabla

MyClass = MyClass(abc)

假设我想创建一个函数并在该函数中使用 MyClass 。我发现以下代码将出现异常:

def MyFunction():
MyClass = MyClass(abc)

MyFunction(123)

有什么帮助吗?我可以这样做

    Myclass1 = MyClass(abc)

但我认为我缺少一些关于命名空间的基本知识。谢谢!

最佳答案

当你执行时

MyClass = MyClass(abc)

您正在创建 MyClass 的新实例,并将其分配给类本身,而使用 Myclass1 = MyClass(abc) 时,您不会覆盖该类。覆盖类不应引发异常(异常可能与使用参数调用 MyFunction() 方法有关,因为它不接受任何参数,或者可能与调用 的构造函数有关>MyClass 带有一个参数,因为这也不需要任何参数),但我想这不是你想要做的。

Myclass1 = MyClass(abc) 对我来说看起来不错(除了传递的参数之外),尽管我建议使用 myClass1 (或者更好的是,通常使用的 python变量的样式为 my_class1),而不是将第一个字母大写,因为这样可以防止混淆哪个对象是类。

关于Python 类和命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12616933/

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