python 函数、模块、包及import导入方法

2023-11-10

函数

将一组代码组织到一起,实现某种功能

模块

模块就好比工具包,里面的具体工具就好比函数,需要使用里面的函数,就需要导入这个模块。为实现某种逻辑将相关连的函数写在同一个文件里,使逻辑更清楚,这就是一个模块

在python中文件以.py 结尾,那这个.py文件就可以称之为模块

为了方便管理模块,python 中引入了包的概念
包是由关联的多个模块组成的目录,在每一个包下而都有一个__init__.py文件,这个文件必须存在
否则,Python就把这个目录当成普通目录,而不是一个包

init.py 可以是空文件,也可是有python代码,因为__init__.py本身就是一个模块

import 导入

import 模块名   注意这样的导入是把模块中所有已有的函数导入。

调用模块中的函数:模块名.函数名

使用import 关键字,可以将一个包中已出现的一个或多个函数或模块,引入到另一个python代码中,从而实现
代码的复用

注意
1, 如果是本地导入文件,直接使用:import filename
2, 如果导入的是一个包,该包下面必须是有__init__.py文件才可以导入,否则报错,只有有了__init__.py文件,python解析器才会把这个目录当成是的包

--示例:
创建一个包,并进行导入操作

创建一个pack目录
        目录包含三个文件 __ini_.py  mod_1.py mod_2.py
                __init.py  这空
                mod_1.py 中定义一个函数Func1,功能是打印‘This is func-1mod_2.py 中定义一个函数Func2, 功能是打印‘This is a Func2’

在其它目录下创建一人普通python方件对上面的包进行导入

方法1、如果是本地导入文件,直接使用:import filename

import pack.mod_1
pack.mod_1.Func1()

运行:
C:\Python27\python.exe D:/Python/package.py
This is func-1

Process finished with exit code 0

方法2:在导入的时候,.py的后缀直接省略,如果是多级的包,或者想导入包里面的函数等,可以使用from进行导入

from pack.mod_2 import Func2

Func2()

运行:
C:\Python27\python.exe D:/Python/package.py
This is a Func2

Process finished with exit code 0

form .... import

有时候我们只需用到模块中的某个函数,只需要引入该函数即可:

from 模块名 import 函数名1,函数名2.........


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 函数、模块、包及import导入方法 的相关文章

  • 在线协作文档综合评测 :金山文档、腾讯文档、石墨文档

    在线协作文档综合评测 Notion FlowUs Wolai 飞书 语雀 微软 Office 谷歌文档 金山文档 腾讯文档 石墨文档 Dropbox Paper 坚果云文档 百度网盘在线文档 如今 在线协作文档已经成为效率办公的必备产品 然
  • 安装SQL2008 提示 创建usersettings/microsoft.sqlserver.configuration.landingpage.properties.se

    安装SQL2008 提示 创建usersettings microsoft sqlserver configuration landingpage properties se 环境WIN7 64位 安装SQL2008之前 已安装好了 VS2
  • 关于QT中tr()翻译的简单理解

    当我们使用一下方式进行翻译时候需要了解tr是怎么运行的 tr qstring 1 tr 接口会去调用一个 QCoreApplication translate objectClassName this s c n 其中this形参就是翻译所
  • jedis 出现java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.lang.Long

    问题 使用jedis出现java lang ClassCastException java util ArrayList cannot be cast to java lang Long 解决办法 参考文章 http hellojimmy
  • 【设计模式】创建者模式_工厂、抽象工厂、建造者

    设计模式六大原则 开闭原则 Open Close Principle 开闭原则就是说对扩展开放 对修改关闭 在程序需要进行拓展的时候 不能去修改原有的代码 而是要扩展原有代码 单一职责原则 不要存在多于一个导致类变更的原因 也就是说每个类应
  • 若依框架_05:接口汇总

    若依接口汇总 一 登录 路由渲染 1 1 登录 1 1 1 登录 1 1 2 注册 1 1 3 获取验证码 1 1 4 获取用户详细信息 1 1 5 登出 1 2 路由渲染 1 2 1 获取路由 二 系统管理模块 2 1 用户管理 2 1
  • javascript中defer和async 区别

    defer和async 区别 1 没有 defer 或 async 浏览器会立即加载并执行指定的脚本 立即 指的是在渲染该 script 标签之下的文档元素之前 也就是说不等待后续载入的文档元素 读到就加载并执行 2 有 async 加载和
  • 递归函数的例子python卖鸭子_递归算法实现卖鸭子

    问题重述 1 一个人赶着鸭子去每个村庄卖 每经过一个村子卖去所赶鸭子的一半又一只 这样他经过了七个村子后还剩两只鸭子 问他出发时共赶多少只鸭子 经过每个村子卖出多少只鸭子 代码 题目分析 设在经过n 个村子时有xn 只鸭子 根据题意可以得到
  • MATLAB算法实战应用案例精讲-【集成算法】集成学习模型Bagging(附Python和R语言代码)

    目录 前言 几个相关概念 几个高频面试题目
  • 阿里云-MaxComputer学习+踩坑 第001天

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 DataWorks是什么 二 MaxComputer是什么 1 产品介绍 2 表分区规范 3 官方分区文档 总结 前言 由于公司 一家蒸蒸日上的小跨境电商
  • [搬运]台湾大学机器学习课程 by 李宏毅

    最近看到一个比较好的机器学习课程 大致听了一遍 整体感觉机器学习领域还是比较难 虽然李宏毅老师讲得还是挺好的 没有足够基础吸收起来还是有一定困难 即便是已经把过程讲了一遍 也很难理解到那些理论是如何构建起来的 这个课程一个好是讲到了当前最热
  • 科目一考试系统服务器奔溃,科目一错误率最高的题 学员都崩溃了

    2017 02 28 09 07 59 做错这种基础题目的时候 与其有时间责怪出题人套路太深 不如反省一下自己为什么做题的时候没有多看选项一眼 在学习科目一的时候 很多学员都对科目一的题目感到头疼 有的是因为交通法规太难背 有的是对绕人的题
  • css video 样式,使用CSS修改 video 标签默认样式

    使用CSS修改 video 标签默认样式 时间 2019 11 08 17 42 14 来源 作者 效果展示 1 模拟直播 去除进度条 当前观看时间 剩余时间 效果 2 去除 video 标签全部控件 效果 Tags CSS 点击 评论 声
  • 10x倍加速PDE的AI求解:元自动解码器求解参数化偏微分方程

    研究背景 科学和工程中的许多应用需要求解具有不同方程系数 不同边界条件甚至不同求解域形状的偏微分方程 Partial Differential Equation PDE 即需要求解一个方程族而不是单个方程 这类应用经常在反问题求解 控制和优
  • 关于RxJava最友好的文章

    本篇文章已授权微信公众号 guolin blog 郭霖 独家发布 RxJava到底是什么 让我们直接跳过官方那种晦涩的追求精确的定义 其实初学RxJava只要把握两点 观察者模式和异步 就基本可以熟练使用RxJava了 异步在这里并不需要做
  • urllib.request.urlopen详解

    视频链接https www bilibili com video BV1Us41177P1 p 2 requests get详解见 https blog csdn net qq 41845823 article details 119516
  • 基于Multisim的四人抢答器设计与仿真

    功能 1 抢答器最多可供4名选手参赛 编号为1 4号 各队对应用一个按钮S1 S4中一个控制 并设置一个清零和抢答控制开关S5 该开关由主持人控制 2 抢答器具有锁存功能 直到主持人 清零 3 开关S作为清零及抢答控制开关 由主持人控制 当
  • 关于Navicat 报错1251连接不成功Mysql

    使用Navicat 连接数据库时候出现1251错误 解决方法 1 首先打开mysql exe 然后输入密码 mysql exe可以在安装的位置搜索一下 2 输入ALTER USER root localhost IDENTIFIED WIT
  • C#WinForm界面: 使用IrisSkin4实现美化换肤

    记录IrisSkin4应用过程 方便以后参考 步骤一 在网上下载IrisSkin4 dll和它的皮肤文件 步骤二 复制以下两个文件到winfrom项目的Debug文件夹下 步骤三 引用IrisSkin4 dll文件 步骤四 在工具箱空白处点
  • 数字图像处理(冈萨雷斯 第三版)

    1 1 图像与图像处理的概念 图像 Image 使用各种观测系统以不同形式和手段观测客观世界而获得的 可以直接或间接作用于人眼并进而产生视觉的实体 包括 各类图片 如普通照片 X光片 遥感图片 各类光学图像 如电影 电视画面 客观世界在人们

随机推荐

  • MySQL——索引详解

    目录 一 为什么要有索引 二 什么是索引 三 索引的原理 四 MySQL的存储引擎 五 索引的数据结构 六 聚簇和非聚簇索引 七 索引的设计原则 一 为什么要有索引 一般的应用系统 读写比例在10 1左右 而且插入操作和一般的更新操作很少出
  • 系统分析中的决策问题

    例如你设计一个图书馆系统支持用户预订被借出的书籍 有两个解决方案 一是 每一本书被归还时校验是否有人预订 如有预订则以某种方式如短信等通知预订客户 同时书籍做另类处理不会被流入馆内以节省时间 但是问题是预订的客户要来走一个预订的流程即管理员
  • 【B站】动态规划学习

    https www bilibili com video BV1ET4y1U7T6 p 6 spm id from pageDriver 暴力递归到动态规划 测试用例 include
  • 基于STM32F103C8T6的超声波模拟雷达设计。【C8T6最小系统板+标准固件库+1.8‘TFT-LCD屏】

    前言 之前为做毕设一直在网上浏览关于STM32单片机的DIY项目 大多数设计都是关于智能家居方面的应用 通过浏览不同平台的内容发现了一个采用超声波测距并通过屏幕反馈障碍物位置的模拟雷达设计 感觉很有创意 但网上关于此项目的内容大多都是采用a
  • 手撕 AVL 树——C++ 高阶数据结构详解

    目录 传统艺能 概念 AVL 树结构定义 数据插入 AVL 树旋转 左单旋 右单旋 左右双旋 右左双旋 验证 AVL 树 查找 删除 传统艺能 小编是双非本科大一菜鸟不赘述 欢迎各位指点江山 期待 QQ 1319365055 此前博客点我
  • 四、FTP服务

    四 FTP服务 FTP服务是Internet上最早应用于主机之间进行数据传输的基本服务之一 是目前Internet上使用最广泛的文件传送协议 FTP概述 ftp是典型的C S架构的应用层传输协议 需要由服务端软件 客户端软件两个部分共同实现
  • TCP是怎么处理长连接、短连接

    TCP 协议是一种面向连接的协议 即在通信双方之间建立连接后才能开始传输数据 TCP 协议通过三次握手建立连接 在连接建立后就可以保持长时间的连接 以实现长连接 在 TCP 协议中 数据被分成多个数据包进行传输 每个数据包都有序号和确认应答
  • mac idea spark运行报错WARN Utils: Service ‘sparkDriver‘ could not bind on port 0. Attempting port 1.

    报错截图如下 在hosts里加入 本机ip 机器名 如 192 168 22 22 centos7 解决 原因是sparkDriver会根据主机名去找地址 找不到就报错 增加环境变量即可 SPARK LOCAL IP 127 0 0 1 也
  • efficientdet在gpu训练好的模型无法再cpu上使用

    AssertionError The NVIDIA driver on your system is too old found version 9010 Please update your GPU driver by downloadi
  • hdu 1069 Monkey and Banana

    Problem acm hdu edu cn showproblem php pid 1069 Reference www cnblogs com kuangbin archive 2011 08 04 2127291 html 题意 给
  • Educational Codeforces Round 67 (Rated for Div. 2)

    contest链接 A Stickers and Toys time limit per test 2 seconds memory limit per test 256 megabytes input standard input out
  • Sonarlint问题汇总

    1 Fields in a Serializable class should either be transient or serializable 说明 类属性中存在不能被序列化的属性 一般是对象 如 public class Addr
  • eMMC RPMB分区介绍

    EMMC标准中 将内部的 Flash Memory 划分为 4 类区域 最多可以支持 8 个硬件分区 如下图所示 一般情况下 Boot Area Partitions 和 RPMB Partition 的容量大小通常都为 4MB 部分芯片厂
  • CentOS7.X修改网卡名称为eth*

    修改相关配置文件 vi etc default grub cd etc sysconfig network scripts sed i s ens32 eth0 g ifcfg ens32 sed i s ens33 eth1 g ifcf
  • 虚幻4(UE4) 读取XML文件方式

    虚幻4引擎 读取XML文件 1 导入XmlParser模块 2 1读取方式一 从根节点读 读XML文档 TSharedPtr
  • PHP生成带参数的小程序码

    生成小程序码并携带参数 我们平时在开发微信小程序时 会遇到如下场景 需要制作某个推广链接 然后需要生成一个专属小程序码 扫描这个专属二维码时 获取到推广的链接携带的参数跳转到指定的界面 这个看似很难 其实特别简单 阅读微信官方的接口就很容易
  • 使用JSON.parse()转化成json对象需要注意的地方

    相信大部分人都知道或者去百度检索都会得到将js中的字符串转化成json对象常见的3种方法 举例 var str name 小明 age 18 将字符串转化json对象 1 var json JSON parse str 2 var json
  • 一个完整的react router 4.0嵌套路由的例子如下

    react router 4 0以上的路由应用 在4 0以下的react router中 嵌套的路由可以放在一个router标签中 形式如下 嵌套的路由也直接放在一起
  • 可视化探索开源项目的 contributor 关系

    引语 作为国内外最大的代码托管平台 根据最新的 GitHub 数据 它拥有超 372 000 000 个仓库 其中有 28 000 000 是公开仓 分布式图数据库 NebulaGraph 便是其中之一 同其他开源项目一样 NebulaGr
  • python 函数、模块、包及import导入方法

    函数 将一组代码组织到一起 实现某种功能 模块 模块就好比工具包 里面的具体工具就好比函数 需要使用里面的函数 就需要导入这个模块 为实现某种逻辑将相关连的函数写在同一个文件里 使逻辑更清楚 这就是一个模块 在python中文件以 py 结