广告
返回顶部
首页 > 资讯 > 后端开发 > Python >关于python中模块和重载的问题
  • 678
分享到

关于python中模块和重载的问题

2024-04-02 19:04:59 678人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录模块和重载模块与命名空间模块和重载 简单来讲,任意一个以.py结尾的python文件都是一个模块。例如有A.py和B.py两个文件。在A中可以通过导入B来读取B模块定义的内容,导

模块和重载

简单来讲,任意一个以.py结尾的python文件都是一个模块。例如有A.py和B.py两个文件。在A中可以通过导入B来读取B模块定义的内容,导入操作本质上就是载入另一个文件。
基于模块的模型是python程序架构背后的核心思想。

一个大型Python程序往往以多个模块文件的形式出现,并且从其它模块导入工具。但是通常会指定一个模块文件作为主文件(也叫顶层文件),该文件启动之后,就会运行整个程序。除了顶层文件之外的其他文件都是导入模块。

导入操作将会导致模块中的代码被运行,因此导入文件也是一种运行python文件的方法。 模块文件只有第一次被导入的时候会被执行,之后就不会被执行。如下图所示:

在这里插入图片描述

如果你想在同一个python会话中,多次运行模块文件,你需要调用importlib模块的reload方法(reload方法在python2中是内置方法,在python3中需要从importlib模块中导入)。如下图所示:

在这里插入图片描述

reload函数载入并运行了代码,如果你对reload载入的代码做过修改,那么下一次reload将会载入修改过的代码。如下图所示:

在这里插入图片描述

注意,reload函数使用的前提是之前import过该模块,否则会报错。
因为reload希望获得的参数是一个已经被导入过的模块名称。
reload函数是不传递的,也就是说你重载了A文件,A文件中导入的模块不会被重载。

在这里插入图片描述

导入和重载提供了一种自然的程序启动选项。模块其实起到了一个命名空间的作用。而模块中的变量就是属性。

导入模块可以使用import也可以使用from。它们之间是有一定的差别的,from是复制了模块的属性,使得属性成为该文件的直接变量。这时候你就能直接使用该属性。例如:

在这里插入图片描述

使用load模块的属性a,需要使用object.attributu的方式来使用。而b是通过from方法导入的,则不需要,因为from将b复制到了该文件中,而不是依旧存在于load这个命名空间。

无论是import还是from导入文件,都不需要加python文件扩展名.py,如果你一不小心加上了,那么会报错。

模块与命名空间

每个模块都是自包含的命名空间,一个模块文件无法获得另一个模块文件中的变量,除非它显示的导入那个文件。每一个模块都是一个独立的命名空间。

到此这篇关于关于python中模块和重载的问题的文章就介绍到这了,更多相关python 模块和重载内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 关于python中模块和重载的问题

本文链接: https://www.lsjlt.com/news/156137.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 关于python中模块和重载的问题
    目录模块和重载模块与命名空间模块和重载 简单来讲,任意一个以.py结尾的python文件都是一个模块。例如有A.py和B.py两个文件。在A中可以通过导入B来读取B模块定义的内容,导...
    99+
    2022-11-12
  • 关于python中pika模块的问题
    工作中经常用到rabbitmq,而用的语言主要是python,所以也就经常会用到python中的pika模块,但是这个模块的使用,也给我带了很多问题,这里整理一下关于这个模块我在使用过程的改变历程已经中间碰到一些问题 的解决方法 刚开写代...
    99+
    2023-01-30
    模块 python pika
  • 关于python 缺少dbm模块问题
    今天在 CentOS 5.6  64位的机器上配置Func被控端时,在安装设置完 Func 及 Certmaster 后,启动 Funcd 提示如下错误 [root@certmaster ~]#service funcd start  St...
    99+
    2023-01-31
    模块 python dbm
  • 关于rust的模块引入问题
    目录Rust语言的特点Rust的应用worker.rs文件,简单看一下student.rs看一下teacher.rs看一下第一部分是一个绝对路径的引入第二部分是相对路径的引入第三部分...
    99+
    2022-11-13
  • 关于模块EXPORT_SYMBOL()变量的问题
    EXPORT_SYMBOL()是Linux内核中的一个宏,用于将一个变量或函数导出为一个可供其他模块访问的符号。在模块化的内核中,模...
    99+
    2023-08-08
    EXPORT_SYMBOL()
  • 关于Mybatis的mapper接口函数重载问题
    目录Mybatis的接口函数能不能进行重载?语法层面Mybatis框架方面测试MyBatis实现方法重载的小技巧QuestionMapper.javaQuestionMapper.x...
    99+
    2022-11-13
  • 面试中如何回答关于Python和Django的负载问题?
    在Python和Django的面试中,面试官通常会问到关于负载的问题。这些问题涉及到如何处理大量请求和如何减少服务器的负担。在这篇文章中,我将向您介绍如何回答这些问题以及如何使用Python和Django来处理负载。 什么是负载? 在...
    99+
    2023-08-15
    django load 面试
  • python中有哪些模块重载的方法
    本篇文章为大家展示了python中有哪些模块重载的方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrapy;3.pil...
    99+
    2023-06-14
  • 关于python中.xpath的使用问题
    在python中使用xpath定位时,有时候会先用.xpath定位到一个地点,for循环后,继续使用.xpath,但是会出现问题,比如在下面这个例子中:    根...
    99+
    2022-11-12
  • 关于python中range()的参数问题
    目录range()的参数问题当参数只有一个时range(n)当参数有两个时range(x,y)当参数有三个时range(i,j,k)range(1,2)函数只有两个参数时语法rang...
    99+
    2022-11-11
  • 关于Python中zipfile压缩包模块的使用
    目录简介解压文件是否ZIP文件读取元数据从其他数据源压缩文件写入ZipInfo追加文件创建包含Python库的ZIP简介 ZIP 文件格式是一个常用的归档与压缩标准,zipfile&...
    99+
    2023-05-15
    Python zipfile Python 压缩包模块 zipfile压缩包模块
  • Vue3中关于ref和reactive的问题
    目录关于ref和reactive的问题简单了解 ref & reactivevue3 ref 和reactive的区别总结关于ref和reactive的问题 如果你使用过 V...
    99+
    2023-05-16
    Vue3中ref Vue3中reactive 关于ref和reactive
  • 关于jupyter lab安装及导入tensorflow找不到模块的问题
    今天尝试了一下据说最好用的编译器Jupyter Lab,安装期间遇到了很多问题,以此为记录。 1.安装jupyter lab jupyter lab的安装总体来说还是简单: 在...
    99+
    2022-11-11
  • 关于Python中模块的简介、定义与使用
    目录前言:1.什么是模块2.模块的分类3.模块的使用4.自定义模块5.模块和执行文件的判断前言: 今天就开始讲Python中的模块篇了,模块是Python的重要组成部分,Python...
    99+
    2023-05-16
    Python模块定义 Python模块使用
  • 关于Qt6中QtMultimedia多媒体模块的重大改变分析
    目录一、前言二、目标Qt 5 中的 Qt 多媒体有一个相当松散定义的范围三、内部架构变化Qt 5 中的 Qt 多媒体具有复杂的基于插件的架构四、支持的后端在 Qt 6 中,我们还重新...
    99+
    2022-11-12
  • 关于Pytorch中模型的保存与迁移问题
    目录1 引言2 模型的保存与复用2.1 查看网络模型参数2.2 载入模型进行推断2.3 载入模型进行训练2.4 载入模型进行迁移3 总结1 引言 各位朋友大家好,欢迎来到月来客栈。今...
    99+
    2022-11-12
  • Python中MySQLdb和torndb模块对MySQL的断连问题处理
    在使用python 对wordpress tag 进行细化代码处理时,遇到了调用MySQLdb模块时的出错,由于错误提示和问题原因相差甚远,查看了N久代码也未发现代码有问题。后来问了下师傅,被告知MySQL...
    99+
    2022-06-04
    模块 MySQLdb Python
  • 关于pytest结合csv模块实现csv格式的数据驱动问题
    目录一、什么是数据驱动测试二、csv文件承载数据三、csv数据驱动示例一、什么是数据驱动测试 DDT:data drive test准备一组数据,通过写一个测试用例,不同的数据进行迭...
    99+
    2022-11-11
  • Python解决了npm和git模块的加载难题吗?
    Python是一种非常受欢迎的编程语言,它在开发web应用程序和数据分析方面非常有用。在Python的生态系统中,有许多强大的库和模块可以让开发者更加高效地完成项目。然而,与其他编程语言相比,Python在管理和加载模块方面存在一些问题。在...
    99+
    2023-07-24
    load npm git
  • 关于Python dict存中文字符dumps()的问题
    Background 之前数据库只区分了Android,IOS两个平台,游戏上线后现在PM想要区分国服,海外服,港台服。这几个字段从前端那里的接口获得,code过程中发现无论如何把中...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作