• 如何使用其他文件中定义的类Python


    我在文件a.py中定义了一个类class A(object),现在想在b.py中的类B中某个函数中创建一个A的对象,需要如何操作呢?

    我在b的头加了import a.py
    然后使用语句 obj = A()总是报错
    http://hi.baidu.com/kxw102/item/bbc7db11a863e00ab88a1a0c

    正确的方法应该是:from a import A

    下面我们来看看具体的原理:
    python中是通过名称空间来定位的.
    import a 是将a这个模块引入, 名称是a;也可以import a as b: 这样是将a这个模块引入, 但是名称是b
    但是, 引入一个模块, 是仅仅引入了模块的名字, 模块自身又是一个名称空间, 所以, 要访问模块内部的成员的时候, 需要用点号来访问, 或者如二楼所说的from import方式引入.
    比如:
    import a
    obj = a.A()
    这是允许的, 因为a是当前名称空间中可见的, 而a自身作为名称空间, 其中的东西也就可以通过.指定的路径访问了.

    另外的方式:
    from a import *
    或from a import A, B
    或from a import A as B, B as C
    这些都是可以的.
    from a import *: 将a模块中的所有名称引入到当前名称空间, 继续使用其在a模块中的名称.
    from a import A: 将a模块中的名称A引入到当前名称空间.
    from a import A as B, B as C: 将a模块中的A引入到当前名称空间, 在当前名称空间中, 其名称为B, 同时, 将a模块中的B引入到当前名称空间, 在当前名称空间中, 其名称为C:

  • 相关阅读:
    分布式文件系统
    分布式系统中的CAP理论
    安装Elasticsearch-header插件
    Elasticsearch 安装
    分布式搜索引擎-ES
    高可用集群架构 Keepalived 双机主备和双主热备
    先阶段部署架构
    技术人员的两个发展方向
    input标签写CSS时需要注意的几点(先收藏)
    如何设置box shadow的透明度
  • 原文地址:https://www.cnblogs.com/yunsicai/p/3569447.html
Copyright © 2020-2023  润新知