Python进阶(八)----模块,import , from import 和 `__name__`的使用
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__`的使用的更多相关文章
- Python进阶----pymysql模块的使用,单表查询
Python进阶----pymysql模块的使用,单表查询 一丶使用pymysql 1.下载pymysql包: pip3 install pymysql 2.编写代码 ...
- Python进阶之模块
在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很 ...
- Python进阶--常用模块
一.模块.包 什么是模块? 模块实质上就是一个python文件,它是用来组织代码的,意思就是说把python代码写到里面,文件名就是模块的名称,test.py test就是模块名称. 什么是包? 包, ...
- Python进阶之模块与包
模块 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB","S ...
- Python基础(八) 模块的引入与定义
模块定义 什么是模块:一个py文件就是一个模块 模块分为三类: 内置模块,(标准库):.python解释器自带的,time,os,sys,等等.200多种. 自定义模块:自己写的模块 第三方库(模块) ...
- Python 进阶_模块 & 包
目录 目录 模块的搜索路径和路径搜索 搜索路径 命名空间和变量作用域的比较 变量名的查找覆盖 导入模块 import 语句 from-import 语句 扩展的 import 语句 as 自动载入模块 ...
- Python进阶03 模块
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们之前看到了函数和对象.从本质上来说,它们都是为了更好的组织已经有的程序,以方便 ...
- python进阶----logging模块
在工作中经常要打印一些日志,下面介绍一下python中的logging模块 首先,先了解一下日志的级别,主要分为以下5种: debug 最低级别,一般开发用来打印一些调试信息 info ...
- python进阶八_警告和异常
心情有点纠结,怎么说呢,倒不是由于其它学习上的事情,反而是由于生活上狗血的剧情逼着人偏离,渐行渐远,人跟人之间有误会也是正常的,可能是由于交流不够,彼此不够了解吧,希望能尽快度过这一段纠结的日子,简单 ...
随机推荐
- 【深入学习linux】在linux系统下怎么编写c语言程序并运行
1. 首先安装下 gcc : centos yum -y gcc 2. 编写c程序保存hello.c: #include <stdio.h> #include <stdlib.h&g ...
- 【maven】命令
一.maven打包命令 mvn打包,并指定 Profiles配置文件 和 模块名 mvn clean package {-P prod} -pl {groupId}:{artifactId} -am ...
- [转]怎样与 CORS 和 cookie 打交道
原文地址:https://segmentfault.com/a/1190000018756960 前言 CORS 与 cookie 在前端是个非常重要的问题,不过在大多数情况下,因为前后端的 doma ...
- cookie 设置报错 setcookie() expects parameter 3 to be integer, float given in...
使用 setcookie 函数设置 cookie 报错,报错信息为: setcookie() expects parameter to be integer, float given in... 错误 ...
- mp4文件转码为m3u8
https://bbs.csdn.net/topics/392046401 *********************************************** 转码完成,我直接播放m3u8 ...
- Spark SQL里concat_ws和collect_set的作用
concat_ws: 用指定的字符连接字符串 例如: 连接字符串: concat_ws("_", field1, field2),输出结果将会是:“field1_field2”. ...
- 转 zabbix 自动发现和 zabbix自定义用户key与参数User parameters
########31 https://www.cnblogs.com/yjt1993/p/10883345.html 1.概念 在配置Iterms的过程中,有时候需要对类似的Iterms进行添加,这些 ...
- PMP 第5章错题总结
1.工作分解结构是项目团队与相关方之间沟通的有效工具之一2.控制账户是工作分解结构某个层次上的要素,以便与工作包一一对应3.项目范围说明书包括产品范围.产品验收标准.项目可交付成果.项目除外责任,以及 ...
- Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) 解决办法
1:我遇到的问题: 在开机运行apt install vim 命令的时候,如下报错: 2:参考博客: 在Ubuntu中,有时候运用sudo apt-get install 安装软件时,会出现一下的情 ...
- LODOP表格水平居中3(宽度为百分比)
如果一个表格在css样式等中设置了固定的宽度,想要实现表格在纸张中水平居中,可根据固定的宽度设置合适的左边距,如果打印项内容在打印项宽度中居中,可以设置打印项在纸张中居中.方法1:宽度固定,纸张大小固 ...