zoukankan      html  css  js  c++  java
  • python 跨类 全局变量 可变数据类型和不可变数据类型的作用机制

    from dataclasses import dataclass
    
    @dataclass
    class A:
        def print(self):
            x.append(2)
            print(x)
    @dataclass
    class B:
        def print(self):
            print(x)
    
    x = [1]
    kwargs = {}
    a = A(**kwargs)
    b = B(**kwargs)
    a.print()
    b.print()

    输出:[1, 2]

       [1, 2]

    from dataclasses import dataclass
    
    @dataclass
    class A:
        global x
        x = 3
        def print(self):
            self.x = 2
            print(x)
    @dataclass
    class B:
        def print(self):
            print(x)
    
    x = 1
    kwargs = {}
    a = A(**kwargs)
    b = B(**kwargs)
    a.print()
    b.print()

    输出:1

       1

    from dataclasses import dataclass
    
    @dataclass
    class A:
        def print(self):
            global x
            x = 2
            print(x)
    @dataclass
    class B:
        def print(self):
            print(x)
    
    x = 1
    kwargs = {}
    a = A(**kwargs)
    b = B(**kwargs)
    a.print()
    b.print()

    输出:2

       2

     以上测例都属于同一文件,跨文件传递变量,请搜索‘python 跨文件 全局 变量’

  • 相关阅读:
    python基本数据类型剖析
    常用正则表达式
    python_re模块
    迭代器模式
    状态模式
    备忘录模式
    asp.net 发送邮件
    建造者模式
    抽象工厂模式
    摸板模式与钩子
  • 原文地址:https://www.cnblogs.com/oler/p/13257440.html
Copyright © 2011-2022 走看看