Python 导入引用其他文件的函数(持续更新)

news2025/1/10 3:09:45

文章目录

  • 构造初始化文件结构,以此为例。
    • 【1】导入同目录且同级下其他文件的函数(`c.py文件导入d.py文件的函数`)
        • `(1)只引入d.py文件`
        • `(2)直接引入函数`
        • `(3)引入全部函数`
    • 【2】导入同目录但不同级下的其他文件夹内文件(`c.py导入A文件夹内的a.py文件的函数`)
        • `(1)只引入a.py文件`
        • `(2)直接引入函数`
        • `(3)引入全部函数`
    • 【3】导入不同目录下的文件(`B文件中b.py导入A文件中a.py文件内的函数`)
        • `(1)只引入a.py文件`
        • `(2)直接引入函数`
        • `(3)引入全部函数`

构造初始化文件结构,以此为例。

三级文件结构

在这里插入图片描述

  • 其中文件夹A与B和文件c与d同级。
  • 文件a和b同级。
  • 为了方便测试,初始化文件a,b,c,d内容如下。
  • 文件内函数用于测试输出。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 下面对不同情况进行说明

【1】导入同目录且同级下其他文件的函数(c.py文件导入d.py文件的函数

(1)只引入d.py文件

import d

def functionC():
    print("引入functionC")
d.functionD()

在这里插入图片描述

  • 调用d里面函数时需要 d.functionD()
  • 也可以给引入的文件d重新命名
  • 只需加一个as
import d as newNameD

def functionC():
    print("引入functionC")
newNameD.functionD()

在这里插入图片描述

(2)直接引入函数

  • 引入单个函数
from d import functionD

def functionC():
    print("引入functionC")
functionD()

在这里插入图片描述

(3)引入全部函数

from d import *

def functionC():
    print("引入functionC")
functionD()

在这里插入图片描述

【2】导入同目录但不同级下的其他文件夹内文件(c.py导入A文件夹内的a.py文件的函数

(1)只引入a.py文件

  • 调用函数需要 文件名.函数名 例如 a.functionA()
from A import a

def functionC():
    print("引入functionC")

a.functionA()

在这里插入图片描述

(2)直接引入函数

  • 调用直接写函数名就可以
from A.a import functionA

def functionC():
    print("引入functionC")

functionA()

在这里插入图片描述

(3)引入全部函数

from A.a import *

def functionC():
    print("引入functionC")

functionA()

在这里插入图片描述

【3】导入不同目录下的文件(B文件中b.py导入A文件中a.py文件内的函数

前置条件:

  • 【1】引入import sys 利用sys.path.append(“…/”)拼接路径
  • 【2】将需要引入的文件夹设置为Sources Root
  • 此例子将A文件夹设置为Sources Root
  • New -> Mark Directory as -> Sources Root

在这里插入图片描述

(1)只引入a.py文件

  • 调用 a.functionA()
import sys
sys.path.append("../A")
import a
def functionB():
    print("引入functionB")
a.functionA()

在这里插入图片描述

(2)直接引入函数

import sys
sys.path.append("../A")
from a import functionA 
def functionB():
    print("引入functionB")
functionA()

在这里插入图片描述

(3)引入全部函数

import sys
sys.path.append("../A")
from a import *
def functionB():
    print("引入functionB")
functionA()

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/746876.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

docker服务启动过程分析

How docker.service start? just by ref 我们先了解docker的各个核心组件的介绍 runc:runc实现了容器的底层功能,例如创建、运行等。runc通过调用内核接口为容器创建和管理cgroup、namespace等Linux内核功能,来实现容器的核心特…

Spring5学习笔记--详细一文通

Spring5学习笔记--详细一文通 1 Spring 框架概述1.1 Spring 5 简述1.2 Spring5入门案例1.2.1 Spring5下载1.1.2 打开 idea 工具,创建普通 Java 工程1.2.3 导入 Spring5 相关 jar 包1.2.4 创建普通类,在这个类创建普通方法1.2.5 创建 Spring 配置文件&…

同时多项目多个node版本-比nvm好用的volta

一、node版本问题场景: 1、服务器上跑的多个node项目需要不同的node版本,且没条件上docker。 2、开发环境中多个项目需要node版本不同,且同时不止是一个项目在开发中,用了nvm进行node版本管理和切换,但是太麻烦。 二…

如何开发一款软件?

创建软件的步骤 1. 头脑风暴 创意生成是制作应用程序的第一步。考虑这个问题的最好方法是将你的应用想象成解决问题。 你自己的经历可以成为灵感的重要来源。试着想想你面临的问题,无论是软件和计算机,还是你的一般生活。很有可能,你面临的…

3DVR全景乡村振兴创新展示,助力数字化乡村建设

导语: 随着社会进步和科技发展,3D虚拟现实(VR)全景技术在乡村振兴领域展现出巨大的潜力和创新空间。通过结合3DVR全景技术和乡村振兴理念,我们可以为乡村带来全新的展示方式和体验,推动乡村振兴的进程。本…

MiniGPT4 在RTX-3090 Ubuntu服务器部署步骤详解

主要参考知乎帖子: MiniGPT-4 本地部署 RTX 3090 - 知乎 MiniGPT-4部署比麻烦,首先需要获取LLaMA权重,并结合Vicuna的bitwise XOR增量文件完成Vicuna模型权重生成,最后准备好预训练的MiniGPT-4进行模型部署。为了便于理解&#…

Photoshop简单案例(10)——利用PS修改证件照尺寸为1寸(或其他)

目录 一、项目介绍二、基本流程三、效果演示 一、项目介绍 本文介绍一下利用Photoshop修改证件照尺寸为1寸的方法。 二、基本流程 首先打开新建一个空白画布,设置画布宽度和高度分别为25mm和35mm,分辨率为300,背景颜色与证件照背景相同&am…

基于GPT4All的大型语言模型设计生态系统

GPT4All 一套专为强大、定制的大型语言模型设计的生态系统,能够在消费级CPU上本地运行。在GPT4All中,所使用的模型是一个3GB至8GB的文件,读者可以自行下载该文件,并将其插入到GPT4All的开源生态系统软件中。这一软件生态系统由Nomic AI提供支持并进行维护,其目的是确保系统…

04-树 (数据结构和算法)

4.1 树的基本概念 树(Tree)是n(n>0)个结点的有限集,它或为空树(n 0);或为非空树,对于非空树 T: 有且只有一个称之为根的结点 除根节点以外的其他结点可…

随手笔记——关于齐次变换矩阵的理解

随手笔记——关于齐次变换矩阵的理解 说明符号坐标系表示(coordinate representation)坐标系变换(coordinate transformation)点的操作(point operator) 说明 齐次变换矩阵的几种解释, 主要从坐…

十大排序算法【原理】【步骤】【动图】【C++实现】

十大排序算法 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔…

【面试题32】include和require的区别及用法

文章目录 一、前言二 、include和require的区别三、include和require的用法介绍3.1 include的用法3.2 require的用法及示例 四、include和require的用法示例4.1 包含文件4.2 包含文件并将结果赋值给变量4.3 动态包含文件4.4 使用绝对路径包含文件4.5 包含文件失败处理4.6 包含文…

MATLAB 的函数计算与作图

基本初等函数的输入系统运算与操作函数的输入函数值的计算1. 数值计算方式2. 符号计算方式2.1 函数:sym2.2 函数:syms 函数的作图1. 一般函数 yf(x) 的作图(二维)作图基本形式作多重线作图的线型和颜色作图的网格和标记、图例、字…

React Dva项目创建Model,并演示数据管理与函数调用

本文的话 我们讲一下定义Model 也就是Dva中redux的部分 我们打开一个刚创建的Dva项目 看到 src下的models 下 就是Model部分 这里 他给我们了一个案例 如果用 react-redux 管理 模块多了之后会看着比较乱 或 很麻烦 但是 大家会发现 在Model中 他将这些都放在一起了 只需要创建…

css属性

1、形状相关的 宽、高、边线(粗细、线样式、颜色)、弧度、前景色、背景色、透明度 圆角矩形: 随着radius的增加,角会越来越圆,当设置为高的一半(高200是直径)时,就会成圆角 宽高都是…

请求响应-日期时间参数的接受

日期参数 由于从前端发送的请求中,日期的格式可能各不相同,使用DateTimeFormat注解完成日期参数格式的转换具体关键代码如下: 在postman中发出对应请求携带对应参数结果如下: 参数名称要与方法中的形参名称一致,免得…

oracle排序问题

记录工作中遇到的问题让工作更加顺利! 文章目录 1.排序1.1数字字符串排序问题解决1.2自定义处理NULL 1.排序 工作中遇到一个需要排序的地方,遇到两个函数 DENSE_RANK和 RANK ;RANK 函数是按照一个字段或值排序后返回绝对位置(即相同值排名相…

HCIA云计算1

KVM是所有云平台的底座,云下面是虚拟化云台,虚拟化只提供基础架构,云可以提供服务,云是大杂烩。 OpenStack 开源云操作系统 KVM 开源虚拟化 Linux KVM OpenStack 大部分云厂商都是基于OpenStack 做二次开发 VRM理解成物理服务器…

推荐10个Flutter开源项目

作为跨平台应用开发的领头羊,Flutter从已发布就受到广大开发者的追捧。使用Flutter技术开发的应用不仅体验上无限接近原生应用,在开发效率上也是其他技术无法比拟的。随着其开发者社区的不断壮大,Flutter生态系统已经相当强大,并且众多开源应用程序也相继诞生。这些开源应用…

杨氏模量——从宏观(应力-应变曲线)到微观(原子键)尺度解释杨氏模量

杨氏模量(Young’s Modulus)是三个主要弹性常数之一,与剪切模量(shear modulus)、体积模量(bulk modulus)一起用于描述材料在载荷下如何变形 以下展示了拉伸试验的应力应变曲线 如果施加的应力…