python模块详解及import本质(代码片段)

tianshug tianshug     2022-12-13     513

关键词:

同在当前目录下的模块和包导入

模块定义

  • 本质就是.py结尾的python文件. 用来从逻辑上组织python代码(变量,函数,类,逻辑)
  • 文件名: test.py;  对应的模块名 : test

 

模块导入方式

  • import module_name
    • 调用时需要加module_name. (有点类似java中的类名.调用)
  • import module1_name, module2_name
    • 调用时需要加module_name (有点类似java中的类名.调用)
  • from module_name import * 
    • 不建议用这种方法. 若导入的包中变量名或方法名与当前文件的变量名或方法名一样, 这样会有冲突. 当前文件中同名的方法会覆盖导入文件中的同名方法.
    • 调用时可以直接调用变量名或方法名, 不需要加module_name. (有点像java中调用同一个类中的方法, 直接用就行, 不用加类名.)
  • from module_name import logger as logger_alex (导入和当前文件中方法同名的方法时可以起个别名logger_alex,以避免和当前文件中的方法冲突)
    • 调用时可以直接调用变量名或方法名, 不需要加module_name. (有点像java中调用同一个类中的方法, 直接用就行, 不用加类名.)

 

导入模块本质

  • 导入模块的本质就是把python文件解释一遍

例: 

module_alex

技术图片
1 name=‘alex‘
2 def say_hello():
3     print(‘hello alex‘)
4 
5 
6 def logger():
7     print(‘logger‘)
技术图片
技术图片
 1 # 导入方法1, 导入指定变量名或方法
 2 import module_alex
 3 
 4 print(module_alex.name)
 5 module_alex.say_hello()
 6 
 7 
 8 
 9 # 导入方法2, 导入某个文件全部 (相当于把导入文件的代码加到当前文件中, 所以调用其方法不需要再加文件名,可直接调用)
10 from module_alex import *
11 logger()  # 若当前文件中也有一个方法名叫logger(), 这样会有冲突. 当前文件的logger()会覆盖导入文件中的logger()方法
技术图片

 

包定义

  • 本质就是一个目录(必须有一个__init__.py文件)
  • 用来从逻辑上组织模块

包导入方式

  • import package_name
  • 包导入的本质
    • 导入包的本质就是执行该包下的__init__.py文件4
  • 若包下面除了__init__.py还有其它文件, 想要调用这些文件, 直接 package_name.test1是不行的, 因为导入包的本质是执行下面的__init__.py文件.
    • 这种情况下, 需要在__init__.py文件中导入该package_name下的其它文件
    • 也可以在__init__.py文件中用from.import test1 (代表从当前目录下导入test1)的方法导入同一目录下的另一个python文件test1.
    • 技术图片

python基础学习第九节import用法详解(代码片段)

Python基础学习之import用法1.直接引入模块;import模块名;import模块名,这时python可以引入以下两种模块;举例如下:我们安装好的模块;(其实就是在环境变量路径下的模块;)运行文件所在目录下的文件;(这里我们推荐用from... 查看详情

import详解(代码片段)

...导入某一个目录下的模块文件,那这个时候怎么样才能让Python解释器能够找到该模块进行调用呢?-将这个模块拷贝一份到当前使用目录下。这种方式让模块太冗余-将这个模块所在路径直接告诉Python解释器,让Python解释器能够搜索... 查看详情

importlib模块与__import__详解(代码片段)

...=importlib.import_module(mName)module.getName()testimportlib.pyimportlib是python的一个标准库,通过导入importlib,调用import_module()方法,传入用户想要获取的模块对应的路径字符串,即可获取一个模块module,module可以调用这个test模块下的所有属... 查看详情

包的详解(代码片段)

包  在python中,包是一种管理模块的组织方式。凡是无论在import和from...import中遇到".模块名"的形式,这种带点的就是导入包的才有的导入语法。  含有一个__init__.py文件的文件夹,就是一个包。导入包的本质其实就是导入__i... 查看详情

python中标准模块importlib详解(代码片段)

Python中标准模块importlib详解模块简介Python提供了importlib包作为标准库的一部分。目的就是提供Python中import语句的实现(以及__import__函数)。另外,importlib允许程序员创建他们自定义的对象,可用于引入过程(也称为importer)。什... 查看详情

python模块导入详解(代码片段)

本文不讨论Python的导入机制(底层实现细节),仅讨论模块与包,以及导入语句相关的概念。通常,导入模块都是使用如下语句:import...import...as...from...import...from...import...as... 一般情况下,使用以上语句导入模块已经够用的... 查看详情

python中的模块与包(代码片段)

目录1模块1.1.导入模块1.1.1导入模块的方式1.1.2导入方式详解1.1.2.1import1.1.2.2from..import..1.1.2.3from..import*1.1.2.4as定义别名1.2.制作模块1.2.1定义模块1.2.2测试模块1.2.3调用模块1.2.4注意事项1.3.模块定位顺序1.4.`__all__`2包2.1制作包2.1.... 查看详情

python3中正则模块re.compilere.match及re.search函数用法详解(代码片段)

Python3中正则模块re.compile、re.match及re.search函数用法re模块re.compile、re.match、re.search正则匹配的时候,第一个字符是r,表示rawstring原生字符,意在声明字符串中间的特殊字符不用转义。比如表示‘\n‘,可以写r‘\n‘,或者不... 查看详情

python标准库datetime之date模块详解(代码片段)

Python标准库datetime之date模块详解datetime是Python提供的操作日期和时间的标准库,主要有datetime.date模块、datetime.time模块及datetime.datetime模块。其中date模块提供了日期操作相关的方法;time模块提供了时间操作相关的方法;datetime提... 查看详情

python包与模块(代码片段)

Python基础-包与模块摘要为重用以及更好的维护代码,Python使用了模块与包;一个Python文件就是一个模块,包是组织模块的特殊目录(包含__init__.py文件)。模块搜索路径,Python解释器在特定的目录中搜索模块,运行时sys.path即搜索... 查看详情

python概述习题(代码片段)

一、填空题1.Python是面向___对象的高级语言。2.Python可以在多种平台运行,这体现了Python语言_可移植性的特性。3.Python模块的本质是.py文件。4.使用import关键字可以在当前程序中导入模块。5.使用form模块名import___语句可以将指... 查看详情

python-包-65(代码片段)

包包是一种通过使用‘.模块名’来组织python模块名称空间的方式。1.无论是import形式还是from...import形式,凡是在导入语句中(而不是在使用时)遇到带点的,都要第一时间提高警觉:这是关于包才有的导入语法2.包是目... 查看详情

5-4模块和包(代码片段)

1,模块模块的本质就是py文件,一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。2,import语句引入的模块必须满足两个条件1.模块名必须满足变量名的规范2.被导入的模块所在的位置必须在sys.... 查看详情

走进自动化运维之ansible服务部署,附带(参数及模块)详解!(代码片段)

...简单的自动化运维管理工具,不需要配置代理工具,基于Python研发。Ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。自动化运维工具“三剑客”:工具开... 查看详情

python--模块与包(代码片段)

...rt *import模块名 as别名from模块名import功能名as别名#Python中的模块就是可以将别人写好的,或者自己以前写好的功能直接导入新的文件或工程内,导入后可以直接调用例如:randomtimeos​#我们没有实现模块中的功能,但是 查看详情

常用模块(代码片段)

模块module:定义:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的Python文件(文件名:test.py 对应的模块名:test)导入方法:(必须是同级目录)1.importmodule_alexprint(module_alex.name)module_ale... 查看详情

java中jdbc的本质及使用详解(妹子看了都说好!!!)(代码片段)

文章目录前言一、JDBC概述二、JDBC本质三、关于JDBC与数据库驱动的关系,请参见下图:四、关于JDBC编程六步概述1.图解2.概述五、JDBC编程六步(代码演示)1.需要处理查询结果集的JDBC实例(执行的sql语句是为... 查看详情

常用模块

一、定义  模块定义:用来从逻辑上组织python代码(变量、函数、类、逻辑:实现一个功能),本质上就是以.py结尾的python文件。  包定义:用来从逻辑上组织模块(模块在包里),本质就是一个目录(必须带有一个__init__.... 查看详情