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)