当前位置: 首页>数据库>正文

Python模块

一、模块定义

Module,是一个Python文件,以.py结尾,模块能定义函数、类、变量、可执行代码。python中有很多模块,从而帮助用户快速实现一些功能。

二、模块的导入与使用

[from 模块名] import [模块 | 类 | 变量 | 函数 | \*] [as 别名]
常用:
import 模块名
from 模块名 import 类、变量、方法等
from 模块名 import *
import 模块名 as 别名
from 模块名 import 功能名 as 别名
下面以time模块进行演示:
导入方式一:
导入:import 模块名
使用:模块名.功能名()

# 导入time模块
import time 
# 实际上是调用time.py,在Pycharm中按住Ctrl键并点击time字样,可打开time.py文件
# 调用时候以模块名.功能()的方式实现功能,可以调用模块内的所有功能
print("现在开始执行程序")
## 现在开始执行程序
time.sleep(5)
print("这是5秒后的执行结果")
# 大家可以体验一下这五秒的延迟
## 这是5秒后的执行结果

导入方式二:
导入:from 模块名 import 功能名
使用:功能名()
这样可以导入特定模块的特定功能,但无法使用模块内的其它功能

from time import sleep

# 调用时仅通过功能名()执行即可
print("现在开始执行程序")
## 现在开始执行程序
sleep(5)
print("这是5秒后的执行结果")
# 大家可以体验一下这五秒的延迟
## 这是5秒后的执行结果

导入方式三:
导入的同时可以命名别名,这样能够快捷的调用一些较长的模块或功能:
模块定义别名:
import 模块名 as 别名

# 例如:
import time as te
print('程序开始')
## 程序开始
te.sleep(5)
print('程序结束')
## 程序结束

功能定义别名

# 例如
from time import sleep as sp
print('程序开始')
## 程序开始
sp(5)
print('程序结束')
## 程序结束

三、自定义模块

python中已有的模块无法满足你的需求时候,就可以自定义模块来实现特定的功能。
我们回顾一下前面文件读写的功能,写一个my_module的文件:

with open("my_module.py",mode = 'w',encoding='UTF-8') as my_file:
    my_file.write('def myfunction():\n    print("我是一个自定义模块")')
## 40

写入的文件是这样的:

Python模块,第1张
# 调用方式一
import my_module
my_module.myfunction()
## 我是一个自定义模块
# 调用方式二
from my_module import myfunction
myfunction()
## 我是一个自定义模块

模块的函数如果重名,则后导入的模块会生效:

# 生成第二个重名模块函数
with open("my_module2.py",mode = 'w',encoding='UTF-8') as my_file:
    my_file.write('def myfunction():\n    print("我是后定义的模块函数")')
## 41
# 导入两个模块
from my_module import myfunction
from my_module2 import myfunction
myfunction()
# 显示的显然是my_module2中的函数
## 我是后定义的模块函数

__all__变量:保证函数可以通过import *导入:

# 生成第二个重名模块函数
with open("my_module3.py",mode = 'w',encoding='UTF-8') as my_file:
    my_file.write('__all__=["myfunction"]\ndef myfunction():\n    print("我是__all__中的模块函数")\ndef myfunction2():\n    print("我不是__all__中定义的模块函数")')
## 120

定义后的模块内容为:


Python模块,第2张
# 试一下__all__变量包含与否的函数会调用区别:
from my_module3 import *
myfunction()
myfunction2()# 显然无法正常调用这个函数

我是all中的模块函数
NameError: name ‘myfunction2’ is not defined

往期回顾

生信Python速查手册

Python安装(Windows+Linux)

Python的"Rstudio"——Pycharm

码Python神器:jupyter notebook

一文了解Python基础:字面量、注释、变量、类型、运算符

Python判断语句

Python循环语句

Python函数与方法

一文掌握Python数据容器

Python函数进阶

Python文件操作

Python异常

如何联系我们

公众号后台消息更新不及时,超过48h便不允许回复读者消息,这里给大家留一下领取资料、免费服务器(有root权限的共享服务器,注册即送200¥)的微信号[Biomamba],方便各位随时交流、提建议(科研任务繁重,回复不及时请见谅)。此外呼声一直很高的交流群也建好了,欢迎大家入群讨论:永久免费的千人生信、科研交流群

大家可以阅读完这几篇之后添加
给生信入门初学者的小贴士
如何搜索公众号过往发布内容


https://www.xamrdz.com/database/6gb1997450.html

相关文章: