python类内部不同函数的self变量传递

最近都没有怎么更新,因为突然换方向了,颓了一个月,现在又开始新的工程了。希望继续努力!

起因是需要写一个含很多变量的环境,不同函数间还需要互相修改,有两种方案:1、全局变量;2、值传递。但我试试用类的self变量解决。

值传递的话,每个函数需要传的变量太多了。全局变量的话,因为每个对象都不太一样,只是具有相同的属性而已,我想强调这种关系。而用类的话,可能每个人初学类的时候都有用 __init__ 定义self.name,在 function XXX 里面打印的记忆。所以我想这个是可以的。因为我不是代码大牛,所以本篇仅看实现就好,不解释

  • 不同函数间 self 变量调度
class MYCLASS():
    def __init__(self):
        self.name = "name"
        
    def fun1(self):
        print("pre:", self.name)
        self.name = "my"
        print("end:", self.name)

输出是这样的

my = MYCLASS()
my.fun1()
>>> pre: name
>>> end: my

到现在是证明可以修改的,然后再深入一下,试试

  • 实例化多个类时还一样吗?
class MYCLASS():
    def __init__(self, name):
        self.name = name
        
    def change_name(self, new_name):
        print("pre:", self.name)
        self.name = new_name
        print("end:", self.name)

实例化

A = MYCLASS("A")
B = MYCLASS("B")
A.change_name("小明")
B.change_name("小红")
>>> pre: A
>>> end: 小明
>>> pre: B
>>> end: 小红

其实挺水的,哈哈哈。


版权声明:本文为qq_42896431原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。