数据可以封装在容器中 代码可以封装在方法中
方法和属性可以封装在类中
上述三类对象可以打包在模块中
多个模块可以打包成一个包
模块和包都可以称为库,多个库构成框架
一、模块(modules)
import modulename1 [as alias1], modulename2 [as alias2], …from modulename import 成员名1 [as 别名1],成员名2 [as 别名2],…
if __name__ == '__main__': # put your code here
"""模块的说明文档放在这里""""""put your code here"""import demohelp(demo)print(demo.__doc__)
当前的工作目录; PYTHONPATH(环境变量)中的每一个目录;
Python 默认的安装目录。
向sys.path变量中临时添加模块文件所在的完整路径 将模块移动到sys.path 变量中已包含的路径中
修改path 系统的环境变量
它实质上是一个文件夹 该文件夹里面一定有__init__.py模块,其他的模块可以有也可以没有
一个包里面还可以装其他的包,称为子包(当然子包里面也有其自己的__init__.py模块)
它本身是一个模块
这个模块的模块名不是__init__,而是这个包的名字,也就是装着__init__.py文件的文件夹的名字
它的作用是将一个文件夹变为一个Python模块
它可以不包含代码,不过一般会包含一些Python初始化代码,例如批量导入我们需要用到的模块,这样我们就不用在用到的时候再一一导入,在这个包被import的时候,这些代码会自动被执行
import 包名[.模块名 [as 别名]] # 其中matplotlib为包,pyplot为包中的一个模块,plt为模块别名import matplotlib.pyplot as pltfrom 包名 import 模块名 [as 别名]from 包名.模块名 import 成员名 [as 别名]
注意:我们在导入包的时候,实际上是导入了它的__init__.py文件!!!!!!!!!!
三、库(Libraries,抽象概念)
我们可以打开Python的安装目录,里面有一个叫做Lib的文件夹,打开这个文件夹之后就会发现很多“库”都在里面,如我们常用的os、sys、random、math、re、time等标准库都在里面,这些“库”都是一个个的python文件(即模块),而我们打开site-packages文件夹又会发现matplotlib、seaborn、numpy、pandas、scipy、sklearn、lightgbm、statsmodels和requests、nltk这些“库”,又是一个一个的文件夹(里面都有__init__.py),也就是包!
四、框架(frameworks,抽象概念)
五、总结
类(对象共性的抽象):西瓜(属性,方法) 属性(对象拥有的特征):重量,颜色,口感...
方法(对象提供的服务):直接吃,榨汁喝,当柴火...
对象(类的实例化):西瓜1,西瓜2...
模块(类的封装):水果模块(西瓜,青柠,橙子,柚子...)
包(模块的封装):食物包(水果模块,零食模块,早餐模块...)
库(模块或包):水果库,食物库
框架(库的集成):食物框架(食物库,养殖库,种植库,烹饪库...)
类:DataFrame 属性:index, columns...
方法:fillna(), astype()...
对象:df1, df2...
模块:reshape,series...
包/库:pandas

扫描二维码获取
更多精彩


统计美学




