Python 官方文档:入门教程 => 点击学习
模块介绍补充:通过os模块获取各种路径(目录)import osprint(__file__) #返回程序的相对路径print(os.path.abspath(__file__)) #返回程序的绝对路径print(os.path.d
模块介绍
补充:
通过os模块获取各种路径(目录)
将路径(环境变量)添加到sys.path列表中:
即:当sys.path路径列表没有你想要的路径时,可以通过 sys.path.append('路径') 添加。
注:程序搜索路径时,从sys.path列表的左边顺序搜索到右边,直到有匹配的
模块的定义:
用来从逻辑上组织python代码,形式上就是以.py结尾的python文件(例:文件名为test.py,则模块名就为test)。可以包含内容(代码块):变量、函数、类、逻辑等;Python之所以应用越来越广泛,在一定程度上也依赖于其为程序员提供了大量的模块以供使用。
作用:
实现程序需要的某个功能
模块的分类:(后面有详细介绍)
内置标准模块(又称标准库)
开源模块
自定义模块
模块导入这里主要讲自定义模块的导入
导入模块(包括方法属性)的方式:
同级(相同目录)导入
main.py程序对module_hello等模块及方法属性的调用?
不同级导入
atm.py程序对main模块和atm_test模块及方法属性的调用?
导入模块(包括方法属性)的本质
Python解释器把被导入的“模块名.py”文件解释一遍
过程:确定模块名.py文件-->搜索“模块名.py”文件路径-->sys.path路径列表(当前路径在列表的[0]位,当调用模块时,会先在程序当前路径搜索相应文件)
知识补充:
包的定义:用来从逻辑上组织模块(N个模块的集合),形式就是一个目录(必须带有一个__init__.py文件)
包的导入:import 目录名;Python解释器解释该包下的 __init__.py 文件
实例:执行main.py调用包package_test(因为不同级调用,所以这里要先确定路径)
导入包的本质:执行包下的__init__.py文件。如果包内有多个模块,可以先将这些模块先导入到__init__.py文件里,这样“import 目录名”就可以调用包里的模块功能了
问题:
当程序中当前定义的函数(再如变量、类等)名和导入模块的方法属性相同时,程序最终应用谁的结果?当然是后执行的结果,相当于后定义或后导入的会覆盖前面的。
导入优化
直接导入模块的某个或某些属性比导入整个模块执行效率高,特别是被程序多次调用时。
自定义模块
开源模块
下载、安装、导入、使用。
如:paramiko模块
自定义模块和开源模块的使用参考 Http://www.cnblogs.com/wupeiqi/articles/4963027.html
标准模块(标准库)
time与datetime模块
与时间处理有关的模块就包括:time,datetime以及calendar。
世界标准时间,UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间。在中国时间为UTC+8。DST(Daylight Saving Time)即夏令时。
在Python中,time模块实现主要调用C库,所以各个平台可能有所不同。通常有这几种方式来表示时间:
时间戳 (timestamp)方式:以秒计算的浮点数。通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。可以返回时间戳的函数主要有time(),clock()等。我们运行“type(time.time())”,返回的是float类型。
格式化的时间字符串
元组(struct_time)方式:struct_time元组共有9个元素。可以返回struct_time的函数主要有gmtime(),localtime(),strptime()。下面列出struct_time中的几个元素:
格式化时间的格式表
time模块中常用的几个函数:
time各表示方式的转化关系图:
补充:datetime模块
支持日期和时间简单和复杂的方法;
实现的重点放在更有效的处理和格式化输出;
该模块还支持时区处理:
ramdom模块
提供了生成随机数的功能
实例:
os模块
提供了不少与操作系统相关联的函数。
提供了非常丰富的方法用来处理文件和目录。
补充:表示路径path的方式(window平台下)
方法实例:
更多参考:https://docs.python.org/3.6/library/os.html?highlight=os#module-os
sys模块
sys
shutil模块
高级的 文件、文件夹、压缩包 处理模块
--结束END--
本文标题: python3 基础(5)-模块(1)-
本文链接: https://lsjlt.com/news/192112.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0