python - 模块与包

本文介绍了Python模块的使用,重点讲解了内置模块time和datetime的功能,包括时间戳、时间元组的转换、自定义模块的编写与调用。通过实例展示了如何操作当前时间、时间的互转以及自定义函数实现加减乘除等计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模块

模块:指的是一个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

文件结构:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值