如何在Python中创建全局类变量 我想用Python中的类来模拟C++中的“结构”。另外,我需要它的全局形式,因为我在许多函数中使用它,我不想传递参数

如何在Python中创建全局类变量 我想用Python中的类来模拟C++中的“结构”。另外,我需要它的全局形式,因为我在许多函数中使用它,我不想传递参数,python,class,global,Python,Class,Global,如何执行此操作(创建类的全局对象) 我的尝试是: class MyClass(): //Class Constuctor global ob1 = Myclass() def func1(): ob1.name = "Hello World" def func2(): print(ob1.name) func1() func2() 这给了我一个“无效语法”错误,我是如何出错的,或者有没有更有效的方法来做到这一点? 请注意,我有10个值,因此该类无论如何都会很麻烦。在您的代

如何执行此操作(创建类的全局对象)

我的尝试是:

class MyClass():
//Class Constuctor

global ob1 = Myclass()

def func1():
   ob1.name = "Hello World"

def func2():
    print(ob1.name)

func1()
func2()
这给了我一个“无效语法”错误,我是如何出错的,或者有没有更有效的方法来做到这一点?
请注意,我有10个值,因此该类无论如何都会很麻烦。

在您的代码中,没有必要显式放置全局修饰符,默认情况下,该变量是全局的

class MyClass():
    def __init__(self):
        self.name = ""

ob1 = MyClass()

def func1():
   ob1.name = "Hello World"

def func2():
    print(ob1.name)

func1()
func2()
输出:

Hello World
此外,global的用途如下:

global variable

variable = your_value

您的代码无效,因此无法重现语法错误。请发一封信。另外,我建议不要参加环球赛。这使得您很难对代码进行推理,依赖关系不明确,而且关注点分离很容易违反。它将导致结构不良的代码,除非您非常有纪律,并且知道自己在做什么(我认为我不会尝试这样做)。测试也更加困难,因为测试之间的状态可能会发生变化。
ob1
是代码中的全局变量'ob1'是
True
你说得对,我的意思是不需要在代码中使用全局修饰符。好的,我现在看到了区别。我明白了,我将尝试以下方法:)谢谢