Python类、模块、包的概念及区别

简介: Python类、模块、包的概念及区别

类的概念在许多语言中出现,是面向对象编程的基础,很容易理解。抽象出不同物体的共同特征,根据相似性原则,把彼此相似的物体归于相同的类概念, 它将数据和操作进行封装,以便将来的复用。


模块


模块,在Python中一个文件就可以认为是一个模块。在创建了一个脚本文件后,定义了某些函数和变量。你在其他需要这些功能的文件中,导入这模块,就可重用这些函数和变量。模块名就是文件名去掉.py后缀。


模块也可以简单的划分为built-in模块和自定义模块


built-in 模块就是Python内置的一些模块,比如:sys, os等基本模块


内建函数dir()可以查看模块定义了什么数据(包括变量名,模块名,函数名等):dir(模块名),没有参数时返回所有当前定义的名字


模块搜索路径


当导入一个模块时,解释器先在当前包中查找模块,若找不到,然后在内置的built-in模块中查找,找不到则按sys.path给定的路径找对应的模块文件(模块名.py)



包是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的python应用程序执行环境。


通俗一点:包是一个包含__init__.py 文件的目录,该目录下一定得有这个__init__.py文件和其它模块或子包。


包可以使用import导入包,或者from + import来导入包中的部分模块。包目录下为首的一个文件便是 init.py。


子包: 假如子目录中也有 init.py 那么它就是这个包的子包了。







相关文章
|
Kubernetes Cloud Native Java
Activiti 简介以及最新activiti依赖 pom.xml文件(使用时注意对应版本号)
Activiti 简介以及最新activiti依赖 pom.xml文件(使用时注意对应版本号)
894 2
|
小程序 前端开发 Java
携程技术分享:亿级流量的办公IM及开放平台技术实践
本文总结了携程办公IM这些年的发展历程及未来的演进方向,并着重从高可用、高性能和可扩展的角度,探讨开放式平台的技术实现及发展方向。
310 1
携程技术分享:亿级流量的办公IM及开放平台技术实践
|
关系型数据库 MySQL 数据库
开发者如何使用云数据库RDS
【10月更文挑战第4天】开发者如何使用云数据库RDS
852 1
|
存储 Java
如何在 Java 中初始化二维 ArrayList
【8月更文挑战第23天】
398 1
|
关系型数据库 PostgreSQL
PostgreSQL异常重启postmaster.pid处理
PostgreSQL异常重启postmaster.pid处理
613 0
|
机器学习/深度学习 人工智能 运维
智能化运维:AI与机器学习在IT管理中的应用
【7月更文挑战第10天】本文深入探讨了人工智能和机器学习如何革新传统的IT运维领域。文章首先界定了智能化运维的概念,随后分析了AI技术在故障预测、自动化处理和安全监控方面的应用实例,并讨论了实施智能化运维时面临的挑战及其克服策略。最终,文章展望了智能化运维的未来趋势,强调了持续学习和适应新技术的重要性。
【已解决】ZooKeeper配置中出现Error contacting service. It is probably not running
【已解决】ZooKeeper配置中出现Error contacting service. It is probably not running
820 1
|
JSON 算法 安全
SpringBoot从入门到精通(三十四)如何集成JWT实现Token验证
近年来,随着前后端分离、微服务等架构的兴起,传统的cookie+session身份验证模式已经逐渐被基于Token的身份验证模式取代。接下来介绍如何在Spring Boot项目中集成JWT实现Token验证。
SpringBoot从入门到精通(三十四)如何集成JWT实现Token验证
|
JavaScript Java 测试技术
基于ssm+vue.js的搬家预约系统附带文章和源代码设计说明文档ppt
基于ssm+vue.js的搬家预约系统附带文章和源代码设计说明文档ppt
129 1