python学习——模块
Posted bilx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习——模块相关的知识,希望对你有一定的参考价值。
- #什么是模块?
- #已经写好的一组功能的集合
- #别人写好的函数、变量、方法、放在一个文件里(这个文件可以被我们直接使用)
- # import os,re,sys,time
- #如何自己写一个模块
- # 当创建.py文件,给他起个名字符合变量名命名规则的文件名,这个名字就是模块名
- # 模块的导入
- # import time
- #怎么使用time模块中的名字
- # time.time()
- # import 的命名空间
- #import的模块和当前文件在不同的命名空间中
- #模块是否可以被重复导入
- # 不可以
- #怎么判断这个模块已经被导入过了
- # print(sys.modules)
- #在导入模块的时候发生了什么?
- #找到这个模块
- #判断这个模块是否被导入过了,如果没有被导入就创建一个属于这个模块的命名空间,让模块的名字指向这个空间
- #执行模块
- #给模块起别名,起了别名之后使用这个模块只能使用别名引用变量
- # import time as t,re as r
- #导入多个模块
- #规范建议导入顺序:先导入内置、然后导入扩展模块、最后导入自定义模块
- # from time import gmtime
- #如何使用from import
- #需要从一个文件中使用哪个名字,就把这个名字导入进来
- #from import的过程中仍然会执行这个被导入的文件
- # import谁就只能用谁
- #当前文件的命名空间和模块的命名空间
- #from import导入的过程中发生了什么
- #1.找到模块
- #2.判断是否被导入过
- #3.如果没被导入过
- #创建一个属于这个模块的命名空间
- #执行这个文件
- #给你要导入的变量
- #给你要导入的变量创建一个引用,指向要导入的变量
- #创建一个属于这个模块的命名空间
- #导入多个名字
- #from time import time as t,gmtime as g
- #from time import *
- #导入time模块中的多有内容
- #from time import *和__all__的关系
- #__all__在模块中约束了*导入的变量,
- #1.模块的循环引用***
- #模块之间不允许循环引用
- #2.模块的加载与修改**
- #已经被导入的模块发生了修改,是不会被感知到的
- #所以要想修改的模块被正在运行中的程序感知到,只能重启程序
- #3.把模块当成脚本使用*****
- #if __name__ == ‘__main__‘:
- #代码(写在这里面的代码只有这个文件当做脚本执行的时候才会被执行)
- #执行一个文件的方式
- #cmd、pycharm执行:直接执行文件——以脚本的方式执行
- #导入这个文件
- #都是py文件
- #直接运行这个文件,这个文件就是脚本
- #导入这个文件,这个文件就是模块,
- #当一个py文件
- #当做一个脚本的时候:能够独立的提供一个功能,能自主完成交互
- #当做一个模块的时候:能够被导入者调用这个功能,不能自主交互
- #一个文件中的__name__变量
- #当这个文件当做脚本执行的时候__name__ ==‘__main__‘
- #当这个文件当做模块导入的时候__name__ ==‘模块的名字‘
- #if __name__ == ‘__main__‘:
- #4.模块搜索路径
- #和被当做脚本执行的文件同目录下的模块,可以被直接导入
- #除此之外其他路径下的模块再被导入的时候需要自己改sys.path列表
以上是关于python学习——模块的主要内容,如果未能解决你的问题,请参考以下文章