python【系列教程】之模块和包

一、模块化编程

(1)导入模块


  
  1. #导入整个sys模块
  2. import sys
  3. #获取程序全路径名称
  4. print(sys.argv[0])
  5. #给sys模块起别名
  6. import sys as s
  7. print(s.argv[0])
  8. #导入两个模块
  9. import sys as s,os as o
  10. print(s.argv[0])
  11. #输出平台上的路径分隔符
  12. print(o.sep)
  13. #从sys模块中导入argv成员变量
  14. from sys import argv as v,winver as w
  15. #导入sys模块所有成员
  16. from sys import *

(2)定义模块module1.py 文件


  
  1. """
  2. 这是第一个模块说明,该模块包含以下内容:
  3. my_book 变量
  4. say_hi(user)函数
  5. user 用户类
  6. """
  7. print('这是module1')
  8. my_book = '疯狂python讲义'
  9. def say_hi(user):
  10. print('%s 您好,欢迎学习python' % user)
  11. class user:
  12. def __init__(self, name):
  13. self.name = name
  14. def walk(self):
  15. print('%s 正在走路' % self.name)
  16. def __repr__(self):
  17. return self.name
  18. #只有在运行当前py文件时__name__ 才会变为__main__,增加if判断防止其他的py文件
  19. #在import当前模块的时候执行测试代码
  20. if __name__ == '__main__':
  21. test_my_book()
  22. test_say_hi()
  23. test_user()

 module1.py 的模块名就是 moudule1,使用模块可以实现很好的代码复用,导入导出模块

二、加载模块

 

 

 

三、使用包

 

 

四、查看模块内容

 

 

 五、常见模块

(1)sys模块


  
  1. #常见的模块
  2. import sys
  3. l = [e for e in dir(sys) if not e.startswith('_')]
  4. print(l)

 动态修改模块加载路径

(2)os模块

 

 

 (3)random模块

 (4)time模块

 

 

 (5)json支持模块

 

 

 

 (6)正则表达式re模块

 

 

 

 

 

 

 

 

 

 

 

 (7)容器相关类

set集合有如下两个特征

set不记录元素的添加顺序,元素不允许重复

set集合是可变容器,程序可以改变容器中的元素。与set对应的还有f'rozenset集合,是set的不可变版本,它的元素是不可变的

 deque双端队列

 

 (8)python的堆操作: heapq模块

 

 

 (9)collections下的容器支持


  
  1. # 定义三个map
  2. a, b, c = {'ko': 90}, {'go': 93}, {'sw': 89}
  3. m = ChainMap(a,b,c)
  4. print(m)
  5. print(m['ko'])

 

 

 

 

 

 

 

 

 

 (10)函数相关模块

itertools模块

 

 

 

functools 模块

 

 

 

文章来源: blog.csdn.net,作者:血煞风雨城2018,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_31905135/article/details/100985390

(完)