标记项目根目录:
在文件夹右键 -->Mark Driectory -->Source Root
导入方式一:
import 模块名
模块名.成员
import module
module.func()
导入方式二:
from 模块 import 成员
直接使用成员
注意:导入成员命名冲突
from module import func(*表示所有成员)
func()
在运行一个文件时,被导入的模块会被编码成为pyc文件,而运行的文件每一次从头到尾运行,所以在写文件时,运行的文件要尽量短一点
模块变量
1.__doc__:模块文档注释(往往在交互模式下使用)
2.__main__:模块名
被导入的模块存储的为真实模块名,主模块(第一次运行的模块)存储的为__main__
如果当前是主模块,才执行入口逻辑(代码):
if __name__ == "__main__"(快捷键:main)
加载过程
在模块导入时,模块所有语句会执行
如果一个模块已经导入,再次导入不会重新执行
模块分类
内置模块(builtins),在解析器内部可以正常使用
标准库模块,安装python时已安装,可以直接使用
第三方模块,需要自己安装
用户自己编写的模块(可以作为其他人的第三方模块)
标准库模块--time
# 1. 人类时间(时间元组): 公园元年~2021年3月18日
# (年,月,日,时,分,秒,星期,年的第几天,是否是夏令时)
tuple_time = time.localtime()
print(tuple_time[3]) # 时
print(tuple_time.tm_hour) # 时
print(tuple_time[-3]) # 星期
print(tuple_time.tm_wday) # 星期
print(tuple_time[:3]) # 年,月,日
# 2. 机器时间(时间戳): 1970年元旦~现在经过的秒数
# 1616037532.2794447
print(time.time())
# 3. 时间戳->时间元组
# 语法:时间元组 = time.localtime( 时间戳 )
print(time.localtime(1616037532.2794447))
# 4. 时间元组-> 时间戳
# 语法:时间戳 = time.mktime(9个元素的元组)
print(time.mktime((2021, 3, 18, 11, 34, 30, 0, 0, 0)))
print(time.mktime(tuple_time))
# 5. 时间元组->字符串
# 语法:字符串 = time.strftime("格式", 时间元组)
# 21/03/18 11:49:02
print(time.strftime("%y/%m/%d %H:%M:%S", tuple_time))
# 2021/03/18 11:48:56
print(time.strftime("%Y/%m/%d %H:%M:%S", tuple_time))
print(time.strftime("年份:%Y,月份:%m,天:%d %H:%M:%S", tuple_time))
# 6. 字符串->时间元组
# 语法:时间元组 = time.strptime(时间字符串,格式)
time.strptime("2021/03/18 11:48:56","%Y/%m/%d %H:%M:%S")
print(time.strptime("11:48:56","%H:%M:%S"))
# print(time.strptime("11-48-56","%H:%M:%S")) 会报错
# print(time.strptime("11:48","%H:%M:%S")) 会报错