Python 如何引入同级包和模块

目录
  • 如何引入同级包和模块
    • 工程项目结构如下
    • 首先是Gound.py引入Animal模块
    • Sky和Sea同理
    • 测试结果
  • 如何导入同级.py文件
    • 导入.py文件的所有方法

如何引入同级包和模块

工程项目结构如下

包AnimalShow和Class_test是同级包,AnimalShow是父类,Gound,Sea,Sky继承它,Chicken继承Gound和Sky

首先是Gound.py引入Animal模块

如下

#!/usr/bin/python
# -*- coding: UTF-8 -*-
from AnimalShow.Animal import Animals

class Gound_Animal(Animals) :
    def __init__(self , name , age , message):
        self.age = age
        self.name = name
        self.message = message
        print("Gound_Animal初始化完毕")

    def printA(self):
        print("name : %s, age : %d, message : %s" % (self.name, self.age, self.message))

    def GG(self):
        print("我是Gound_Animal独有方法")

Sky和Sea同理

下面是同级包的导入,Chicken引入Gound和Sky,如下,

#!/usr/bin/python
# -*- coding: UTF-8 -*-
from AnimalShow import Gound_Animals,Sky_Animals

class chicken(Gound_Animals.Gound_Animal,Sky_Animals.Sky_Animal):

    def __init__(self, name, age, message):
            self.age = age
            self.name = name
            self.message = message
            print("chicken初始化完毕")
    def printA(self):
        print("name : %s, age : %d, message : %s" % (self.name, self.age, self.message))
    def CC(self):
        print("我是chicken独有方法")

if __name__ == "__main__":
    GA = Gound_Animals.Gound_Animal("陆地动物",10,"我是陆地动物")
    CK = chicken("小鸡",2,"小鸡")
    CK.printA()
    CK.CC()
    CK.GG()
    CK.hobby()

测试结果

如何导入同级.py文件

导入.py文件的所有方法

(python3导入同级包,包名及调用的方法下面会有条红线,不要怕,没关系,运行不会报错)

from 包名 import *

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python在不同目录下导入模块的实现方法

    python在不同层级目录import模块的方法 使用python进行程序编写时,经常会调用不同目录下的模块及函数.本篇博客针对常见的模块调用讲解导入模块的方法. 1. 同级目录下的调用 目录结构如下: – src |– mod1.py |– test1.py 若在程序test1.py中导入模块mod1, 则直接使用 2. 调用子 *import mod1*或from mod1 import *; 目录下的模块 目录结构如下: – src |– mod1.py |– lib | |– mod2.

  • Python中import导入不同目录的模块方法详解

    测试的目录如下: root    ├── module_root.py    ├── package_a    │   ├── child    │   │   ├── __init__.py    │   │   └── child_a.py    │   ├── module.py    │   └── module_a.py    └── package_b        └── module_b.py 每个文件中的内容如下(__init__.py文件可以为空): print(__name

  • python引入不同文件夹下的自定义模块方法

    初学Python,这个问题搞了我好久,现在来分享下我的解决思路,希望可以帮到大家. 先说下python引入模块的顺序:首先现在当前文件夹下查找,如果没有找到则查找Python系统变量中的模块.所以说,当我们引入同一个文件夹下的自定义模块时,可以很顺利的引入而不会报错.那么问题来了,不同文件夹下的呢?也用一样的方法吗? 举个栗子: 现在我们想在subPack1文件下的module_1.py中引入subPack2下的module_2.py. 但是我们在module_1.py中写下: import s

  • python在不同层级目录import模块的方法

    使用python进行程序编写时,经常会使用第三方模块包.这种包我们可以通过python setup install 进行安装后,通过import XXX或from XXX import yyy 进行导入.不过如果是自己遍写的依赖包,又不想安装到python的相应目录,可以放到本目录里进行import进行调用:为了更清晰的理清程序之间的关系,例如我们会把这种包放到lib目录再调用.本篇就针对常见的模块调用方法汇总下. 一.同级目录下的调有 程序结构如下: -- src     |-- mod1.p

  • Python 如何引入同级包和模块

    目录 如何引入同级包和模块 工程项目结构如下 首先是Gound.py引入Animal模块 Sky和Sea同理 测试结果 如何导入同级.py文件 导入.py文件的所有方法 如何引入同级包和模块 工程项目结构如下 包AnimalShow和Class_test是同级包,AnimalShow是父类,Gound,Sea,Sky继承它,Chicken继承Gound和Sky 首先是Gound.py引入Animal模块 如下 #!/usr/bin/python # -*- coding: UTF-8 -*- f

  • python自动重试第三方包retrying模块的方法

    retrying是一个python的重试包,可以用来自动重试一些可能运行失败的程序段,retrying提供一个装饰器函数retry,被装饰的函数就会在运行失败的情况下重新执行,默认只要一直报错就会不断重试. 最近写了一个爬虫,需要连接国外的一个网站,经常出现掉线的情况,自己写了一个自动重连的代码,但感觉不够简洁... 后来就上万能的github,找到了一个第三包,基本能满足我的要求.这个第三方包就是retrying. 我的需求就是每当出现request相关异常的时候,就自动重来,上限连接10次:

  • 在Python 不同级目录之间模块的调用方法

    Python的模块有自带的也有第三方,还可以自定义然后引用 1.调用自带的模块,例如,sys 调用自带的模块只需要import sys 引入既可以使用 2.第三方的需要先安装模块然后再import引入 3.自定义: (1)同级目录模块的调用 test -----t1.py -----t2.py -----test1 -----------testm.py -----test2 -----------testmm.py t1.py要调用t2.py中的模块: import t2 t2.func()

  • Python from import导包ModuleNotFoundError No module named找不到模块问题解决

    目录 前言 场景 了解下import和from …import区别 import from…import 分析 解决方案 方案一(绝对路径) 方案二(相对路径, 推荐) 参考 总结 前言 在学习Flask框架的蓝图时,遇到导包时用到了`from . 模块 import 对象`,然后试了试直接 import会报错,直接告诉我找不到模块,发现问题以此记录. 场景 有一个flask框架的项目,目录结构如下: 有一个主包pro_flask,然后下面有两个子包admin和web,还有和pro_flask同

  • Python学习之包与模块详解

    目录 什么是 Python 的包与模块 包的身份证 如何创建包 创建包的小练习 包的导入 - import 模块的导入 - from…import 导入子包及子包函数的调用 导入主包及主包的函数调用 导入的包与子包模块之间过长如何优化 强大的第三方包 什么是第三方包 如何安装第三方包 总结 大家好,学完面向对象与异常处理机制之后,接下里我们要学习 包与模块 .首先我们要了解什么是包?什么是模块?接下来我们还要学习 如何自定义创建包.自定义创建模块以及如何导入包与模块.最后我们在学习如何使用第三方

  • 浅谈python import引入不同路径下的模块

    python 包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径. 下面将具体介绍几种常用情况: (1)主程序与模块程序在同一目录下: 如下面程序结构: `-- src     |-- mod1.py     `-- test1.py 若在程序test1.py中导入模块mod1, 则直接使用 import  mod1或from mod1 import *; (2)主程序所在目录是模块所在目录的父(或祖辈)目录 如下面程序结构: `-- src     |--

  • python 成功引入包但无法正常调用的解决

    问题 python中 import ** 成功,但是不能调用它的函数或者属性,如下图所示 原因 log 和 setting 在python中属于自带的库函数.再重写 log 和 setting 函数文件后,即使成功引入,如果没有加标识,会默认调用自带的库函数. 本质原因:python2 和 python3 版本存在差异,很多问题看看python官网就很容易理解 解决办法 重写python自带库函数,例如 log 库函数,经常会被重写.一定要注意添加前缀,来避免调用到默认的,且在任何用到该重写文件

  • Python包和模块的分发详细介绍

    发布Python包 上一篇介绍了如何使用别人的轮子,现在我们讨论下如何自己造轮子给别人用. 作为一个流行的开源开发项目,Python拥有一个活跃的贡献者和用户支持社区,这些社区也可以让他们的软件可供其他Python开发人员在开源许可条款下使用.这允许Python用户有效地共享和协作,从其他人已经创建的解决方案中受益于常见(有时甚至是罕见的)问题,以及可以提供他们自己的解决方案. Pypi( Python Package Index) ,公共的模块存储中心 准备 distutils 官方库dist

  • Python包argparse模块常用方法

    argparse介绍   argparse包用于解释命令行参数.这里给出几个常用的方法. # 创建解析器对象 # @para: description:描述信息 Arg = ArgumentParser(description='An example for Python package argparse~') # 添加参数 # @para: 后面举例子再细说 Arg.add_argument() # 解析参数 # @return: 返回的arg是一个对象,里面的属性和属性值来自命令行 arg

  • Python中的datetime包与time包包和模块详情

    目录 一.datetime包 1.timedelta(params…)得到一个时间增量对象 2.timezone(timedelta)+timedelta(params…)创建时区对象 3.datetime模块 datetime.strftime(fmt)datetime时间对象转字符串 datetime.strptime(date_string,fmt)字符串转成datetime时间对象 datetime.timestamp(datetime_obj)将datetime时间对象转换成秒级时间戳

随机推荐