模块
模块:指的是一个python文件,里面存放了定义好的类、方法、函数,一般是经常用到的那些方法,在其他的python文件中可以通过导入该模块来使用其中的方法。
分类:
自定义模块:自己写的模块,一般包含了自定义的类、函数、方法
内置模块:python定义好的模块,可以直接导入、调用
模块的导入
- 方法1: 格式:
from 模块名 import 函数名1, 函数名2
调用:函数名1() 、函数名2(
) - 方法2:格式:
import 模块名
调用:模块名.函数名()
- 方法3:导入模块中的所有函数:
from 模块名 import *
但是不推荐这种写法,因为随着导入模块的增多,函数名可能会出现重名的情况,第二个函数会覆盖第一个函数
import time
from datetime import datetime # 第一个datetime是模块名,第二个是函数名
内置模块
1、time
- 当前时间戳
time.time()
时间格式:从格林威治时间到至今的总秒数 - 当前时间元组
time.localtime()
时间格式:用元组组装起来的9组数据 t = (year, month, day, hour, minute, second, day of
the week, day of the year, summer camp) - 英文显示时间字符串
time.asctime()
时间格式:week month day hour:minute:second year
t1 = time.time()
print(t1) # 1652583075.8528187
t2 = time.localtime()
print(t2) # time.struct_time(tm_year=2022, tm_mon=5, tm_mday=15, tm_hour=10, tm_min=51, tm_sec=15, tm_wday=6, tm_yday=135, tm_isdst=0)
# 分别获取年月日时分秒
print('''
年:{}
月:{}
日:{}
时:{}
分:{}
秒:{}
'''.format(t2[0], t2[1], t2[2], t2.tm_hour, t2.tm_hour, t2.tm_min, t2.tm_sec))
t3 = time.asctime()
print(t3) # Sun May 15 10:49:23 2022
时间的互转
1、时间戳转换为时间元组 time.localtime(时间戳)
2、时间元组转换为时间戳 time.mktime(时间元组)
3、时间元组转换为字符串 time.strftime(“%Y-%m-%d %H:%M:%S”,time.localtime())
4、字符串转换为时间元组 time.strptime(“2019-09-01 22:29:35”,“%Y-%m-%d %H:%M:%S”)
# 时间的互转
print("1、时间戳:{} ---> 时间元组:{}".format(t1,time.localtime(t1)))
print("2、时间元组:{} ---> 时间戳:{}".format(t2,time.mktime(t2)))
print("3.1、时间元组:{} ---> 时间字符串:{}".format(t2,time.strftime("%Y-%m-%d %H:%M:%S",t2)))
print("3.2、时间元组:{} ---> 时间字符串:{}".format(t2,time.strftime("%Y/%m/%d %H:%M:%S",t2)))
print("4.1、时间字符串:{} ---> 时间元组:{}".format("2019-09-01 22:29:35",time.strptime("2019-09-01 22:29:35","%Y-%m-%d %H:%M:%S")))
print("4.2、时间字符串:{} ---> 时间元组:{}".format("2019/09/01 22:29:35",time.strptime("2019/09/01 22:29:35","%Y/%m/%d %H:%M:%S")))
'''运行结果
1、时间戳:1652584690.53411 ---> 时间元组:time.struct_time(tm_year=2022, tm_mon=5, tm_mday=15, tm_hour=11, tm_min=18, tm_sec=10, tm_wday=6, tm_yday=135, tm_isdst=0)
2、时间元组:time.struct_time(tm_year=2022, tm_mon=5, tm_mday=15, tm_hour=11, tm_min=18, tm_sec=10, tm_wday=6, tm_yday=135, tm_isdst=0) ---> 时间戳:1652584690.0
3.1、时间元组:time.struct_time(tm_year=2022, tm_mon=5, tm_mday=15, tm_hour=11, tm_min=18, tm_sec=10, tm_wday=6, tm_yday=135, tm_isdst=0) ---> 时间字符串:2022-05-15 11:18:10
3.2、时间元组:time.struct_time(tm_year=2022, tm_mon=5, tm_mday=15, tm_hour=11, tm_min=18, tm_sec=10, tm_wday=6, tm_yday=135, tm_isdst=0) ---> 时间字符串:2022/05/15 11:18:10
4.1、时间字符串:2019-09-01 22:29:35 ---> 时间元组:time.struct_time(tm_year=2019, tm_mon=9, tm_mday=1, tm_hour=22, tm_min=29, tm_sec=35, tm_wday=6, tm_yday=244, tm_isdst=-1)
4.2、时间字符串:2019/09/01 22:29:35 ---> 时间元组:time.struct_time(tm_year=2019, tm_mon=9, tm_mday=1, tm_hour=22, tm_min=29, tm_sec=35, tm_wday=6, tm_yday=244, tm_isdst=-1)
'''
2、datetime
# 根据给定的值,创建时间元组
print("时间元组:",datetime(2022,5,6,16,56,13)) # 时间元组: 2022-05-06 16:56:13
# 获取当前时间
print("获取当前时间:",datetime.today())
print("获取当前时间:",datetime.now())
'''运行结果
获取当前时间: 2022-05-15 10:55:15.405260
获取当前时间: 2022-05-15 10:55:15.405259
'''
自定义模块
自定义模块的编写
# 自定义的模块 CustomerModule.py
# 求和
def add(*args):
sum = 0
for i in args:
sum += i
return sum
# 求差 - 思路一:第一个数字乘以2,然后依次减去args中的值
def diffrence1(*args):
res = args[0] * 2
for i in args:
res -= i
return res
# 求差 - 思路二:取出第一个数字,减去第二个数字到最后一个数字之和
def diffrence2(*args):
res1 = args[0]
res2 = 0
for i in args[1:]:
res2 += i
return res1 - res2
# 求差 - 思路三:取出第一个数字,依次减去后面的数字
def diffrence3(*args):
res1 = args[0]
for i in args[1:]:
res1 -= i
return res1
# 求商
def divide(*args):
res1 = args[0]
for i in args[1:]:
res1 /= i
return res1
# 求积
def multiply(*args):
res = 1
for i in args:
res *= i
return res
res1 = add(1,2,3,4,5)
res2 = diffrence1(10,2,3,4)
res3 = diffrence2(10,2,3,4)
res4 = diffrence3(10,2,3,4)
res5 = divide(10,2,5)
res6 = multiply(1,2,3,4)
print(res1)
print(res2)
print(res3)
print(res4)
print(res5)
print(res6)
自定义模块的导入
# 在文件02_Module.py中调用CustomerModule.py文件中的方法
# 自定义模块的调用 - 方式1
import CustomerModule
res1 = CustomerModule.add(1,2,3,4,)
res2 = CustomerModule.diffrence1(24,2,3,4,1)
print(res1, res2) # 10 14
# 自定义模块的调用 - 方式2
from CustomerModule import add,multiply
res3 = add(12,23,3,3)
res4 = multiply(1,2,3,4)
print(res3, res4) # 41 24
文件结构: