Python学习part8

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类

  1. datetime.now(tz=None) 获取当前的日期时间,输出顺序为:年、月、日、时、分、秒、微秒。
  2. datetime.timestamp() 获取以 1970年1月1日为起点记录的秒数。
  3. 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类

  1. 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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值