Task 8. 模块与datatime模块

1.模块
包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。
导入模块:利用下面几种形式

import module
from module import function
import module as md

1.1 if __name__ == '__main__'
.py 文件被直接运行时,if __name__ == '__main__'之下的代码块将被运行;当 .py 文件以模块形式被导入时,if __name__ == '__main__'之下的代码块不被运行。
1.2 Collection模块
collections模块在内置的数据类型,比如:int、str、list、dict等基础之上额外提供了几种数据类型。
namedtuple():生成可以使用名字来访问元素内容的tuple子类
deque:双端队列,可以快速的从另外一侧追加和推出对象
Counter:计数器
OrderedDict:有序字典
defaultdict:带有默认值的字典,默认给字典的值设置了一个类型
编写程序以查询给定列表中最常见的元素。

from collections import Counter
def most_element(language):
    """ Return a list of lines after inserting a word in a specific line. """
    a=Counter(language)
    for key,value in a:
    	if value == max(a):
    		return key
 language = ['PHP', 'PHP', 'Python', 'PHP', 'Python', 'JS', 'Python', 'Python','PHP', 'Python']
print(most_element(language))

1.3 datetime模块
datetime 是 Python 中处理日期的标准模块,它提供了 4 种对日期和时间进行处理的类:datetime、date、time 和 timedelta。

1.3.1 datatime类
datetime.now(tz=None) 获取当前的日期时间,输出顺序为:年、月、日、时、分、秒、微秒。
datetime.timestamp() 获取以 1970年1月1日为起点记录的秒数。
datetime.fromtimestamp(tz=None) 使用 unixtimestamp 创建一个 datetime。
符号和对应格式的日期可参照:链接
将字符串解析为datatime对象

from dateutil import parser

s = '2020-06-25'
dt = parser.parse(s)
print(dt)  # 2020-06-25 00:00:00
print(type(dt))  # <class 'datetime.datetime'>

s = 'March 31, 2010, 10:51pm'
dt = parser.parse(s)
print(dt)  # 2010-03-31 22:51:00
print(type(dt))  # <class 'datetime.datetime'>

1.3.2 date类
date.today() 获取当前日期信息。
1.3.3 time类

import datetime

t = datetime.time(12, 9, 23, 12980)
print(t)  # 12:09:23.012980
print(type(t))  # <class 'datetime.time'>

1.3.4 timedelta类
常常被用来从 datetime 对象中添加或移除一段特定的时间。

import datetime
td = datetime.date.today()#2020-08-07
re = datetime.timedelta(days=6)
print(td-re)#2020-08-01

练习:
2.编写Python程序以选择指定年份的所有星期日。

import datetime
from datetime import timedelta
from dateutil import parser
def all_sundays(year):
    day = '-01-01'
    dt=year+day
    dt1 = parser.parse(dt).date()
    a=7-dt1.isoweekday()
    re=datetime.timedelta(days=a)
    dt2 = dt1+re
    i=0
    for i in range(365//7):
        dt3=(dt2+ datetime.timedelta(days = 7*i)).strftime("%Y-%m-%d")
        i=i+1
        print(dt3)
        
year=input('请输入年份:')
all_sundays(year)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值