首页 > 代码库 > python编程之多个类的相互调用

python编程之多个类的相互调用

这个搞了一天才弄明白,把我激动死了,好了,直接上程序,看了就懂:

 

程序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

xiaolei@dell:~/code/class_test$ python b.py

 

得到结果如下:

The first name is : xiaolei
The last name is : huimin
huimin

 

 

这个方法很重要,尤其在多线程之间的相互调用。比如有两个线程,每个线程都是一个类,如果这两个线程完全并行还好,要是一个线程的数据是从另一个线程的get方法中来的,那必须使用这个方法了。

python编程之多个类的相互调用