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

[email protected]:~/code/class_test$ python b.py

得到结果如下:

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

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

时间: 2024-10-14 06:29:14

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

python编程设计模式之接口类和抽象类

接口类 """ 接口类 是一种编程设计模式,在python原本没有接口类 借用Java思想创建的一种规范设计模式 支持多继承,进行多方面规范 """ 例子: from abc import abstractmethod, ABCMeta class Clergy(metaclass=ABCMeta): # 规范子类都要有cure方法 @abstractmethod # 装饰要规范的方法 def cure(self, HP): # 规范方法必须要p

JNI编程(二) —— 让C++和Java相互调用(1)

自己在外面偷偷的算了下,又有将近两个月没更新过blog了.趁着今天有兴致,来更新JNI编程的第二篇文章.在第一篇里,大概介绍了JNI的特点.用途和优劣.并且做一个最简单的JNI的例子,不过说实话那个例子在实际的开发中没有太大的价值,实际开发中所需要的JNI程序要远远比那个复杂.所以这一篇就来介绍下如何通过JNI实现java和C++的相互通信,来满足实际开发的需要. 所谓”通信“,其实说白了无非也就是我们所说的方法调用,在上一篇的例子里介绍了如何在Java中调用本地的DLL,其实在Java代码中,

JNI编程(二) —— 让C++和Java相互调用(2)

3.getRamdomOrder() 这个方法会从backend得到一个随机的Order对象(抱歉这里“Random”拼错了),然后再调用java中相应的通知方法来通知foreground.getRamdomOrder方法没有参数,但是所对应的C++方法里却有两个参数,一定有人会不解.其实细心的朋友一定会发现,JNI里所有对应Java方法的C++ 方法都会比Java方法多两个参数,第一个参数是我们很熟悉的JNIEnv*指针,第二个参数有时是jobject有时是个jclass.针对这第二个参数在这

c#新手之1-如何组织类及相互调用

不知道这个文章的名字起的对不对,姑且这么叫吧.我在这之前用c语言写程序几乎很少用函数调用来解决问题,都是用全局变量然后面向过程对数据做简单的处理,这就造成了我在学习[email protected]之后仍有这个毛病,好点的时候有个函数调用还把所有的类都写在Program.cs这个默认的类中,知道这种写法不规范,但也没试着改过.今天决定以后一个类就新建一个 *.cs. 首先以一个解决方案中有一个项目来,一个项目仅有两个类来举例. 文档组织结构图如下所示: 其中第一个类也就是默认的类为Program

苹果系统开发中的混合编程(2):Swift和C的相互调用

在进行Swift和C之间的相互调用时,有必要先了解一下两种语言之间的类型转换关系: C 类型 Swift 类型 bool CBool char, signed char CChar unsigned char CUnsignedChar short CShort unsigned short CUnsignedShort int CInt unsigned int CUnsignedInt long CLong unsigned long CUnsignedLong long long CLon

python编程学习进度四

今天自己写了 一个简单代码帮助自己理解python编程中的一些类的关系以及一些函数属性, 总结如下: 1,在python当中一切皆对象,每产生一个对象会对应三个属性:id.类型type和数值2,创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性:而类中有两种属性:数据属性和函数属性,其中类的数据属性是共享给所有对象的,而类的函数属性是绑定到所有对象的. 3,在类的内部来说,__init__是类的函数属性,但是对于对象来说,就是绑定方法.4,命名空间的问题:先从对

【Python】+类内部方法相互调用

1 class TestDate: 2 a = 1 3 4 # "__init__"为类的构造函数 5 def __init__(self): 6 self.a = 666 7 pass 8 9 def a_1(self): 10 print("a_1") 11 self.a_2() 12 13 def a_2(self): 14 print(self.a) 15 print("a_2") 16 17 18 if __name__ == &quo

《Python编程:从入门到实践 》[Eric Matthes著] 中文pdf非扫描版

下载地址:网盘下载 内容简介  · · · · · · 本书是一本针对所有层次的Python 读者而作的python 入门书.全书分两部分:第一部分介绍用Python 编程所必须了解的基本概念,包括matplotlib.NumPy 和Pygal 等强大的Python 库和工具介绍,以及列表.字典.if 语句.类.文件与异常.代码测试等内容:第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python 2D 游戏开发如何利用数据生成交互式的信息图,以及创建和定制简单的Web 应用,并帮读者

《趣学Python编程》习题总结

上周买了本书叫<趣学Python编程>(英文名:Python for kids),昨天看完后把书后面的题都做了下.由于第1.2章没有习题,第13章及之后都是描写实例的章节,因此这个总结性的文章中只包含了第3-12章的习题答案. 1.我的调试环境 我分别在我的Win7上和RedHat上调试过Python: 1)Win7的IDE可以从Python的官网上下载: https://www.python.org/downloads/windows/ 点击链接Python 3.4.2→Download W