如何在python中的函数之间共享变量?
发布时间:2020-12-20 13:03:27 所属栏目:Python 来源:网络整理
导读:我有2个函数fun1和fun2,分别作为输入字符串和数字.这两个输入都得到相同的变量a.这是代码: a = ['A','X','R','N','L']def fun1(string,vect): out = [] for letter in vect: out. append(string+letter) return outdef fun2(number,vect): out = [] for let
我有2个函数fun1和fun2,分别作为输入字符串和数字.这两个输入都得到相同的变量a.这是代码:
a = ['A','X','R','N','L'] def fun1(string,vect): out = [] for letter in vect: out. append(string+letter) return out def fun2(number,vect): out = [] for letter in vect: out.append(str(number)+letter) return out x = fun1('Hello ',a) y = fun2(2,a) 这些函数执行一些无意义的操作.我的目标是以这样的方式重写代码,即变量a在函数之间共享,这样它们就不再将它作为输入. 删除变量a作为输入的一种方法是在函数本身中定义它,但不幸的是,这不是很优雅. 函数应该以相同的方式操作,但输入参数应该只是字符串和数字(??fun1(string),fun2(number)). 解决方法
面向对象的编程有助于:
class MyClass(object): def __init__(self): self.a = ['A','L'] # Shared instance member :D def fun1(self,string): out = [] for letter in self.a: out.append(string+letter) return out def fun2(self,number): out = [] for letter in self.a: out.append(str(number)+letter) return out a = MyClass() x = a.fun1('Hello ') y = a.fun2(2) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |