这个搞了一天才弄明白,把我激动死了,好了,直接上程序,看了就懂:
程序1:
#coding:u8
#a.py
class A():
def __init__(self):
self.name=‘xiaolei‘
def get_name(self):
return self.name
def set_name(self,name):
self.name=name
def print_name(self):
print self.name
程序2:
#coding:u8
#b.py
from a import A
class B():
def __init__(self,obj):
self.sex=‘‘
#self.temp=A()
self.temp=obj
def set_sex(self,sex):
self.sex=sex
def get_sex(self):
return self.sex
def print_inf(self):
tmp=‘‘
tmp=self.temp.get_name()
print "The first name is : %s" % tmp
self.temp.set_name(‘huimin‘)
tmp=self.temp.get_name()
print "The last name is : %s" % tmp
n=A()
m=B(n)
m.print_inf()
n.print_name()
执行程序b.py
[email protected]:~/code/class_test$ python b.py
得到结果如下:
The first name is : xiaolei
The last name is : huimin
huimin
这个方法很重要,尤其在多线程之间的相互调用。比如有两个线程,每个线程都是一个类,如果这两个线程完全并行还好,要是一个线程的数据是从另一个线程的get方法中来的,那必须使用这个方法了。