Python:几种函数的调用方式

第一种:class内部def函数与def函数之间的调用

test_getIdentify 函数调用test_getLastuser函数的返回值,只要在test_getIdentify 函数内写上self.test_getLastuser()即可

class testlogin(unittest.TestCase):
    def test_getIdentify(self):
        '''先调用上一次用户登录的信息,返回展示在页面上'''
        key=self.test_getLastuser()
        data={"username":key}
        url="http://10.17.17.31:8080/LandTaxSys/user/getIdentity"
        headers={'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}
        r=requests.get(url,params=data,headers=headers)
        print(r.text)
        return r.text

    def test_getLastuser(self):
        '''获取上一次用户登录的用户名'''
        url="http://10.17.17.31:8080/LandTaxSys/operatelog/getLastUser"
        r=requests.get(url)
        return r.text

第二种 不同文件夹下的py之间的函数调用,如下图


第三种:Class之间函数的调用关系

假设有Class  A 和 Class B两个类,Class A中定义了a(),Class B中定义了b().

现在我想在Class B中调用 Class A中的函数a()。此处介绍三种调用方法:


方法一:

在Class B中所定义的fuction()中声明Class A的对象a,然后用对象a来调用Class A的函数a().

最后在main中声明Class B的对象b,让b调用该类中的fuction().

[python]  view plain  copy
  1. #!/usr/bin/env python  
  2. # -*- coding: utf-8 -*-  
  3.   
  4. class A():  
  5.     def __init__(self,parent):  
  6.         self.parent = parent  
  7.   
  8.     def a(self):  
  9.         print 'Class A'  
  10.   
  11.   
  12. class  B():  
  13.     def fuction(self):  
  14.         a = A(None)  
  15.         a.a()  
  16.   
  17. if __name__ == '__main__':  
  18.     b = B()  
  19.     b.fuction()  


方法二:

在Class B的__init__()中将Class A和Class B产生关联,具体方法如下code。

首先在main中声明Class A的对象a,然后将对象a传入到Class B的__init__(self,object)中,这样self.object就指向Class A。
就可以调用Class A中的函数了。

[python]  view plain  copy
  1. #!/usr/bin/env python  
  2. # -*- coding: utf-8 -*-  
  3.   
  4. class A():  
  5.     def __init__(self,parent):  
  6.         self.parent = parent  
  7.   
  8.     def a(self):  
  9.         print "Class A"  
  10.   
  11. class B(object):  
  12.     def __init__(self,object):  
  13.         self.object = object  
  14.         self.object.a()  
  15.   
  16.     def b(self):  
  17.         print "Class B"  
  18.   
  19. if __name__ == '__main__':  
  20.   
  21.     a = A(None)  
  22.     b = B(a)  
  23.     b.b()  



方法三: 

直接在Class B中声明Class A的对象,该对象是Class B的self.A_object。

[python]  view plain  copy
  1. #!/usr/bin/env python  
  2. # -*- coding: utf-8 -*-  
  3.   
  4. class A():  
  5.       
  6.     def a(self):  
  7.         print "Class A"  
  8.   
  9. class B(object):  
  10.     def __init__(self):  
  11.         self.A_object = A()  
  12.         self.A_object.a()  
  13.   
  14.     def b(self):  
  15.         print "Class B"  
  16.   
  17. if __name__ == '__main__':  
  18.   
  19.     b = B()  
  20.     b.b()  


猜你喜欢

转载自blog.csdn.net/qq_39247153/article/details/80692473
今日推荐