python学习记录——第二天2

本文深入探讨Python中模块与包的概念,包括它们的定义、如何导入及使用,以及Python默认的模块加载路径。同时,文章解释了通过import语句和from...import语句导入模块的区别,以及如何利用包来管理多个模块源文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第九章 模块

  1. 模块就是python程序。废话
  2. python默认的模块加载路径由sys.path变量代表
~$ python
Python 2.7.14 (default, Sep 23 2017, 22:06:14) 
[GCC 7.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys,pprint
>>> pprint.pprint(sys.path)
['',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-x86_64-linux-gnu',
 '/usr/lib/python2.7/lib-tk',
 '/usr/lib/python2.7/lib-old',
 '/usr/lib/python2.7/lib-dynload',
 '/home/lsh/.local/lib/python2.7/site-packages',
 '/usr/local/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages/gtk-2.0']
>>> 
  1. 上面用的pprint可以代替普通的print函数,显示效果更友好。
  2. import f_module导入模块的本质:将f_module.py中的全部代码加载到内存并执行;然后将整个模块内容赋值给与模块同名的变量,该变量的类型是module,而在该模块中定义的所有程序单元都相当于该module对象的成员。
  3. from f_module import name, hello导入模块的本质:将f_module.py中的全部代码加载到内存并执行;然后只导入指定的变量、函数等成员单元,并不会将整个模块导入。
  4. 为了更好管理多个模块源文件,python提供了包的概念,包:(1)从物理上看,包就是一个文件夹,该文件夹下包含了一个__init__.py文件,该文件夹可以包含多个模块源文件;(2)从逻辑上看,包的本质依然是模块。
  5. 假设包fk_package包下,提供两个函数一个类,如arithmetic_chart,billing和print_shape三个模块,这三个模块就相当于fk_package包的成员。导入包下的print_shape模块的命令是:import fk_package.print_shape,这个的本质就是加载并执行fk_package包下的print_shape.py文件,并将其赋值给fk_package.print_shape变量。因此执行这条导入语句后,程序可访问fk_package\print_shape.py文件所定义的程序单元,但需要添加fk_package.billing前缀。
  6. 模块包含啥东东:(1)dir()函数查看;(2)使用模块本身的__all__变量。
  7. 使用__doc__属性查看文档,help()函数起作用就是因为这家伙毫不?
  8. 使用__file__属性查看模块的源文件路径。
  9. 如果你的代码组织成了多个文件夹,那导入的时候就是导入包了,这个时候一定要注意__init__.py文件,就是空的也行,否则你导入的时候就会出现:ImportError: No module named blablabla
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值