python中模块导入模式详解
作者:Java学术趴 发布时间:2022-04-03 08:54:29
模块导入
1.1 import导入模块
所谓的模块其实就是一个外部的工具包,其中存在的其实就是Python文件,这些文件都实现了某种特定的功能,我们导入包之后直接使用即可,非常的方便。
在开发中使用最多的就是使用: import 方式进行导入。导入的包一般放在文件的最前面。
语法格式 : import 模块名
# 导入时间模块
import timr
# 使用时间模块中的方法
time.ctime()
调用模块方法的语法格式: 模块名.函数名 ,这样调用可以防止不同模块中有同名方法导致错误。
1.2 from 模块名 import 导入模板的方法
一个模块可能存在很多的函数,如果只是想导入其中的几个函数,可以使用from xxx import xxx 方式导入。
使用这种方式导入之后不用在使用 模块名.函数名 的方式来调用函数,可以直接使用 函数名。但是一定要注意这种形式可能会产生覆盖的情况,当导入了两个不同包中的同名的函数的时候,第二个函数会覆盖第一个函数
举例:只想导入time模块中的ctime、time两个方法,可以按照以下的格式导入:
# 导入模块中指定的方法
from time import ctime,time
# 调用方法
ctime()
time()
注意:使用from导入,如果函数名相同,后面导入的会覆盖前面导入的函数。
可以一次性的把一个模块中的全部数据进行导入。 语法格式: from xxx import *
from time import *
1.3 as 关键字
as关键字:给模块取别名,有时候导入的模块的名称很长,调用的时候很不方便,使用as关键字就可以给模块取一个其他的名字。
当给模块起了别名之后以前模块的名字就会失效。
import time as myTime
# 使用别名调用函数,正确
myTime.ctime()
# 使用以前模块的名字调用,错误
time.ctime()
OS模块操作文件
OS模块的作用
对文件进行重命名、删除等一些操作,在Python中可以利用os模块。 os模块提供了一些系统级别的操作命令
模块的制作、发布、安装
3.1 模块制作
Python文件都可以作为一个模块,模块的名字就是文件的名字。比如创建一个test.py文件,文件中创建一个add()函数。此时test.py文件就是一个模块,可以在其他的python文件中直接引入使用。
一个模块中可以包含函数、类、变量,也能包含可执行的代码。
不同的模块可以定义相同的变量名,但是每个模块中的变量名作用域只是在本模块中。
3.2 模块的分
内置:python已经存在的。
自定义:我们自己编写的功能模块。
3.3 示例
定义一个相加的功能模块 (addUp.python 文件)
# 定义一个执行相加的功能模块
def add(x, y):
return x + y
在其他文件中引入并使用这个相加的功能模块
# 引入相加的功能模块(给模块起别名) 引入整个模块
import addUp as add
# 使用引入模块中的函数 (模块名.方法名)
print(add.add(1, 2))
# 3
# 直接引入模块中的指定函数
from addUp import add
# 使用引入模块中的函数 (函数名)
print(add(1, 2))
# 3
# 导入模块中的所有函数
from addUp import *
# 使用引入模块中的函数
print(add(1, 2))
# 3
3.4 测试方法
重点:在功能模块中对模块进行测试的时候,需要使用如下的格式
# 定义一个执行相加的功能模块
def add(x, y):
return x + y
# 测试该模块中的功能。使用这种形式测试就不会发生其他文件在使用这个功能模块的时候输出这个测试结果
# 是因为此时被这个 if 条件进行了控制
if __name__ == '__main__':
# 测试功能模块中的函数
res = add(1, 3)
print('测试模块中的add函数的结果:%s' % res)
# 测试模块中的add函数的结果:4
pass
3.5 all魔术方法
指定对外暴露的功能函数。
# all 魔术方法可以存储让其暴露在外的函数们,将一些函数不对外暴露
# 注意:只有当调用者使用的是 from addUp import * 这种形式的时候all魔术方法才会生效
# 如果使用 from addUp import multiply ,add ,subtract 方式,all也不会生效
# 如果是使用 import 模块名 的形式这个 all 不会生效,这个模块中的所有方法还是全部可以暴露的。
# 总结:all魔术方法只会对 from addUp import * 这种格式的导入生效
__all__ = ['add', 'subtract']
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
# 测试该模块中的功能
if __name__ == '__main__':
# 测试功能模块中的函数
res = add(1, 3)
print('测试模块中的add函数的结果:%s' % res)
# 测试模块中的add函数的结果:4
pass
来源:https://cloud.tencent.com/developer/article/2049099


猜你喜欢
- 下午的时候,配好了OpenCV的Python环境,OpenCV的Python环境搭建。于是迫不及待的想体验一下opencv的人脸识别,如下文
- 分页程序sub show_page参数说明:total_records 总记录数everypage_records 每页显示条数
- 在ASP中,如何创建DSN? 见下:<HTML><HEAD><META&n
- python用正则表达式提取中文Python re正则匹配中文,其实非常简单,把中文的unicode字符串转换成utf-8格式就可以了,然后
- 文章中有不正确的或者说辞不清的地方,麻烦大家指出了~~~与PHP字符串转义相关的配置和函数如下: 1.magic_quotes_runtim
- Python的zip函数示例1:x = [1, 2, 3]y = [4, 5, 6]z = [7, 8, 9]xyz = zip(x, y,
- 一个页面执行一次Sql语句的话,不会影响到性能。如果一个页面要执行很多次Sql语句,而且使用的是同一个数据库连接,那么上面的方法可能会影响到
- 顺序执行顺序执行是我们比较熟悉的工作模式,类似俗称流水账编程。所有不含分支、循环和goto语言,并且每一递归调用的Go函数一般都是顺序执行的
- 如下所示:s=subprocess.Popen("ping baidu.com -t",bufsize=0,stdout
- Pandas提供了便捷的方式对时间序列进行重采样,根据时间粒度的变大或者变小分为降采样和升采样:降采样:时间粒度变大。例如,原来是按天统计的
- 你写了一个Python 3程序,还想要它适用于其他语言。你能复制全部代码库,然后刻意地检查每个.py文件,替换掉所有找到的文本字符串。但这意
- 如何在双python下设置python3为默认在C:\Program下举例第一步安装好python2和python3后设置好环境变量第二步去
- Brendan Eich于1995年在Netscape发明了JavaScript语言,这个语言在过去的一些年里曾是一个最被误解的语言,随着A
- 1、基础概念什么是网络编程?指在网络环境中,如何实现不在同一物理位置中的计算机之间进行数据通信如果要保证数据通信顺利完成,则需要先了解如下几
- 下拉菜单在实际生活中也挺常见的,它实现的js代码与tab选卡,手风琴几乎一样,在此不过多赘述。我仿照苏宁易购官网写了一个下拉菜单,实现代码如
- 问题描述有时在遇到一个文本需要统计文本内词汇的次数 的时候 ,可以用一个简单的python程序来实现。解决方案首先需要的是一个文本文件(.t
- 根据国务院文件,5.19-5.21为全国哀悼日,在此期间,全国和各驻外机构下半旗志哀,停止公共娱乐活动,外交部和我国驻外使领馆设立吊唁簿。5
- 1.不装入数据库而启动事例 可以不装入数据库而启动事例,一般是在数据库才创建时才可以这样做:STARTUP NOMOUNT2.启动事例并装入
- 本文实例讲述了Python使用cx_Oracle调用Oracle存储过程的方法。分享给大家供大家参考,具体如下:这里主要测试在Python中
- status = show status like ‘%%' [例:show status like 'Com_select