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. INDY10 BASE64编码

    INDY10 BASE64编码 DELPHI自带的BASE64单元,在项目中使用发现非常没有效率,INDY10的好用. uses IdCoderMIME BASE64编码类:TIdEncoderMIM ...

  2. IIS 7中添加匿名访问FTP站点

    1. 开启FTP和IIS服务: 2.打开IIS 管理器: 我电脑上是IIS 7.5 ,所以选择第一个并点击打开哦. 如果你想知道自己IIS的版本,打开帮助菜单: 3. 新建FTP站点: 4. 填写站点 ...

  3. android 8.1 wifi提示"已连接 但无法访问互联网"的解决办法

    主要是GFW的问题 adb shell以下命令解决 settings put settings put settings put settings put global captive_portal_ ...

  4. C++ Map运用实例

    C++ Map运用实例 #include <map> #include <string> #include <iostream> #include <ioma ...

  5. 关于Flink slot 和kafka topic 分区关系的说明

    今天又有小伙伴在群里问 slot 和 kafka topic 分区(以下topic,默认为 kafka 的 topic )的关系,大概回答了一下,这里整理一份 首先必须明确的是,Flink Task ...

  6. Maya+VS编程入门初体验(HelloWorld)

    Maya2018 + VS2017 环境搭建见 博客 1. 项目: VS 新建了一个 MEL Command类型的项目(MayaProject) 2. HelloWorld代码 #include< ...

  7. 【loj6538】烷基计数 加强版 加强版 Burnside引理+多项式牛顿迭代

    别问我为啥突然刷了道OI题,也别问我为啥花括号不换行了... 题目描述 求含 $n$ 个碳原子的本质不同的烷基数目模 $998244353$ 的结果.$1\le n\le 10^5$ . 题解 Bur ...

  8. javascript中 for in 、for 、forEach 、for of 、Object.keys().

    一 .for ..in 循环 使用for..in循环时,返回的是所有能够通过对象访问的.可枚举的属性,既包括存在于实例中的属性,也包括存在于原型中的实例.这里需要注意的是使用for-in返回的属性因各 ...

  9. 【转帖】为什么有了Compose和Swarm,还会有Kubernetes的出现?

    为什么有了Compose和Swarm,还会有Kubernetes的出现? https://www.cnblogs.com/chenqionghe/p/11474486.html 图非常好 一.k8s设 ...

  10. Jenkins+gitlab+msbuild

    配置gitlab 这里会生成一个token在页面上方,一定要复制出来.存在别的地方. jenkins配置gitlab 在jenkins服务器上安装vs,目的是使用它的msbuild,如果项目中还用到了 ...