python的模块和包
模块1在python里一个.py文件就是一个模块module)2模块可以包含变量函数方法等许多内容3通常把能够实现特定功能的代码集中放在一个模块里4模块可以提高代码的维护性复用性还可以避免命名冲突注意事项1模块命名要符合规范2模块名区分大小写3不要与标准模块库同名一旦同名优先引入标准模块库模块分为标准模块库内置自定义模块第三方模块自定义模块timeout 180 def wechat_pay(): print(这是微信支付) def ali_pay(): print(这是支付宝支付) def show_info(): print(这是支付板块提示) print(__name__) max_order_count 10000 def create_order(): print(订单打开提示) def close_order(): print(订单关闭提示) def show_info(): print(这是订单模块提示) print(__name__) __all__ [max_order_count,create_order,close_order,show_info] print(__all__) 导入模块# 导入模块一这种方法会导入模块里的全部内容。也被称为全部导入也是最简单的 # python导入模块会执行模块中代码 # 模块只加载一次后续再导入直接缓存 import order import pay print(order.max_order_count) order.create_order() order.close_order() order.show_info() pay.wechat_pay() pay.ali_pay() pay.show_info() #导入模块2import模块as别名 import order as ml import pay as zf print(ml.max_order_count) ml.create_order() ml.close_order() ml.show_info() zf.wechat_pay() zf.ali_pay() zf.show_info() #导入模块3from模块名import具体内容具体内容。。。 from order import max_order_count,create_order,close_order,show_info from pay import wechat_pay,ali_pay,show_info print(max_order_count) create_order() close_order() show_info() wechat_pay() ali_pay() show_info() #导入模块4from 模块名import具体内容as别名具体内容as别名 from pay import show_info as s1,timeout as to,wechat_pay as wechat from order import show_info as s2,max_order_count as max_count,create_order as create s1() s2() wechat() print(to) create() print(max_count) #导入模块5 from 模块名 import * from order import * from pay import * print(timeout) print(max_order_count) create_order() close_order() show_info() wechat_pay() ali_pay() #可以通过from 模块名 import * 能够导入那些内容 #__all__的值可以是列表也可以是元祖里面元素具体的值必须是字符串 #__all__ [max_order_count,create_order,close_order,show_info] __all__ (max_order_count,) #__name__是每个python模块.py文件都具有的一个内置变量 print(__name__)标准模块库随着Python一起安装在我们电脑里的模块有一些模块底层实现是使用c语言import copy #拷贝对象 import os #系统操作相关的 import random #随机数相关的 print(copy.__file__) import time #时间相关的 import math #数学方法相关的 import sys #python解释器相关的 # 创建文件夹 # os.mkdir(one) # 随机选择 names [阿杰,董小姐,玉鹏,赵卿,水哥] print(random.choice(names)) print(names) random.shuffle(names) print(names) print(1) # 休眠 # time.sleep(2) print(2) # 获取当下的时间 print(time.strftime(%H:%M:%S)) print(time.strftime(%I:%M:%S)) print(time.strftime(%p %I:%M:%S)) # print(math.sqrt(4)) print(math.fabs(-11.2)) # print(sys.version)包1包是一种组织模块的方式包里面可以包含各种模块子包其他资源2在python里包含init.py的文件就是一个包3会把某个特定功能相关的所有模块放在一个包里4可以提高代码的维护性复用性方便管理大型项目包和模块的关系1一个.py就是一个模块包是用来管理模块的文件2一个包可以有多个模块也可以有多个子包包分为标准库包自定义包第三方包导入包#1导入包 import 包名.模块名 import shop.order import shop.pay shop.order.create_order() shop.pay.ali_pay() print(shop.order.max_order_count) print(shop.pay.timeout) #2导入包 import 包名.模块名 as 别名 import shop.order as dd import shop.pay as zf dd.close_order() zf.wechat_pay() print(dd.max_order_count) print(zf.timeout) #3导入包 from 包名.模块名 import 具体内容1,具体内容2 from shop.order import max_order_count,close_order,show_info from shop.pay import wechat_pay,timeout,show_info print(max_order_count) close_order() wechat_pay() print(timeout) show_info() #4导入包 from 包名.模块名 import 具体内容1 as 别名,具体内容2 as 别名 from shop.order import max_order_count as max,close_order as close,show_info as show1 from shop.pay import wechat_pay as wx,timeout as t,show_info as show2 print(max) close() wx() print(t) show1() show2() #5导入包 from 包.模块 import * from shop.pay import * from shop.order import * print(timeout) wechat_pay() ali_pay() print(max_order_count) 36导入包 from 包 import 模块名 from shop import order,pay order.close_order() print(order.max_order_count) print(pay.timeout) pay.ali_pay() #7导入包 from 包 import 模块名 as 别名模块名 as 别名 from shop import order as o,pay as p o.close_order() print(o.max_order_count) print(p.timeout) p.ali_pay() from shop.hello.one import say_hello from shop.hello.one import * say_hello() print(num)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2476407.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!