如何在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)
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
