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

举报
小米粒-biubiubiu 发表于 2020/12/04 00:20:05 2020/12/04
【摘要】 一、模块化编程 (1)导入模块 #导入整个sys模块import sys#获取程序全路径名称print(sys.argv[0]) #给sys模块起别名import sys as sprint(s.argv[0]) #导入两个模块import sys as s,os as oprint(s.argv[0])#输出平台上的路径分隔符print(o.sep) #从sys模块中...

一、模块化编程

(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

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。