Python 模块
Python 3 模块
概念:模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。
模块可以被别的程序引入,以使用该模块中的函数等功能,这也是使用 python 标准库的方法。
一 、模块分类
1、内置模块:python提供的标准模块,如random 、time 、os等等;
2、第三方模块:别人写好的模块,我们可以拿过来用;
1):一般来说,第三方库都会在Python官方的pypi.python.org网站注册
2):但是使用第三方模块,需要先安装,需要使用pip命令(第三方包管理工具)
3、自定义模块:我们自己写的模块
1)创建模块:其实就是新建一个py后缀的源文件,如果在另外的py文件中使用,导入方式一样;
a:创建自己的模块时,要注意:模块名要遵循Python变量命名规范,不使用中文、特殊字符;
b:模块名不要和系统模块名冲突
2)模块的作用域:表示模块中的内容能否被其他模块直接访问,
一般称为public(公有的,公开的)和private(私有的,非公开的);[类似_xxx和__xxx这样的函数或变量就是非公开的(private),不应该被直接调用。之所以说不应该,是因为Python并没有一种方法可以完全限制访问非公开的函数或变量(其他模块可以直接访问这些'_'开头的变量和函数),但是,从编程习惯上不应该调用非公开的内容函数。]
3)__name__
当直接运行该模块(当做主程序调用)时,__name__的值是__main__,当该模块被其他程序import的时候,模块的__name__就是该模块名,所以每个我们经常会在模块下面写这样一个if判断,里面来写测试代码:
if __name__ == '__main__':
....
4) __all__
如果通过 from 模块名 import * 导入的时候,只能导入该模块最上面通过__all__规定的列表里面的函数、变量或者类;
5)__pycache__文件夹
当第一次导入某个模块的时候,系统会自动生成这样一个文件夹,里面存放的是模块的缓存字节码文件,下次再使用的时候,如果该模块没有改变,那么直接使用这个缓存文件
6)包
a:包:如果多个模块功能类似,可以将这些模块放到同一个目录下面,方便管理,这个目录就称之为包
b:包里面一般情况都有个文件:__init__.py,这个文件可以是空的,只是告诉编译器这个目录不是普通目录,
是python里面的一个包
二、导入方式
1)import 模块名,...
如果这样导入模块,调用模块中提供的函数等内容的时候,需要加上模块名
如 time.sleep()
例:如果我们在 modulee.py 的文件下,写入下面的 def 语句:
def pyxxt(x):
print(x)
而我们想在其它 py 文件中用到相同作用的 pyxxt() 函数,我们可以:
例:
import modulee
module.pyxxt('life is short,we need python!')
结果:life is short,we need python!
2)from 模块名import 名称1,...
如from time import sleep,表示从time模块中导入进来sleep函数,
那么在使用sleep函数的时候,直接调用
例:
from modulee import pyxxt
pyxxt('life is short,we need python!')
结果:life is short,we need python!
3)起别名
给模块起别名,如import random as ran,以后再代码中只能使用别名ran,
不能使用原名random
4)模糊导入
如from random import *,将random中所有函数全部导入进来,不推荐这样使用
例:
from modulee import *
pyxxt('life is short,we need python!')
结果:life is short,we need python!
欢迎关注小婷儿的博客:https://blog.csdn.net/u010986753
有问题请在博客下留言或加QQ群:483766429 或联系作者本人 QQ :87605025
OCP培训说明连接:https://mp.weixin.qq.com/s/2cymJ4xiBPtTaHu16HkiuA
OCM培训说明连接:https://mp.weixin.qq.com/s/7-R6Cz8RcJKduVv6YlAxJA
小婷儿的python正在成长中,其中还有很多不足之处,随着学习和工作的深入,会对以往的博客内容逐步改进和完善哒。
小婷儿的python正在成长中,其中还有很多不足之处,随着学习和工作的深入,会对以往的博客内容逐步改进和完善哒。
小婷儿的python正在成长中,其中还有很多不足之处,随着学习和工作的深入,会对以往的博客内容逐步改进和完善哒。
重要的事说三遍。。。。。。
文章内容来源于小婷儿的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解 有趣的事,Python永远不会缺席!
如需转发,请注明出处:小婷儿的博客python https://www.cnblogs.com/xxtalhr/
博客园:https://www.cnblogs.com/xxtalhr/
CSDN:https://blog.csdn.net/u010986753
有问题请在博客下留言或加作者:
微信:tinghai87605025
QQ :87605025
python QQ交流群:py_data 483766429

培训说明:
OCP培训说明连接:https://mp.weixin.qq.com/s/2cymJ4xiBPtTaHu16HkiuA
OCM培训说明连接:https://mp.weixin.qq.com/s/7-R6Cz8RcJKduVv6YlAxJA
小婷儿的python正在成长中,其中还有很多不足之处,随着学习和工作的深入,会对以往的博客内容逐步改进和完善哒。重要的事多说几遍。。。。。。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· dotnet 源代码生成器分析器入门
· 官方的 MCP C# SDK:csharp-sdk
· 一款 .NET 开源、功能强大的远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议!
· 一步一步教你部署ktransformers,大内存单显卡用上Deepseek-R1
· 一文搞懂MCP协议与Function Call的区别