Task 8
笔记
模块:
1.导入模块
第一种:import 模块名
【例子】
import TemperatureConversion
print('32摄氏度 = %.2f华氏度' % TemperatureConversion.c2f(32))
print('99华氏度 = %.2f摄氏度' % TemperatureConversion.f2c(99))
# 32摄氏度 = 89.60华氏度
# 99华氏度 = 37.22摄氏度
第二种:from 模块名 import 函数名
【例子】
from TemperatureConversion import c2f, f2c
print('32摄氏度 = %.2f华氏度' % c2f(32))
print('99华氏度 = %.2f摄氏度' % f2c(99))
# 32摄氏度 = 89.60华氏度
# 99华氏度 = 37.22摄氏度
第三种:import 模块名 as 新名字
【例子】
import TemperatureConversion as tc
print('32摄氏度 = %.2f华氏度' % tc.c2f(32))
print('99华氏度 = %.2f摄氏度' % tc.f2c(99))
# 32摄氏度 = 89.60华氏度
# 99华氏度 = 37.22摄氏度
2.if name == 'main’
当 .py 文件被直接运行时, if name == ‘main’ 之下的代码块将被运行;当 .py 文件以模块形式被导入时, if name == ‘main’ 之下的代码块不被运行。
datetime模块:
1. datetime类
- datetime.now(tz=None) 获取当前的日期时间,输出顺序为:年、月、日、时、分、秒、微秒。
- datetime.timestamp() 获取以 1970年1月1日为起点记录的秒数。
- datetime.fromtimestamp(tz=None) 使用 unixtimestamp 创建一个 datetime。
【例子】如何创建一个 datetime 对象?
import datetime
dt = datetime.datetime(year=2020, month=6, day=25, hour=11, minute=23, second=59)
print(dt) # 2020-06-25 11:23:59
print(dt.timestamp()) # 1593055439.0
dt = datetime.datetime.fromtimestamp(1593055439.0)
print(dt) # 2020-06-25 11:23:59
print(type(dt)) # <class 'datetime.datetime'>
dt = datetime.datetime.now()
print(dt) # 2020-06-25 11:11:03.877853
print(type(dt)) # <class 'datetime.datetime'>
datetime.strftime(fmt) 格式化 datetime 对象。
【例子】如何将 datetime 对象转换为任何格式的日期?
import datetime
dt = datetime.datetime(year=2020, month=6, day=25, hour=11, minute=51, second=49)
s = dt.strftime("'%Y/%m/%d %H:%M:%S")
print(s) # '2020/06/25 11:51:49
s = dt.strftime('%d %B, %Y, %A')
print(s) # 25 June, 2020, Thursday
【例子】datetime 对象包含很多与日期时间相关的实用功能。
import datetime
dt = datetime.datetime(year=2020, month=6, day=25, hour=11, minute=51, second=49)
print(dt.date()) # 2020-06-25
print(type(dt.date())) # <class ‘datetime.date’>
print(dt.time()) # 11:51:49
print(type(dt.time())) # <class ‘datetime.time’>
print(dt.year) # 2020
print(dt.month) # 6
print(dt.day) # 25
print(dt.hour) # 11
print(dt.minute) # 51
print(dt.second) # 49
print(dt.isoweekday()) # 4
parser.parse(timestr, parserinfo=None, **kwargs)
【例子】如何在 python 中将字符串解析为 datetime对象?
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'>
2. date类
- date.today() 获取当前日期信息。
【例子】如何在 Python 中获取当前日期和时间?
import datetime
d = datetime.date(2020, 6, 25)
print(d) # 2020-06-25
print(type(d)) # <class 'datetime.date'>
d = datetime.date.today()
print(d) # 2020-06-25
print(type(d)) # <class 'datetime.date'>
3. time类
【例子】如何使用 datetime.time() 类?
import datetime
t = datetime.time(12, 9, 23, 12980)
print(t) # 12:09:23.012980
print(type(t)) # <class 'datetime.time'>
4. timedelta类
timedelta 表示具体时间实例中的一段时间。你可以把它们简单想象成两个日期或时间之间的间隔。它常常被用来从 datetime 对象中添加或移除一段特定的时间。
【例子】如何使用 datetime.timedelta() 类?
import datetime
td = datetime.timedelta(days=30)
print(td) # 30 days, 0:00:00
print(type(td)) # <class 'datetime.timedelta'>
print(datetime.date.today()) # 2020-07-01
print(datetime.date.today() + td) # 2020-07-31
dt1 = datetime.datetime(2020, 1, 31, 10, 10, 0)
dt2 = datetime.datetime(2019, 1, 31, 10, 10, 0)
td = dt1 - dt2
print(td) # 365 days, 0:00:00
print(type(td)) # <class 'datetime.timedelta'>
td1 = datetime.timedelta(days=30) # 30 days
td2 = datetime.timedelta(weeks=1) # 1 week
td = td1 - td2
print(td) # 23 days, 0:00:00
print(type(td)) # <class 'datetime.timedelta'>
练习题
模块:
1、怎么查出通过 from xx import xx导⼊的可以直接调⽤的⽅法?
在test_package文件夹中创建一个 init.py 的模块文件,内容可以为空。然后在代码中把test_package的文件的路径加入到python解释器可以搜索到的路径列表中。
2、了解Collection模块,编写程序以查询给定列表中最常见的元素。
题目说明:
输入:language = [‘PHP’, ‘PHP’, ‘Python’, ‘PHP’, ‘Python’, ‘JS’, ‘Python’, ‘Python’,‘PHP’, ‘Python’]
输出:Python
不会
datetime模块:
2、编写Python程序以选择指定年份的所有星期日。
import parser
import datetime
a=input('请输入年份:')
def all_sundays(year):
a0=int(a)
dt1=datetime.date(a0,1,1)
dt2=datetime.date(a0,12,31)
dt=(dt2-dt1).days
for i in range((dt2-dt1).days+1):
day=dt1+datetime.timedelta(days=i)
bianli=day.isoweekday()
if bianli==7:
print(day)
else:
continue
all_sundays(a)