Python——模块和包
一、概念
"""
模块():
一个python文件,以 .py 结尾,包含python对象定义和语句。
模块可以定义函数、类、变量,也可包含可执行文件 导入模块:
1.import 模块名
2.from 模块名 import 功能名
"""
二、具体知识点
2.1定义别名
import 模块名 as 别名
from 模块名 import 功能名 as 别名
使用别名后,原来的名字被替代
def t4():
"""定义别名
import 模块名 as 别名
from 模块名 import 功能名 as 别名
"""
import time as tt
tt.sleep(2)
# time.sleep(2) # 使用别名后,原来的名字被替代
# NameError: name 'time' is not defined
print('hello') # from time import sleep as s1
# s1(2)
# print('hello')
2.2重名的严重性
"""
导入一个模块,Python解释器对模块位置搜索顺序: 由进及远
.当前目录
.搜shell变量PYTHONPATH下的目录
.查看默认路径,UNIX下,默认一般为/user/local/lib/python
注意:
.自定义模块不与已有模块名重名,若重复,则无法使用;
.若自定义于导入的功能重名,则调用后写的功能
"""
# import random
# num = random.randint(, )
# print(num) # from time import sleep # def sleep():
# print('') # sleep() """
扩展:重名的严重性
Python,引用传递数据
.命名后者会覆盖前者,和模块重名的变量会覆盖功能
"""
import time
print(time) # <module 'time' (built-in)>
# time =
# print(time) #
2.3__all__列表
import math __all__ = ['t_1']
# 若有其他文件调用本文件,则只导入t_1() def t_1(a, b):
print(math.fabs(a+b)) def t_2(a, b):
print(a * b) # print(__name__) # __main__
if __name__ == '__main__':
"""
测试信息
__name__:系统变量,模块标识符,
值,需根据使用位置来确定
在自身文件中:__main__
在其他文件中:模块名字
main:
"""
t_1(1, 2)
t_2(2, 3)
2.4制作包
"""
包:有联系的模块组织在一起,放到同一个文件夹,
并自动创建一个__init__.py文件
制作包:new ——> 包名 ——> Enter ——> 制作模块
导入包:
1.import 包名
2.from 包名 import *
"""
import my_module1 def t1():
import mypakage.my_module1
mypakage.my_module1.info_print() def t2():
"""
必须先在 __init__.py 文件中添加 __all__ = []
控制允许导入的模块
原因:不同模块内可能有相同名字的功能
"""
pass from mypakage import *
my_module1.info_print() # if __name__ == '__main__':
# # t1()
# t2()
三、总结
模块是.py文件,包是包含.py文件的文件夹。
Python——模块和包的更多相关文章
- Python/模块与包之模块
Python/模块与包之模块 1.什么是模块? 模块就是py文件 2.为什么要用模块? 如果在解释器上进行编码,把解释器关闭之前写的文件就不存在了,如果使用模块的话就能永久保存在磁盘中. 3.如何使用 ...
- Python模块、包、异常、文件(案例)
Python模块.包.异常.文件(案例) python.py #模块 # Python中的模块(Module),是一个Python文件,以.py文件结尾,包含了Python对象定义和Python语句, ...
- 【Python】解析Python模块与包
模块 模块是非常简单的Python文件,单个Python文件就是一个模块,两个文件就是两个模块. import语句是用来导入模块或者从模块里导入特定的类或者函数.如前面我们用过的math模块,从而可以 ...
- python 模块和包深度学习理解
python 模块和包 简单说相当于命名空间 1,python 模块 python模块就是一个文件,里面有函数,变量等 import 模块 模块.方法 from 模块 import fu ...
- (三)运用Python模块和包
1 引言 为了能够在Python项目中高效地运用Python模块和包,我们需要进一步地来了解它们是如何在Python项目中进行定义.使用和工作的. 2 Python模块和包 Python模块和包的基本 ...
- Python模块04/包/logging日志
Python模块04/包/logging日志 目录 Python模块04/包/logging日志 内容大纲 1.包 2.logging日志 3.今日总结 内容大纲 1.包 2.logging日志 1. ...
- Python模块和包
模块和包是python组织代码的基本方式. 模块: python的每一个脚本文件都可称之为模块,模块的名称就是脚本的文件名.例如当我们写了一个test.py的脚本文件,则可以在同目录下的另外一个脚本m ...
- python模块与包的导入
1. 模块与包的区别 模块,即module,一个包含python语句的.py文件就是一个模块!每个源代码文件都会自动成为模块!没有额外的语法用来声明模块. 包,又称模块包,即module packag ...
- python模块及包的导入
一.模块 通常模块为一个文件,直接使用import来导入就好了.可以作为module的文件类型有".py".".pyo".".pyc".&q ...
- 简述Python模块和包
我们常常会使用别人写的包,假如我们使用的是Python3.4版本,安装在windows的C盘根目录下,那么外部的包一般放在:C:\Python34\Lib\sit-packages下,此目录下有以.p ...
随机推荐
- selenium,CSS定位法应用
如图,下载按钮 查看其元素,是无法直接定位的,通过xpath也无法定位,转为firepath获取的CSS也是无效的#downloadItems>a 但是为经过firepath,直接在html下复 ...
- Linux环境下的network IO
同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的.所以先限定一下本文的上下文. 本文讨论的背景是Linux环境下的network IO. ...
- Redhat6.7 切换Centos yum源
转自:http://inlhx.iteye.com/blog/2336729 RedHat 更换Yum源 1.检查yum包 rpm -qa |grep yum 2.删除自带包 rpm -aq | gr ...
- STM32 调试 24L01 心得
大部分使用STM32开发nrf24L01的用户基本都是照搬常见的几个开发板的源代码,在这里我做一些总结: 1.源代码中在while(1)的循环中有 NRF24L01_TX_Mode();或NRF24L ...
- Dockers 部署 MongoDB + mongo-express
1. 拉取 Mongo 镜像 docker pull mongo: 2. 运行镜像 docker run -d --name mongodb --volume /usr/local/mongodat ...
- 谈下程序设计算法的准备心得与体会-nCov隔离也许帮你提升能力
最近武汉的n-Cov使得大家只能在家办公了. 在家里的感受是什么样的呢? 1.上班的时候一直在奔跑,现在总算可以有集中的时间来思考一些之前一直没能好好整理的内容 2.时间变得自己可以掌控,优先级有自己 ...
- IntelliJ IDEA 2020 的Debug功能也太好用了,真香!
写在前边 作为一个有点强迫症的程序员来说,所有的应用软件.开发工具都必须要升级到最高版本,否则就会很难受到坐立不安.日思夜想.茶饭不思.至于什么时候得的这种病我也记不清了,哈哈哈 IntelliJ I ...
- sougn开源,自己写的一个项目
源代码:http://yun.baidu.com/share/link?shareid=1504480803&uk=2739888323 联系方式:1034465036@qq.com
- 刚安装了ftp之后无法使用root访问,服务器发回了不可路由的地址。使用服务器地址代替。
真的艰辛,用了整整一个下午加晚上,才把服务器搭建好,中间真的好多坑... 错误1: vsftpd正确配置: vsftpd.conf: pam_service_name=vsftpduserlist_e ...
- layui表格增删改查与上传图片+Api
API 控制器1 主要用于增删改查已经反填数据查询 using System; using System.Collections.Generic; using System.Data.SqlClie ...