• python中不同文件中函数和类的调用


      最近在学习Python的时候,遇到了一个不同文件中类无法调用的问题,搜了很多,发现很多人针对

    这个问题都说的相当含糊,让我费了好大劲才把这个东东搞明白。记录一下,权且温习。

      调用分两种,一种是同种文件路径下的调用,这种一般的方法是:

      比如,文件b.py 调用a.py中的函数testa():

      方法一:

      from a import *

      testa()

      方法二:

      import a

      a.testa()

      栗子:

      文件aQueue.py

    class QueueA:
            def __init__(self):
                    self.items = []
            def is_empty(self):
                    return self.items == []
            def enqueue(self, item):
                    self.items.insert(0,item)
            def dequeue(self):
                    return self.items.pop() 
            def size(self):
                    return len(self.items)

      文件afunc.py

    def test_call_file(input1,input2):
            print("file is afunc")
            input1 = input2 + 1
            print("inputa:%d inputb:%d"%(input1,input2))

      文件b.py的调用:

      

    from aQueue import *
    from afunc import *
    q = QueueA()
    q.enqueue('hello')
    q.enqueue('hello')
    q.enqueue('hello')
    q.enqueue('hello')
    print q.size()
              
    test_call_file(2,3)

      文件c.py的调用:

    import afunc
    import aQueue
    q = aQueue.QueueA()
    q.enqueue('hello')
    q.enqueue('hello')
    q.enqueue('hello')
    q.enqueue('hello')
    print q.size()
    
    afunc.test_call_file(2,3)

      不同文件路径下的调用:

      import sys

           sys.path.append('adress_of_B') #adress_of_B 表示文件B的地址

         import b

            b.fun()

      实例和上面差不多,只需要把目录换一下就行了。这里就不贴了。

      

  • 相关阅读:
    如何使用数据卷在宿主机和docker容器之间共享文件
    Debian 7 安装 Docker
    ajax简单封装
    GridView列的排序功能
    SqlHelper帮助类
    模板引擎小例子
    WCF练习小程序总结
    热线接口开发调试工作记录
    在Oracle中使用rank()over()排名的问题
    项目实施中出现的问题点汇总
  • 原文地址:https://www.cnblogs.com/dylancao/p/8079129.html
Copyright © 2020-2023  润新知