Python进阶(八)----模块,import , from import 和 __name__的使用

一丶模块的初识

#### 什么是模块:
# 模块就是一个py文件(这个模块存放很多相似的功能,函数的集合体) ### 模块的分类:
# 内置模块: 标准库 ,python解释器自带的 ,200多种
# 第三方库: 通过pip install 安装第三方库 6000个
# 自己写的模块: 自己编写的特定功能的py文件 #### 自定义模块:
# 只是第一次引用时, 将此模块加载到内存,
# 执行文件: 被引用文件

二丶模块的导入 import

 ### 语法 : import 模块名		 , 只加载一次(导入就不会再次加载)
### 调用格式 : 模块名 . XX功能 ### 引用模块发送三件事:
#1. 把要引入模块加载到内存
#2. 在内存中创建一个以引入模块命名的名称空间
#3. 通过引入模块的名字,以.的方式引入此模块的(变量,函数,类名) ###注意:
# 通过import引入的模块,引入模块中的变量不会受到,当前模块相同名字的变量的影响
# 通过import 引入的模块, 他有自己的独立空间,与当前执行的文件没有关系. ### 起别名: import ...模块 as ...缩写名
# 将一个名字较长的模块名 简化成一个 简单名字
import tbjx as k
print(k.name) ### 同时调用多个模块 ,以,号分隔 (不建议使用, 会使代码清晰,不易维护)
import 模块1, 模块2 ,模块3

三丶from import

### 语法格式: from  xxx模块  import 变量  , 只加载一次
from tbjx import func1 print(globals()) # 查看当前文件中的变量, 把需要用的具体变量,从引入模块拷贝一份. ### 特点:
# 优点: 使用起来方便 (更容易快速找到指定的要使用的 功能 )
# 缺点: 容易与当前执行文件产生覆盖效果(如果当前执行的文件中具有和导入的模块 相同名字的变量就会被覆盖.谁先加载,谁先被覆盖) ### 注意: (极端情况,一般没人这么折腾自己)
# 需求: 在引入一个模块的之后,去执行这个模块的中修改模块的某个变量的值. 不会对当前执行文件造成影响. # 当前执行文件使用的是模块中同一个函数.(只有模块中的变量会被拷贝当前执行文件, 模块中的函数不会被拷贝)
# 引用模块中的函数,如果此模块用到一些变量,这些变量还是从此模块中寻找,不会改变当前执行文件的变量 ### 起别名
from tbjx import name as n ##多个导入:
from tbjx import name as n
from tbjx import read1 as r ### * (尽量别用)
from xxx模块 import * # 全部复制(模块中所有的都被全部加载到内存中), 效率低, 容易覆盖
# from .. import * 与__all__配合使用
# 在引入模块的文件中,创建一个列表 __all__=[变量1,变量2,函数名1,函数名2] 一般写在引入模块最上面 #####推荐:
# 当前执行的文件中 ,不要出现 与 引入模块相同的名字的变量.

四丶模块路径 和 "__name__"的使用

### __name__ 的使用 ,判断当前文件是可执行的脚本,还是模块
# 1. py文件的第一个功能: 执行文件(承载代码)脚本(主动) ,直接打印(__name___)得到__main__
# 2. py文件的第二个功能: 模块(被执行) 直接打印(__name___)得到 模块名 # 补充:
#1.使用pycharm是,点击run 一个.py的文件,(文件包括

Python进阶(八)----模块,import , from import 和 `__name__`的使用的更多相关文章

  1. Python进阶----pymysql模块的使用,单表查询

    Python进阶----pymysql模块的使用,单表查询 一丶使用pymysql ​   ​   1.下载pymysql包: pip3 install pymysql ​​   ​   2.编写代码 ...

  2. Python进阶之模块

    在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很 ...

  3. Python进阶--常用模块

    一.模块.包 什么是模块? 模块实质上就是一个python文件,它是用来组织代码的,意思就是说把python代码写到里面,文件名就是模块的名称,test.py test就是模块名称. 什么是包? 包, ...

  4. Python进阶之模块与包

    模块 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB","S ...

  5. Python基础(八) 模块的引入与定义

    模块定义 什么是模块:一个py文件就是一个模块 模块分为三类: 内置模块,(标准库):.python解释器自带的,time,os,sys,等等.200多种. 自定义模块:自己写的模块 第三方库(模块) ...

  6. Python 进阶_模块 & 包

    目录 目录 模块的搜索路径和路径搜索 搜索路径 命名空间和变量作用域的比较 变量名的查找覆盖 导入模块 import 语句 from-import 语句 扩展的 import 语句 as 自动载入模块 ...

  7. Python进阶03 模块

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们之前看到了函数和对象.从本质上来说,它们都是为了更好的组织已经有的程序,以方便 ...

  8. python进阶----logging模块

    在工作中经常要打印一些日志,下面介绍一下python中的logging模块 首先,先了解一下日志的级别,主要分为以下5种: debug      最低级别,一般开发用来打印一些调试信息 info    ...

  9. python进阶八_警告和异常

    心情有点纠结,怎么说呢,倒不是由于其它学习上的事情,反而是由于生活上狗血的剧情逼着人偏离,渐行渐远,人跟人之间有误会也是正常的,可能是由于交流不够,彼此不够了解吧,希望能尽快度过这一段纠结的日子,简单 ...

随机推荐

  1. NIO网络访问模式实践

    1.创建NioNest12类 一个线程监听5个端口的事件 public class NioTest12 { public static void main(String[] args) throws ...

  2. Multihypothesis Trajectory Analysis for Robust Visual Tracking

    Multihypothesis Trajectory Analysis for Robust Visual Tracking 2019-10-27 14:33:49 Paper: https://ww ...

  3. 行车记录仪 MyCar Recorder (转)

    行车记录仪 MyCar Recorder

  4. Logstash配置以服务方式运行

    Logstash官网最新版下载地址以及YUM源:https://www.elastic.co/cn/downloads/logstash Logstash最常见的运行方式即命令行运行 ./bin/lo ...

  5. mysql插入报错:java.sql.SQLException: Incorrect string value: '\xE6\x9D\xAD\xE5\xB7\x9E...' for column 'address' at row 1

    界面报错: 日志报错: java.sql.SQLException: Incorrect at com.mysql.cj.jdbc.exceptions.SQLError.createSQLExcep ...

  6. Nginx学习之入门

    1. 概念   (1) 什么是nginx?    Nginx (engine x) 是一款轻量级的Web 服务器 .反向代理服务器及电子邮件(IMAP/POP3)代理服务器.   (2) 什么是反向代 ...

  7. All LeetCode Questions List 题目汇总

    All LeetCode Questions List(Part of Answers, still updating) 题目汇总及部分答案(持续更新中) Leetcode problems clas ...

  8. WEBSHELL-恶意代码检测

    静态查杀 提取特征写成规则库,调用规则库查杀.基于规则,会比较快,但漏报.误报会比较明显,一般的Webshell一句话木马变形混淆会比较多. yara规则 $eval = /(<\?php|[; ...

  9. typescript导入图片报找不到模块的错误

    https://www.cnblogs.com/chen-cong/p/10445635.html images.d.ts: declare module '*.svg' declare module ...

  10. AIX日志相关的命令

    常用的命令有: 1.列出简短的出错信息 errpt | more 2.列出所有硬件出错信息 errpt -d H 3.列出所有软件错误信息 errpt -d S 4.列出详细的出错信息 errpt – ...