Python-创建并调用自定义文件中的模块/函数

背景:在Python编程中,我们常常需要创建自己的专属文件,以便帮助我们更高效,快捷地完成任务。那么在Python中我们怎么创建并调用自己文件中的模块/函数呢?

在Python中调用自定义文件,通常是指调用自己编写的Python模块或函数。以下是一些常见的调用情况:

1,同一目录下调用:
如果自定义文件与当前Python文件位于同一目录,可以直接使用import语句导入:
import 文件名
或者使用from语句导入特定的函数或变量:
from 文件名 import 函数名
2,不同目录下调用:
如果自定义文件位于不同的目录,需要先将该目录添加到Python的搜索路径中。可以通过设置sys.path变量来实现:
import sys
sys.path.append('路径/to/自定义文件')
之后,就可以使用import语句导入文件了:
import 文件名
3,调用自定义库:
如果自定义文件是一个库,并且已经安装在Python环境中,可以使用import语句直接导入:
import 库名
如果库文件不在标准库路径中,可能需要添加库文件所在路径到sys.path中:
pythonimport sys
sys.path.append('路径/to/自定义库')
import 库名

Pycharm下的调用问题:
在Pycharm中,如果调用同目录下的文件,可能会有波浪线提示,但通常不影响运行。可以通过设置source_path来解决这个问题:
右键点击当前工作的文件夹,选择Mark Directory as > Sources Root,将当前文件夹加入source_path。
在调用自定义文件时,还应注意文件的命名和路径,确保Python解释器能够正确找到并导入所需的文件。同时,如果文件中有__init__.py文件,这通常表示该文件夹是一个Python包,可以使用import语句导入包中的模块。

本篇文章将着重讲述第一个情况(因为Python入门这种情况接触最多)

1:创建一个自定义文件

我们先在pythonProject1(python项目1)下创建了新文件,命名为name_1.py。接着在name_1.py文件中自定义了一个函数odd()(如上所示),odd()将判断用户传递的实参是否为偶数,如果是,则返回值1;否则返回空值。

2,调用自定义文件中的模块/函数

接着上一步的操作,我们再在python项目1下创建一个新文件并将其命名为function_1.py,然后尝试在function_1.py中引用name_1.py中的odd()函数-'from name_1 import odd'。此时我们发现Pycharm并未给出任何强报错提示(红色提示),表明我们成功引用了name_1.py中的odd()函数。

3,尝试运行一下观察其是否与预期相符

我们尝试打印一下odd(2)的结果(按预期结果为1)-'print(odd(2))'。结果不出所料,为1。至此,所有工作均取得成功,实验结束。

4,拓展延伸

我们已经知道一般情况下自定义文件中的函数在调用时同Python中的标准库函数没什么两样,但是其他情况呢?

保持name_1.py中函数不变,我们尝试打印一下odd(1) -’print(odd(1))‘。(按预期为'None')

发现返回值为空 -'None',实验完美符合预期。Ok,我们可以在后面的编程中放心使用自定义文件了。

其余示例:

(再次强调:Pycharm下的调用问题:
在Pycharm中,如果调用同目录下的文件,可能会有波浪线提示,但通常不影响运行。可以通过设置source_path来解决这个问题:
右键点击当前工作的文件夹,选择Mark Directory as > Sources Root,将当前文件夹加入source_path。
在调用自定义文件时,还应注意文件的命名和路径,确保Python解释器能够正确找到并导入所需的文件。同时,如果文件中有__init__.py文件,这通常表示该文件夹是一个Python包,可以使用import语句导入包中的模块。

期待你的交流指教,我是闪云-微星,我们下期再见!

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

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

相关文章

基于STM32的智能窗帘控制系统设计

引言 本项目将基于STM32微控制器设计一个智能窗帘控制系统,用户可以通过按钮或遥控器控制窗帘的开关,并且系统能够根据光照强度自动调节窗帘的开合状态。该项目展示了STM32微控制器在家居自动化中的应用,以及与光照传感器、直流电机和红外接…

鸿蒙ArkTS中的image组件

开发文档很详尽,就在DevEco中的API参考,可以随时调出来进行学习。 在鸿蒙官网也有非常详尽的资料,地址:开发说明-API参考概述 - 华为HarmonyOS开发者 (huawei.com) 这里,就学习image组件的一般用法以及使用SVG图标和字…

opencv 图像预处理

图像预处理 ​ 在计算机视觉和图像处理领域,图像预处理是一个重要的步骤,它能够提高后续处理(如特征提取、目标检测等)的准确性和效率。OpenCV 提供了许多图像预处理的函数和方法,以下是一些常见的图像预处理操作&…

kafka里的consumer 是推还是拉?

大家好,我是锋哥。今天分享关于【kafka里的consumer 是推还是拉?】面试题?希望对大家有帮助; kafka里的consumer 是推还是拉? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在Kafka中,消费者&…

第7章 利用CSS和多媒体美化页面作业

2.用表格布局页面&#xff0c;利用CSS技术&#xff0c;及添加多媒体&#xff0c;制作并美化“心灵之音”页面。 浏览效果如下&#xff1a; 实例代码如下&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title>心灵…

Cisco Packet Tracer 8.0 路由器的基本配置和Telnet设置

文章目录 构建拓扑图配置IP地址配置路由器命令说明测试效果 构建拓扑图 1&#xff0c;添加2811路由器。 2&#xff0c;添加pc0。 3&#xff0c;使用交叉线连接路由器和pc&#xff08;注意线路端口&#xff09;。 4&#xff0c;使用配置线连接路由器和pc&#xff08;注意线路…

Python实现全国岗位招聘信息可视化分析(源码+论文+部署讲解)

项目源码&数据源获取 利用Python实现全国岗位招聘信息可视化分析 项目背景&#xff1a; 1.为企业招聘决策提供科学的依据和参考&#xff0c;可以帮助人力资源部门、招聘机构和求职者了解当前的就业形势、行业趋势和人才需求&#xff0c;从而做出更明智的招聘和求职决策。…

(九)JavaWeb后端开发3——Servlet

目录 1.Servlet由来 2.Servlet快速入门 3.Servlet执行原理 4.Servlet生命周期 1.Servlet由来 在JaveEE API文档中对Servlet的描述是&#xff1a;可以运行在服务器端的微小程序&#xff0c;但是实际上&#xff0c;Servlet就是一个接口&#xff0c;定义了Java类被浏览器访问…

C++设计模式结构型模式———桥接模式

文章目录 一、引言二、桥接模式三、总结 一、引言 桥接&#xff08;Bridge&#xff09;模式也叫桥梁模式&#xff0c;简称桥模式&#xff0c;是一种结构型模式。该模式所解决的问题非常简单&#xff0c;即根据单一职责原则&#xff0c;在一个类中&#xff0c;不要做太多事&…

【android12】【AHandler】【4.AHandler原理篇ALooper类方法全解】

AHandler系列 【android12】【AHandler】【1.AHandler异步无回复消息原理篇】-CSDN博客 【android12】【AHandler】【2.AHandler异步回复消息原理篇】-CSDN博客 【android12】【AHandler】【3.AHandler原理篇AHandler类方法全解】-CSDN博客 其他系列 本人系列文章-CSDN博客…

基于SSM志愿者招募系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;志愿组织管理&#xff0c;组织信息管理&#xff0c;组织申请管理&#xff0c;志愿活动管理活动报名管理 用户账号功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;…

selinux介绍和Linux中的防火墙

selinux 1、selinux的说明 2、selinux的工作原理 3、selinux的启动、关闭与查看 防火墙 1、什么是防火墙 2、iptables &#xff08;1&#xff09;iptables介绍 参数说明 3、firewalld firewalld-cmd的参数说明

RHCE4

一、web服务器简介 1、什么是www www 是 world wide web 的缩写&#xff0c;也就是全球信息广播的意思。通常说的上网就是使用 www 来查询用户所需要的信息。 www 可以结合文字、图形、影像以及声音等多媒体&#xff0c;并通过可以让鼠标单击超链接的方式将信息以 Internet 传…

推荐一款用来快速开发3D建筑模型软件:Allplan

Nemetschek Allplan是一款用来快速开发3D建筑模型软件的软件&#xff0c;它的简单好用但是功能强大&#xff0c;绝对不输AuToDesk&#xff0c;而且人性化的设计更让你可以快速的建立开发及维护你的建筑模型。是与ArchiCAD称兄道弟的强大建筑设计软件&#xff0c;功能上互有短长…

Python面向对象,实现图片处理案例,支持:高斯模糊、Canny边缘检测、反转边缘图像、生成手绘效果、调亮度......等等

实验图片如下&#xff1a; 命名为img1.jpg, 放在项目下新建文件夹images下 项目构造如下&#xff1a; app.py源码如下 import cv2 import os from matplotlib import pyplot as plt import numpy as npclass ImageProcessor:def __init__(self, image_path):self.image cv…

利用LangChain与LLM打造个性化私有文档搜索系统

我们知道LLM&#xff08;大语言模型&#xff09;的底模是基于已经过期的公开数据训练出来的&#xff0c;对于新的知识或者私有化的数据LLM一般无法作答&#xff0c;此时LLM会出现“幻觉”。针对“幻觉”问题&#xff0c;一般的解决方案是采用RAG做检索增强。 但是我们不可能把…

C++ 基础语法 一

C 基础语法 一 文章目录 C 基础语法 一const 限定符常量指针类型别名autodecltypeQStringvector迭代器指针和数组显示转换static_castconst_cast 函数尽量使用常量引用数组形参不要返回局部对象的引用和指针返回数组指针 C四种转换内联函数constexpr函数函数指针 const 限定符 …

tensorflow案例4--人脸识别(损失函数选取,调用VGG16模型以及改进写法)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 前言 这个模型结构算上之前的pytorch版本的&#xff0c;算是花了不少时间&#xff0c;但是效果一直没有达到理想情况&#xff0c;主要是验证集和训练集准确率…

力扣每日一题 超级饮料的最大强化能量 动态规划(dp)

来自未来的体育科学家给你两个整数数组 energyDrinkA 和 energyDrinkB&#xff0c;数组长度都等于 n。这两个数组分别代表 A、B 两种不同能量饮料每小时所能提供的强化能量。 你需要每小时饮用一种能量饮料来 最大化 你的总强化能量。然而&#xff0c;如果从一种能量饮料切换到…

全国产 V7 690T+FT6678 高性能实时信号处理平台设计原理

1、概述 全国产 V7 690TFT6678 高性能实时信号处理平台组成如图 1 所示&#xff0c;包含 1 片SMQ7VX690TFFG1761 和两片 FT-6678&#xff08;国防科大&#xff09;的 DSP&#xff0c;总共 3 个主芯片&#xff1b;每个主芯片外部各搭配 1 组 64bit 的 DDR3 内存模组以及各芯片启…