坠入深秋 2022-12-05 17:11 采纳率: 83.3%
浏览 27
已结题

类class中不能使用全局global类型变量吗?

如标题所示,在Python中,全局变量global类型变量,不能在类class中使用吗吗?因为我在网络上能搜到关于global可以在函数中使用的文章,但是没有看到一篇global变量在类中使用的文章?想问下为什么呢?

  • 写回答

2条回答 默认 最新

  • ShowMeAI 2022-12-05 17:16
    关注

    望采纳


    在Python中,全局变量global是一种特殊的类型的变量,它定义在函数外部,可以在整个程序中使用。在Python中,所有的变量在使用前都必须被定义,所以如果想在类中使用全局变量,需要在类中使用global关键字来声明该变量为全局变量,然后才能在类中使用它。例如:

    # 定义一个全局变量
    g_var = 1
    
    class MyClass:
        def __init__(self):
            # 在类的方法中使用全局变量
            global g_var
            print(g_var)
    

    上面的代码定义了一个全局变量g_var,并在类的方法中使用了这个变量。在使用全局变量的时候,需要在变量名前面加上global关键字,来声明该变量是一个全局变量。

    另外,在Python中,全局变量并不能直接在类的实例方法中使用,如果想要在实例方法中使用全局变量,需要通过类的静态方法来实现。例如:

    # 定义一个全局变量
    g_var = 1
    
    class MyClass:
        # 定义类的静态方法
        @staticmethod
        def my_static_method():
            # 在静态方法中使用全局变量
            global g_var
            print(g_var)
    
    # 使用静态方法
    MyClass.my_static_method()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月13日
  • 已采纳回答 12月5日
  • 创建了问题 12月5日